Tag Archives: Microsoft Dynamics CRM Online
WebResource Dependencies in Dynamics 365 v 9.0
Introduction In earlier version of dynamics CRM, there were no way to define dependencies of web resource. Due to this, it is possible that someone delete/remove WebResource from solution and this may create an instability in behavior of CRM functionality. But now in dynamics 365 version 9.0. It has ability to define dependencies of WebResource. Description: Let’s consider below example. I have 3 web resources- new_test.js new_test2js new_test3.js Here new_test3.js is dependent on new_test.js and new_test2.js. in that case we need to define dependencies. Once dependencies are defined it will not allow to delete WebResource. Add Dependencies: If you want to add dependencies in WebResource, you can follow below steps Open WebResource which is dependent on other WebResource Select dependencies tab as shown and click on add Select WebResources that are required to present Save and publish WebResource. If anyone accidentally tries to delete WebResource. He will receive alert message. It will list down where this file is needed Conclusion: By following these steps, you can create WebResource and define dependency of WebResources.
CRM For Outlook
Why CRM For Outlook? We use Outlook as a one-stop solution for our day-to-day communication. Your Dynamics CRM can be integrated with your Outlook using CRM For Outlook. CRM For Outlook is a lightweight client that gets set up on a client’s computer and is connected to your organization’s CRM by authenticating your Dynamics CRM credentials. Once setup, you can straight way carry out basic Dynamics CRM operations right from your Outlook itself! Create Accounts, Contacts, Opportunities etc. You can even track emails to an Account or a Contact, even an Opportunity. Get CRM For Outlook You can get CRM for Outlook from the below link: https://www.microsoft.com/en-us/download/details.aspx?id=45015 Also, in your CRM, you can also see a yellow strip on top of the window saying Get CRM For Outlook as shown below. Setting Up CRM For Outlook Once setup, you can access the Configuration Wizard application from your Windows’ Start Menu. To connect to your CRM Online organization, simply select CRM Online in the drop-down option as shown below and click Connect: Alternatively, this can even be setup from the Outlook itself once the CRM For Outlook client is installed. Simply navigate to the CRM tab on the extreme right And click Configure Microsoft Dynamics CRM for Outlook. Next, you can select CRM Online from the drop-down as shown in the above dialog box. Next, the CRM Online will ask you your CRM credentials. On Signing In, the progress will be shown and your CRM Organization will be integrated with your Outlook. Once setup, the Configuration Wizard will show the details of the added organization and will show the current selected one as the Synchronizing Organization. Note: The Synchronization method used can also be Server-Side Synchronization. That’s it! Your organization has been added to your Outlook. You may now open your Outlook and see your Organization appear in the left pane as shown below. Access Organizational Data in Outlook You can now see that your Organization has been added on the left pane of Outlook where you can navigate between different CRM Folders. You can simply navigate across your CRM folders and select different records (1). The View (2) as seen in the sample screenshot below is the one available in CRM for your records. Selecting a particular record will show it’s details in the reading pane below the view (3). Track an Item in CRM You can track Emails, Appointments, Contact or even Tasks from your Outlook to your CRM. To track in Email in CRM, simply select an Email and click on Track Button You can also Set Regarding to this Email in CRM. It will then appear in Activities of the Set Regarding’s record. Same as Tracking an item, you can choose to Set Regarding for an Email as shown below. On clicking Set Regarding, Outlook will pull up records from CRM and let you choose which type or record and which record would you like to Set Regarding against for the selected item. Once the Set Regarding is set, this information will appear in the Microsoft Dynamics CRM section below the email as shown below. As shown in the above picture, I chose City Power & Light (sample) account to Set Regarding for this Email. This email will then appear under the said Account under Activities. With CRM For Outlook, you can Create CRM records from within Outlook. Track Emails, Appointments, Tasks and Contacts (People) in CRM directly Set Regarding / Set Parent for Contacts. Once a record is tracked in CRM from Outlook, synchronization can happen between CRM and Outlook for that particular record. Set personal options for how the data should be synchronized between Outlook and CRM Hope this was helpful! I’ll keep you posted on deeper technical features that CRM For Outlook offers.
WordPress Gravity Form – Microsoft CRM Integration
This blog is about integration of Gravity Form plugin with the Microsoft Dynamics CRM. This part contains the WordPress end implementation. Gravity Forms is an advanced contact form plugin for WordPress powered websites and is used by millions of sites. Gravity form simply allows you to select your fields, configure your options and easily embed forms on your site using the built-in tools. We will implement Gravity form on website so that the values submitted in it will directly go to CRM as lead. STEPS: Firstly, install the Gravity form, which you can purchase depending on your requirement. [Link : http://www.gravityforms.com/purchase-gravity-forms/] Set up your fields as per your requirement and note the field ID. Also call the form wherever you want to use (page editor or php template or widget). Now, you have to use the Gravity Form’s gform_after_submission function along with the field ID’s to pass the parameters. Once you are done with the form implementation, next step is to write code for passing the parameters in functions.php file of current theme. add_action( ‘gform_after_submission’, ‘post_to_third_party’, 10, 2 ); function post_to_third_party( $entry, $form ) { $post_url = ‘http://thirdparty.com’; $body = array( ‘first_name’ => rgar( $entry, ‘1.3’ ), ‘last_name’ => rgar( $entry, ‘1.6’ ), ‘message’ => rgar( $entry, ‘3’ ), ); $request = new WP_Http(); $response = $request->post( $post_url, array( ‘body’ => $body ) ); } Here: post_url = URL of the page where your web service is written/called. first_name (or last_name or message) = Name of parameters used in web service where values will be stored. You can create any number of fields and pass their values. ($entry, ‘3’) = Here 3 is the id of the field in gravity form, whose value will be passed in the ‘message’ parameter. For name, we have two ID’s as it has first name and second name fields. gform_after_submission = Function executed at the end of the form submission process (after form validation, notification, and entry creation). If you want to implement this for any particular form, then you can use “gform_after_submission_FORM-ID” like gform_after_submission_2. Now the values of the fields filled in Gravity Form will be passed to web service and then it will be stored as Lead in CRM. We recommend you to use captcha with form to avoid spam entries in CRM. Reference: https://www.gravityhelp.com/documentation/article/gform_after_submission/
CRM data migration best practices
This blog is an effort to note down the mistakes made and lessons learned after couple of data migrations completed successfully for our clients. If you are moving from CRM on premise or any platform to CRM Online, you will need to migrate your data. First, determine which entities are being used and needs to be migrated. The order of migration is important as field(s) of an entity can be related to other entity and used on the entity(s) form. Some of the points to consider while migration: Unique identifier in CRM To uniquely identify a record in CRM, use the guid of the record Mapping GUID of the source to target helps in identifying records in source & target Created On date Created date of source record can be mapped to overridecreatedon field in target It can only be inserted once, cannot be modified on update of records Calculated fields Avoid mapping calculated fields to avoid data mismatch during migration. CRM will automatically calculate them on data load of other fields used in calculation Users There are chances that users in your system who have been deactivated own records, such as activities. For assigning a record to any user, the user must be active So if you have a former employee and you want to import activities and assign them to that user, you will need to temporarily have his user record active in the new system. This means creating records for users who are no longer in the organization You can create users without sending an invitation to that address Assign records to the user and then disable that user record Opportunities When importing opportunities, the actualclosedate will be set to today’s date even if you try to load another date to that field. The recommendation is after you update the status of the closed opportunities to Closed, run an update for opportunities updating the actualclosedate to the correct date Activities Individual activity entities like email, appointment, phone call or task should be migrated individually Initially, keep the status of all activities ‘Open’. Once you update all fields and parties of the activities, close them at the end of the migration since once closed those activities cannot be updated If the owner of the account/contact/lead associated with the activities is updated, it may change the owner of activities. To avoid this, either disable parental to cascading relationship (CRM setting) or do not map the owner of the parent on update Always try to run activities in batches as there can be lots of data if your system is too old Activity parties Consider partytypecode and activitytypecode in field properties. If ispartydeleted = -1 that means party associated with the activity is deleted. Hence cannot be migrated If one of the recipients is not in CRM as a contact, account, or user, it will create an activity party not linked to any partyid in CRM. These records cannot be imported Set up your activityparty dts source query to inner join activitypointer to filter out any activityparties linked to an activity that was deleted from the system This will cut the list down and save much time Connections Connection roles & Association should be present Select record types ‘All’ (not a specific record type) to avoid mismatch. Connection creates its own connection so there are 2 connection records created while migration. To avoid duplicates, Handle in CRM to delete the duplicates based on connection 1-role 1 & connection 2-role 2 combinationOR Design a package to delete the duplicate records if it is already created once Keeping these best practices in mind, you can quickly migrate your data in CRM Online.
CRM Online Migration using SSIS
In this Blog we will walk-through the migration of Data from Microsoft Dynamics CRM (Source) to Microsoft Dynamics CRM (Target) 2015 using SSIS. We would be using SSIS Integration Toolkit for Microsoft Dynamic CRM by Kingsway Soft. We would be referring SSIS Integration Toolkit for Microsoft Dynamics CRM by Kingsway Soft as Kingsway-SSIS Toolkit. This toolkit provides 4 major components for Integration and migration of Data. Microsoft Dynamics CRM Connection Manager Microsoft Dynamics CRM Source Component Microsoft Dynamics CRM Destination Component Microsoft Dynamics CRM OptionSet Mapping Component Pre-Requites: This Toolkit is supported on below versions of Microsoft Dynamics CRM and Microsoft SQL server. .NET Framework 3.5 SP1 Microsoft Dynamics CRM Microsoft Dynamics CRM Online Microsoft Dynamics CRM Server 2015 Microsoft Dynamics CRM Server 2013 Microsoft Dynamics CRM Server 2011 Microsoft Dynamics CRM Server 4.0 Microsoft Dynamics CRM Server 3.0 SQL Server Microsoft SQL Server 2014 (since v5.0) Microsoft SQL Server 2012 Microsoft SQL Server 2008 R2 Microsoft SQL Server 2008 Microsoft SQL Server 2005 Other Tools that provide the same integration as Kingsway Soft are as below: Cozyroc.com http://cozyroc.com/ssis/dynamics-crm-source http://cozyroc.com/ssis/dynamics-crm-destination PragmaticWorks.com https://pragmaticworks.com/Products/Task%20Factory/Features/DynamicsCRMSource https://pragmaticworks.com/Products/Task%20Factory/Features/DynamicsCRMDestination Work Flow: After Installation of Toolkit, below options are visible in SSIS Toolbox in SSDT (SQL Server Data Tools). A new connection can be added in Connection Manager as below for DynamicsCRM. Information needs to be provided to connect to CRM server as below. (http://www.kingswaysoft.com/products/ssis-integration-toolkit-for-microsoft-dynamics-crm/help-manual) The Authentication Type option allows us to specify the type of CRM server (deployment) and what authentication is used. There are four options available. Active Directory (On-Premise) Federation (IFD, On-Premise or Partner-hosted) Online Federation (Office 365 CRM Online) LiveId (Legacy CRM Online) The CRM discovery server can be found in the CRM system from Settings → Customizations → Developer Resources after logging in to your CRM application. Service endpoint gets auto populated. You can specify the Timeout in seconds. Default is 2 minutes. On providing the User Name and Password, Organization gets populated in drop down list. Select the Organization name and test the connection. Once the connection is successful. Click Ok. If you connectivity is through Proxy server you can specify the connection details for the same in the second tab Advanced Settings. It is recommended to have the box ticked-on for Retry on Intermittent Errors. Follow the same steps as above for creating Destination connection for Target CRM where the data is to be migrated. Launch SSDT (SQL Server Data Tools and select Integration Project and drag and drop the Source and the Target. Here in this example we have not performed any data or file transformations. It’s simply connecting to CRM source and pushing the data to Target CRM based on mappings specified for entities as well as Text Lookups specified if any. In this example we are migrating Entity – Accounts. CRM source Connection name in this example is named as “Source” and CRM Destination connection as “Target”. Using this toolkit, in the columns Tab, Most of the columns gets auto-mapped. Verify the mappings, specifically the ones with Text Lookup. Action gives the options like Create, Update, Delete, Upsert, Merge, Convert and Execute Workflow. We need to select Create if we are simply migrating the data into target CRM (History Load). Select the Destination entity. Upsert Settings are applicable only if Upsert Action is selected. Choose Target Fields. Target Entity gets auto populated. Using the drop down list select Target text/ Integer Field. Advanced Options can be left unselected. Cache strategy needs to be selected with Performance and size of data that needs to be migrated. (This is similar to Cache mode in SSIS look-up transforms). Now the package is ready to be executed. Execute the package and verify by logging into CRM, all the fields are populated. Note: As a general practise during SSIS package creation, sequence containers are used for each entities that are to be migrated. Only one source and destination CRM connection needs to be created. Benefits of Parallelism can be used for performance benefits as well as individual tasks (for single entity) can be selected in the data flow to be executed, with others as disabled.