Messaging Archives - Aric Levin's Digital Transformation Blog https://aric.isite.dev/category/messaging/ Microsoft Dynamics 365, Power Platform and Azure Thu, 12 May 2022 05:03:22 +0000 en-US hourly 1 https://wordpress.org/?v=6.5.3 Generate Document Templates in CDS using Flow http://aric.isite.dev/flow/post/generate-document-templates-in-cds-using-flow/ Sun, 03 Nov 2019 06:50:00 +0000 https://aric.isite.dev/index.php/2019/11/03/generate-document-templates-in-cds-using-flow/ One of the features in Microsoft Dynamics 365 (and some of the previous versions has been document templates). I wanted to validate some of the logic, if we can automate the creation of a document and sending it as an email using Microsoft Flow, and of course Flow did not fail to perform.

The post Generate Document Templates in CDS using Flow appeared first on Aric Levin's Digital Transformation Blog.

]]>
One of the features in Microsoft Dynamics 365 (and some of the previous versions has been document templates). I wanted to validate some of the logic, if we can automate the creation of a document and sending it as an email using Microsoft Flow, and of course Flow did not fail to perform.

In order to implement this logic, the first thing was to create the actual document in Microsoft Word. This document will be the template that we create, and will convert it to an Adobe PDF and finally Send it in an email message using Office 365. This process is based on a requirement to generate a license and send it as an email to the user when a new license is generated (or updated).

I found a sample template that I could customize in word. I designed the form, and at every place where I wanted Flow to insert a field, I created a Plain Text Content Control, and named it accordingly. The image below shows the completed design of the document in Microsoft Word.

Microsoft Word Document Template

After the document was generated, I uploaded the document to the SharePoint library to be used as a template. This is where flow will retrieve and generate the document from.

My flow starts with the Common Data Service (current environment) connector, using the Create or Update Trigger condition on the Licenses entity. I added an attribute on the Filtering Attributes, so that when the expiration date is modified, the flow will run and generate a new license and send it to the customer.

Common Data Service (current environment) trigger

I then created a Parallel Branch to get the details from the Account and Contact records so that I can use that data in the generated email template, as this is a license that contains the information of the Customer and has individual contact details.

Parallel Branch

I also needed to get the details of the product record, so I added one more CDS action to Get a record on the Product entity.

CDS Get Product Record

In all of the last three actions that I used, I specified the Select Query details to only get the fields that I needed from CDS, as well as limit the amount of data that is visible in Dynamics Content. This makes it easier to find your data.

Now that I have all the data that I need to fill in the template, I will use the Populate a Microsoft Word template action to add all the data to the Word document.

Flow Populate a Microsoft Word template

The word document has three separate fields for the Print Date (Day, Month, Year), so I use the following function to display the partial date in each field:

convertTimeZone(utcnow(),’UTC’,’Eastern Standard Time’,'{FORMAT}’)

Since SharePoint does not have an PDF converter yet (or at least one that is free to use), I used the one that is available in OneDrive for Business to Create and Convert the file to PDF. First we will save the file in a OneDrive folder as shown in the image below, using the Create file on OneDrive action.

Flow Create file on OneDrive

Next, we will convert the file to a pdf using the Convert file to PDF action. The only required parameters are the File Id from the previous step and the Target type which is PDF.

Flow Convert file to PDF (OneDrive)

We can then store the generate file back into SharePoint (as a repository), but this step is not necessary. If we still want to do this, we will pass the SharePoint information, path, filename and the content of the file to save.

Flow Create file in SharePoint (Optional)

The next step is to Send the file. There are various ways to achieve this, and the easiest one is to call the Send an Email (V2) action, which will Send it from Office 365, as shown in the screenshot below.

Flow Send an email

I use the Email field from the Contact record, generate the subject and description with information from the license agreement, and use the OneDrive generated PDF and filename to add as an attachment.

Alternatively, if you would like to use the Email Entity in CDS and Server Side Sync to send the email, that is possible as well. You can get the Sender information from the Users entity (or if you have it in the license record even better). You then have to create an Email record with the details of the email, just as above. If you want to send the attachment with the email, you can create an attachment record and set the activity of the attachment record to the newly created email record.

You would then perform a bound action on the Email Message activity, selecting SendEmail as the Action name and passing the Item id of the email message.

When we run the entire process, we see that the Flow ran successfully.

Testing the Flow execution

A few seconds later, I open my Outlook, and will see that the message has been delivered to my Outlook, with an attachment associated with it.

The final generated email in my Outlook box

If we open the attachment record, we will see the license with information and details populated within.

License Details generated document

Additional information about the new CDS connector is available on the Microsoft Docs website.

https://docs.microsoft.com/en-us/connectors/commondataserviceforapps/

The post Generate Document Templates in CDS using Flow appeared first on Aric Levin's Digital Transformation Blog.

]]>
New Email Features in Dynamics 365 v9 UUI http://aric.isite.dev/dynamics/post/email-features-dynamics-365-uui/ Sun, 07 Jan 2018 22:32:00 +0000 https://aric.isite.dev/index.php/2018/01/07/new-email-features-in-dynamics-365-v9-uui/ With the release of Microsoft Dynamics 365 Customer Engagement (July 2017 Update), Microsoft has finally included new Email functionality in the Unified User Interface. This includes the new email designer, with many enhancements, preview for multiple devices, and well as email tracking. This post will show some of these features and capabilities within this post.

The post New Email Features in Dynamics 365 v9 UUI appeared first on Aric Levin's Digital Transformation Blog.

]]>
With the release of Microsoft Dynamics 365 Customer Engagement (July 2017 Update), Microsoft has finally included new Email functionality in the Unified User Interface. This includes the new email designer, with many enhancements, preview for multiple devices, and well as email tracking. This post will show some of these features and capabilities within this post.

When you open a new email using the UUI interface, the first thing that you will notice, except for maybe the different form layout is the new email editor (shown below).

Dynamics 365 UUI Email Editor

The first thing that we see is that the editor has three tabs, which allow us to navigate from Designer View, to HTML View to Preview Mode.

In the Designer View, we see that there are a lot more features than the default Email Editor that is available in the legacy Email Editor. We have options for importing Email from different source, Find and Replace options, and additional formatting and styling options. This already seems like one of the HTML editors available in the market. You will also see an Undo, Redo and Expand buttons next to the tabs, providing a little more functionality. The important thing to notice is that these are only available during Draft mode of the email, and not after the email has already been sent.

The second tab is the HTML tab. You can design your email message using the designer, and then see the HTML, or you can also paste the HTML from a different appication where you designed the HTML for the email. If your pasted HTML is not formatted, right clicking inside the code window of the HTML editor will popup a menu that will allow formatting of the HTML. The HTML window is shown below:

HTML Editor Code window

Finally, the third tab in the UUI Email editor is the preview tab. This is a really nice feature as the preview is not only for desktop computer, but allows you to see the preview for mobile devices (tablet and phone) in Landscape and Portrait formats. The image below shows the preview tab display of the email editor.

Email Editor Preview window

The next major feature in email for Dynamics 365 July Update in the UUI interface is the tracking ability. The Recipient Activity section, displayed under the attachments window after an email has been sent will display the number of times emails were open, attachments viewed, links clicked and replies. The timeline view in the Recipient Activity keeps detail of each of the summaries.

Recipient Activity View in Email Editor UUI

Hope you will enjoy the changes Microsoft released in the UUI interface and especially in the email editor if it is one of the big features that you company uses.

The post New Email Features in Dynamics 365 v9 UUI appeared first on Aric Levin's Digital Transformation Blog.

]]>
CRM Exchange Sync 3.0 Released http://aric.isite.dev/dynamics/post/exchange-sync-30-released/ Tue, 20 Oct 2015 02:33:00 +0000 https://aric.isite.dev/index.php/2015/10/20/crm-exchange-sync-3-0-released/ Our CRM Exchange Sync tool has just been released, now with additional functionality and support for additional environments.

The post CRM Exchange Sync 3.0 Released appeared first on Aric Levin's Digital Transformation Blog.

]]>
Our CRM Exchange Sync tool has just been released, now with additional functionality and support for additional environments.

The CRM Exchange Sync application adds the capability of synchronizing between Microsoft Dynamics CRM Marketing Lists and Contacts with Exchange Distribution Groups, Mail Contacts and Mail User records. The application retrieves the data from Microsoft Dynamics CRM Marketing Lists (both static or dynamic), and adds the members of the lists to Microsoft Exchange. If the members already exist in Exchange, the application can update them.

Our CRM Exchange Sync tool has just been released, now with additional functionality and support for additional environments.

The CRM Exchange Sync application adds the capability of synchronizing between Microsoft Dynamics CRM Marketing Lists and Contacts with Exchange Distribution Groups, Mail Contacts and Mail User records. The application retrieves the data from Microsoft Dynamics CRM Marketing Lists (both static or dynamic), and adds the members of the lists to Microsoft Exchange. If the members already exist in Exchange, the application can update them.

From the Microsoft Dynamics CRM side, the application supports CRM 2011, CRM 2013, CRM 2015 and Microsoft Dynamics CRM Online. On the Exchange Server side, the application support Microsoft Exchange 2010 and Microsoft Exchange 2013, as well as Microsoft Exchange Online (via an Office 365 subscription). Microsoft Exchange 2007 (and the use of Powershell 1.0) has been deprecated.

The application support features such as Automatic Synchronization, Field Mapping and Custom entity relationships.

It is available for a 30-day trial.

The post CRM Exchange Sync 3.0 Released appeared first on Aric Levin's Digital Transformation Blog.

]]>
CRM Exchange Sync 2.0 is Microsoft Platform Ready http://aric.isite.dev/dynamics/post/exchage_sync_v2_platform_ready/ Fri, 11 Jan 2013 03:35:00 +0000 https://aric.isite.dev/index.php/2013/01/11/crm-exchange-sync-2-0-is-microsoft-platform-ready/ We have just released our latest version of the CRM to Exchange Synchronization application.

The CRM to Exchange Sync app provides the ability to synchronize between CRM marketing lists and Exchange Distribution Groups.
The application retrieves all the members of a marketing list, either static or dynamic and add the new distribution group members in exchange.

The post CRM Exchange Sync 2.0 is Microsoft Platform Ready appeared first on Aric Levin's Digital Transformation Blog.

]]>
We have just released our latest version of the CRM to Exchange Synchronization application.

The CRM to Exchange Sync app provides the ability to synchronize between CRM marketing lists and Exchange Distribution Groups.
The application retrieves all the members of a marketing list, either static or dynamic and add the new distribution group members in exchange.

We have just released our latest version of the CRM to Exchange Synchronization application.

The CRM to Exchange Sync app provides the ability to synchronize between CRM marketing lists and Exchange Distribution Groups.
The application retrieves all the members of a marketing list, either static or dynamic and add the new distribution group members in exchange.

Existing members can be modified with updated information from Microsoft Dynamics CRM.

The new version includes the following features:

  • Integration with Microsoft Dynamics CRM Online
  • Asynchronous Processing (as a Windows Service) of the Exchange Sync app
  • Support for synchronizing with any CRM Contact related entity

In addition, the application has passed the Microsoft Platform Ready Windows 2008 Server R2 and Dynamics CRM 2011 Tests.

The solution is available as a trial for 30 days.

The post CRM Exchange Sync 2.0 is Microsoft Platform Ready appeared first on Aric Levin's Digital Transformation Blog.

]]>
One-Way Sync between Outlook and CRM http://aric.isite.dev/dynamics/post/one_way_sync_between_outlook_and_crm/ Fri, 07 Dec 2012 21:27:00 +0000 https://aric.isite.dev/index.php/2012/12/07/one-way-sync-between-outlook-and-crm/ We recently got a request from a client that wanted to prevent modifications of Contacts from the Outlook Client back to CRM.
We went back and forth trying to implement this with security roles and other options, but none of the solutions were perfect.

The post One-Way Sync between Outlook and CRM appeared first on Aric Levin's Digital Transformation Blog.

]]>
We recently got a request from a client that wanted to prevent modifications of Contacts from the Outlook Client back to CRM.
We went back and forth trying to implement this with security roles and other options, but none of the solutions were perfect.

Finally we decided to implement this using Plugins.
The solution was to allow Outlook to make the changes, but as soon as they are made, revert them back to their original values.

We recently got a request from a client that wanted to prevent modifications of Contacts from the Outlook Client back to CRM.
We went back and forth trying to implement this with security roles and other options, but none of the solutions were perfect.

Finally we decided to implement this using Plugins.
The solution was to allow Outlook to make the changes, but as soon as they are made, revert them back to their original values.

There were four parts to the solution:

Step 1 – Creation of a temporary entity to hold the values that are modified by the Outlook Contact record.

The first step is to create a holding tank or staging entity that will store the changes that were performed to the Outlook Entity.
This is a simple entity that will have the name of the field, the original value and the changed value. Those values will be updated in the entity by the Contact Update Pre-Operation Plugin.

The screenshot below shows the Sync record portion of with the modifications that were made in an Outlook record.

Step 2 – Creation of a revision or timestamp field in the CRM Contact record.

The next step is to create a field in the CRM Contact entity that will always be modified.
You can create a revision field or a timestamp/date time field that you will update in JavaScript when the form is being loaded or saved.

If you use a revision field, make sure to increment the value of the field before the form is saved.
This will tell the plugin there were changes in the form that were called from the CRM form and not from Outlook.

If you use other methods to make updates to your CRM Contact form besides the CRM Form and Outlook, then make sure to update the code in those CRM Update method calls to also increment the revision or modify the timestamp.

Step 3 – Creation of a Contact Update Pre-Operation Plugin Message to store the changes done by Outlook

The next step is the creation of the first Plugin Message. This message will be called before the changes are saved to the Outlook Contact record.
In this step we will first check if the Plugin was called from CRM or Outlook.
If it was called from CRM, we will not do any processing, however if it was called from Outlook we will start processing the changes.

The GetInputParams method will retrieve the existing field values of the contact record in CRM.
It will then loop through all of the fields that were modified, and for each field that was modified create a SyncField in CRM with the name of the field, the existing value and the requested value.

Our application also sends an email out to an administrator that these changes were required.

Step 4 – Creation of a Contact Update Post-Operation Plugin Message to revert the values back

The last step retrieves the records that were temporarily stored in the SyncFields entity and modifies the Contact entity with the values that existed before the changes that were initiated from Outlook.

Step 5 – Optional approval process

Step 5 is an optional state that will call a Plugin on the Outlook Sync entity that will accept the changes that originated from Outlook.

If you would like a demo of the One-Way Sync process (or solution), contact us here.

The post One-Way Sync between Outlook and CRM appeared first on Aric Levin's Digital Transformation Blog.

]]>
Outlook 2013 Crashes when sending e-mail http://aric.isite.dev/messaging/post/outlook2013_crashes_when_sending_email/ Tue, 30 Oct 2012 03:49:00 +0000 https://aric.isite.dev/index.php/2012/10/30/outlook-2013-crashes-when-sending-e-mail/ This is a known issues and happens usually when new products get released.
The Anti-Virus email scanner add-in for the new release of the e-mail program is not supported and thus prevents e-mails from going out and crashes the new application.

The post Outlook 2013 Crashes when sending e-mail appeared first on Aric Levin's Digital Transformation Blog.

]]>
This is a known issues and happens usually when new products get released.
The Anti-Virus email scanner add-in for the new release of the e-mail program is not supported and thus prevents e-mails from going out and crashes the new application.

This is a known issues and happens usually when new products get released.
The Anti-Virus email scanner add-in for the new release of the e-mail program is not supported and thus prevents e-mails from going out and crashes the new application.

The solution: disable the Anti-Virus add-in in Microsoft Outlook 2013.

The post Outlook 2013 Crashes when sending e-mail appeared first on Aric Levin's Digital Transformation Blog.

]]>
Office 2013, SharePoint 2013 and Exchange 2013 Released to Manufacturing http://aric.isite.dev/sharepoint/post/office_sharepoint_exchange_2013_released/ Wed, 24 Oct 2012 21:46:00 +0000 https://aric.isite.dev/index.php/2012/10/24/office-2013-sharepoint-2013-and-exchange-2013-released-to-manufacturing/ Microsoft Office 2013 along with the other branded 2013 applications and server products have been release to manufacturing and are now available for download from the MSDN, Technet or Microsoft Partner web site.

The post Office 2013, SharePoint 2013 and Exchange 2013 Released to Manufacturing appeared first on Aric Levin's Digital Transformation Blog.

]]>
Microsoft Office 2013 along with the other branded 2013 applications and server products have been release to manufacturing and are now available for download from the MSDN, Technet or Microsoft Partner web site.

Microsoft Office 2013 along with the other branded 2013 applications and server products have been release to manufacturing and are now available for download from the MSDN, Technet or Microsoft Partner web site.

According to Microsoft, the 2013-branded products are expected to hit “general availability” in the first quarter of 2013. Microsoft currently has a promotional offer for those buying Office 2010 to receive the upgrade to Office 2013 at no charge.

The post Office 2013, SharePoint 2013 and Exchange 2013 Released to Manufacturing appeared first on Aric Levin's Digital Transformation Blog.

]]>
CRM Exchange Sync Trial Version now available http://aric.isite.dev/dynamics/post/exchangesync_trial_available/ Sun, 16 Sep 2012 18:42:00 +0000 https://aric.isite.dev/index.php/2012/09/16/crm-exchange-sync-trial-version-now-available/ On Friday, September 14, we have released our latest version of the CRM to Exchange Synchronization application. The latest release, now also available for a 30-day trial, includes additional new features as well as easier configuration, multi-culture support logging capabilities and more. 

The post CRM Exchange Sync Trial Version now available appeared first on Aric Levin's Digital Transformation Blog.

]]>
On Friday, September 14, we have released our latest version of the CRM to Exchange Synchronization application. The latest release, now also available for a 30-day trial, includes additional new features as well as easier configuration, multi-culture support logging capabilities and more.

On Friday, September 14, we have released our latest version of the CRM to Exchange Synchronization application.
The latest release, now also available for a 30-day trial, includes additional new features as well as easier configuration, multi-culture support logging capabilities and more. 

For more information about the CRM to Exchange Sync application or to request a trial version, click here.

The post CRM Exchange Sync Trial Version now available appeared first on Aric Levin's Digital Transformation Blog.

]]>
Installing CRM for Outlook Client in Terminal Services environment http://aric.isite.dev/dynamics/post/installing_crm_for_outlook_client_in_terminal_services/ Sun, 08 Aug 2010 18:15:00 +0000 https://aric.isite.dev/index.php/2010/08/08/installing-crm-for-outlook-client-in-terminal-services-environment/ When trying to install the Microsoft Dynamics CRM for Outlook client on a Terminal Services computer, the following error is received:
"Microsoft Dynamics CRM 4 for Outlook cannot be installed on a computer where Microsoft Exchange Server versions prior to Exchange Server 2007 are installed."

The post Installing CRM for Outlook Client in Terminal Services environment appeared first on Aric Levin's Digital Transformation Blog.

]]>
When trying to install the Microsoft Dynamics CRM for Outlook client on a Terminal Services computer, the following error is received:
“Microsoft Dynamics CRM 4 for Outlook cannot be installed on a computer where Microsoft Exchange Server versions prior to Exchange Server 2007 are installed.”

When trying to install the Microsoft Dynamics CRM for Outlook client on a Terminal Services computer, the following error is received:

“Microsoft Dynamics CRM 4 for Outlook cannot be installed on a computer where Microsoft Exchange Server versions prior to Exchange Server 2007 are installed.”

This error can be remedied by modified a registry key under the Exchange hive. To modify the key following the steps below:

  • Open the Registry Editor (run regedit from command prompt)
  • Backup (export) everything under the following registry key: HKEY_LOCAL_MACHINESOFTWAREMicrosoftExchange
  • Delete the Key
  • Install the Microsoft Dynamics CRM  4 for Outlook Client
  • Configure the Microsoft Dynamics CRM  4 for Outlook Client
  • Re-install the key*

  * Note: Re-installing the key will prevent new users from configuring their Microsoft Dynamics for Outlook client with CRM the first time they log in. Re-installing the key should be done after all required users have configured their Microsoft Dynamics CRM for Outlook Client.

The post Installing CRM for Outlook Client in Terminal Services environment appeared first on Aric Levin's Digital Transformation Blog.

]]>
Executing Powershell Commands against Exchange 2007 and Exchange 2010 http://aric.isite.dev/development/post/executing-powershell-commands-against-exchange-2007-and-exchange-2010/ Wed, 30 Jun 2010 03:09:00 +0000 https://aric.isite.dev/index.php/2010/06/30/executing-powershell-commands-against-exchange-2007-and-exchange-2010/ The System.Management.Automation assembly allows the exeuction of Powershell commands against Exchange server.
Although, it would seem that the same code would be able to run for both of the versions of Exchange Server, two different codebases are required. The reason for this is that Exchange 2007 (SP1) supports only local Powershell, and Exchange 2010 uses remote Powershell.

The post Executing Powershell Commands against Exchange 2007 and Exchange 2010 appeared first on Aric Levin's Digital Transformation Blog.

]]>
The System.Management.Automation assembly allows the exeuction of Powershell commands against Exchange server.
Although, it would seem that the same code would be able to run for both of the versions of Exchange Server, two different codebases are required. The reason for this is that Exchange 2007 (SP1) supports only local Powershell, and Exchange 2010 uses remote Powershell.

The System.Management.Automation assembly allows the exeuction of Powershell commands against Exchange server.

Although, it would seem that the same code would be able to run for both of the versions of Exchange Server, two different codebases are required. The reason for this is that Exchange 2007 (SP1) supports only local powershell, and Exchange 2010 uses remote powershell.

        private void ConnectToExchange2007()
        {
            RunspaceConfiguration rc = RunspaceConfiguration.Create();
            PSSnapInException ex = null;
            PSSnapInInfo info = rc.AddPSSnapIn("Microsoft.Exchange.Management.PowerShell.Admin", out ex);
            rs = RunspaceFactory.CreateRunspace(rc);
            Pipeline pl = rs.CreatePipeline();

            Command cmd = new Command("get-distributiongroup");
            pl.Commands.Add(cmd);
            ICollection<PSObject> results = pl.Invoke();
        }

        private const string SHELL_URI = "http://schemas.microsoft.com/powershell/Microsoft.Exchange";
        private void ConnectToExchange2010()
        {
            WSManConnectionInfo connectionInfo = GetConnectionInfo(exchangeServer, userName, password);
            Runspace rs = RunspaceFactory.CreateRunspace(connectionInfo);
            PowerShell psh = PowerShell.Create();
            psh.Runspace = rs;
            rs.Open();

            psh.AddCommand("get-distributiongroup");
            Collection<PSObject> results = psh.Invoke();
        }

        private WSManConnectionInfo GetConnectionInfo(string servername, string username, string password)
        {
            System.Uri serveruri = new Uri(String.Format("http://{0}/powershell?serializationLevel=Full", servername));
            PSCredential creds;

            if (username.Length > 0 && password.Length > 0)
            {
                System.Security.SecureString securePassword = new System.Security.SecureString();
                foreach (char c in password.ToCharArray())
                {
                    securePassword.AppendChar(c);
                }
                creds = new PSCredential(username, securePassword);
            }
            else
            {
                // Use Windows Authentication
                creds = (PSCredential)null;
            }

            WSManConnectionInfo connectionInfo = new WSManConnectionInfo(serveruri, SHELL_URI, creds);
            return connectionInfo;
        }

The post Executing Powershell Commands against Exchange 2007 and Exchange 2010 appeared first on Aric Levin's Digital Transformation Blog.

]]>