DEPRECATED | Dynamics CRM Upsert

On this Page

Snap type:Write
Description:

This Snap provides functionality to update an existing record or insert a new record in Microsoft Dynamics CRM based on the input document field values that match the Dynamics CRM object schema field names.

ETL Transformations & Data Flow

This Snap enables the following ETL operations/flows:

  1. Extract data from the upstream Snap containing the data for updating or creating the Dynamics CRM object(s)
  2. Transform the input document into a SnapLogic friendly JSON Document
  3. Load the data into the Dynamics CRM Update Snap to update or create the CRM object(s)

  • Expected upstream Snaps: Mapper Snap
  • Expected downstream Snaps: None

Input & Output

  • InputFields of CRM object to be updated or created. It is optional to provide either the ID of the CRM object or query. If ID or query is provided, then the corresponding record is updated, else new record(s) will be created. The typical configuration is to have an upstream Snap that contains the mandatory fields for updating the existing CRM object. Mapper Snap is a preferred upstream Snap as it populates the input schema for the selected Dynamics CRM Object Type.

  • Output: A document with the result set. If the update is successful, then the output document will contains the Guid of the updated or inserted CRM object.


Prerequisites:None
Limitations and Known Issues:
  • Works in Ultra Task Pipelines.
  • When updating or creating more than one CRM Object in batches, the Batch Size range is from 1 to 1000. This is a limitation by Microsoft Dynamics CRM.


Configurations:

Account and Access

This Snap uses account references created on the Accounts page of SnapLogic Manager to handle access to this endpoint. See Dynamics CRM Account for information on setting up this type of account.

Views

InputThis Snap has exactly one document input view.
OutputThis Snap has exactly one document output view.
ErrorThis Snap has at most one document error view and produces zero or more documents in the view.
Troubleshooting:

For trouble shooting purpose, try performing a similar operation directly on the Dynamics CRM User Interface and collect the necessary data. Compare the data used in the User Interface with the SnapLogic pipelines to see if there are any inconsistencies.

In order to view the Object ID of the Dynamics CRM Object from the User Interface, the recommended approach is to install a browser plug-in. The plug-in will be available in the browser's Developer tools console. Contact your administrator for the preferred plug-in.

Settings

Label

Required. The name for the Snap. You can modify this to be more specific, especially if you have more than one of the same Snap in your pipeline.

Object type

Required. Microsoft Dynamics CRM Object Type. For example, account.

Default Value: account

Imp. for adding activity type entity

When configuring activity type entities, such as Task, PhoneCall, Fax, etc., if the parameter regardingobjectid is also being added then map a logical name as well, this can be done by adding the parameter regardingobjectname. If this is not done, the Snap will throw an exception.

IDOptional. Guid of the Dynamics CRM Object. This field is suggestible.
Related object type

Microsoft Dynamics CRM Object Type of the Object to be related to.

Default Value: None

Related object ID

Guid of the related Microsoft Dynamics CRM Object.

Default Value: None

Related object relationship

Relationship Schema between the Microsoft Dynamics Object to be created with the related Object.

Default Value: None

Upsert Multiple ObjectsRequired. When enabled, the Snap updates multiple records per object type if the query returns more than one CRM record
Upsert Query Fields

Optional. Query fields to use to upsert the corresponding CRM records. Click + to add multiple fields.

Default value: None

Example: lastname

The query separates multiple fields with the AND operator. 

Batch size

Number of records processed in each request. Batch size can range from 1 to 1000.

Default Value: 200

Snap Execution

Select one of the three modes in which the Snap executes. Available options are:

  • Validate & Execute: Performs limited execution of the Snap, and generates a data preview during Pipeline validation. Subsequently, performs full execution of the Snap (unlimited records) during Pipeline runtime.
  • Execute only: Performs full execution of the Snap during Pipeline execution without generating preview data.
  • Disabled: Disables the Snap and all Snaps that are downstream from it.

Basic Use Cases


 CRM Upsert using the provided ID

In this pipeline, the Dynamics CRM Update Snap updates the Object type, contact by providing the ID manually.


 CRM Upsert using the upsert query from the upstream

In this pipeline, the Dynamics CRM Update Snap updates the Object type, contact by providing the ID manually.




Typical Snap Configurations


The typical Snap configurations are: 

  • Without Expression: Directly passing the required ID to the CRM Upsert Snap.

In this pipeline, the Dynamics CRM Upsert Snap updates the Object type, contact by providing the ID manually.

The Mapper Snaps passes the values to be updated to the object.


  • With Expressions


The below pipeline uses the values passed via the upstream and the pipeline parameters. Here, the Mapper Snap passes the values for the expression using the pipeline parameters. The Dynamics CRM Snap uses the values passed from both, the upstream and the pipeline parameters.

    • Values from an upstream Snap: The Mapper Snap passes the values to be updated for the object.
    •  Pipeline Parameter: Pipeline parameter set to pass the required values for ID and City.  The CRM Upsert Snap uses the value _ID, and the Mapper Snap used the key value _City for the Object type to be updated.

 

 Pipeline parameter set to pass the required values for ID and City.  

  

The expression value for the _City is passed for the target output schema path using the Mapper Snap. Note the _City key value is used from the pipeline parameter values.


The Dynamics CRM Upsert Snap upserts the Object type with ID value using the Pipeline parameters.


The output preview from the pipeline execution:


 


Another Use Case with expression enabled:

 CRM Upsert with ID expression enabled

In this pipeline, the Dynamics CRM Upsert Snap updates the CRM Object with list of IDs as provided by the upstream CSV Generator Snap and the fields to be updated via the Mapper Snap.

The IDs as passed by the CSV Generator Snap:


The Mapper Snap provides the field to be updated with the value. Pass through is enabled to pass through the "leadid" variable provided in the upstream Snap, CSV Generator


The Dynamics CRM Snap upserts the Object type, lead with the provided ID as taken from the upstream:


The successful execution of the pipeline displays the below output:

Upsert Multiple Fields

This example demonstrates how multiple fields can be upserted using the Dynamics 365 For Sales Upsert Snap.

Download this Pipeline.

 Click here to expand...

This Pipeline is composed of three Snaps:

  • JSON Generator: Supplies the necessary account information along with the target fields and their corresponding values as a JSON file.
  • Mapper: Maps the fields in the input with the fields in the account.
  • Dynamics 365 For Sales Upsert: Upserts the fields into the account.

The input contains the fields that are to be upserted $creditonhold, $name, and $address1_city along with the account number ($accountnumber) in which these values are inserted. The output preview of the JSON Generator Snap is as follows:

These values are mapped to the corresponding fields in the Dynamics 365 For Sales account using the Mapper Snap:

The output preview from the Mapper Snap is shown below:

The Dynamics 365 For Sales Upsert Snap is configured to upsert multiple fields ($creditonhold, and $name) as shown below:

Upon successful execution, these fields are upserted into the Dynamics 365 For Sales account as shown in the Snap output preview below:

Download this Pipeline.

Advanced Use Case 


The following describes a pipeline, with a broader business logic involving multiple ETL transformations, that shows how typically in an enterprise environment, the CRM Upsert functionality is used. Download the pipelines from the Downloads lnks below.

This pipeline reads and moves several documents from the Salesforce platform to the Dynamics CRM platform. The validation statistics displays the number of documents moved, in this case. using the CRM insert functionality. Note that 12 documents are read from the Salesforce, mapped and inserted them to the Dynamics CRM instance.  


  1. Extract: The Salesforce Read Snap reads the records form an Object type.  

  2. Transform: The Mapper Snap maps the metadata from the input schema (Salesforce) to the output schema (Dynamics CRM)

  3. Load: The CRM Upsert Snap inserts the records into the required Object. 



Downloads

Important steps to successfully reuse Pipelines

  1. Download and import the Pipeline into SnapLogic.
  2. Configure Snap accounts as applicable.
  3. Provide Pipeline parameters as applicable.

  File Modified

File SF-CRM Advanced Use Case_2017_07_25.slp

Aug 07, 2017 by Kalpana Malladi

File SF_CRM Upsert_1_2017_07_25.slp

Aug 07, 2017 by Kalpana Malladi

File Dynamics_365_Multi_Upsert.slp

Apr 08, 2019 by Kalpana Malladi

File Use_Case_SF_CRM_Upsert.slp

Feb 28, 2022 by Kalpana Malladi

File Advanced_Use_Case_SF_CRM_.slp

Feb 28, 2022 by Kalpana Malladi


Snap Pack History

 Click to view/expand
ReleaseSnap Pack VersionDateTypeUpdates
4.29main15993 StableUpgraded with the latest SnapLogic Platform release.
4.28main14627 StableUpgraded with the latest SnapLogic Platform release.
4.27main12833 StableUpgraded with the latest SnapLogic Platform release.
4.26main11181 StableUpgraded with the latest SnapLogic Platform release.
4.25 Patch425patches10880 LatestImproved the Dynamics 365 for Sales Upsert Snap by caching the parameter lookups values.
4.25425patches9813 LatestFixed an issue with Dynamics CRM Search Snap where the Snap returns duplicate records when reading results from multiple pages.
4.25main9554
 
Stable

Upgraded with the latest SnapLogic Platform release.

4.24main8556
StableUpgraded with the latest SnapLogic Platform release.
4.23main7430
 
StableUpgraded with the latest SnapLogic Platform release.
4.22main6403
 
StableUpgraded with the latest SnapLogic Platform release.
4.21snapsmrc542

 

StableUpgraded with the latest SnapLogic Platform release.
4.20snapsmrc535
 
StableUpgraded with the latest SnapLogic Platform release.
4.19 Patch dynamicscrm8531 Latest
  • Fixes the following:

    • Dynamics CRM Upsert Snap to process GUID format.
    • Dynamics CRM Search Snap to parse additional object schema types.
4.19snaprsmrc528
 
StableUpgraded with the latest SnapLogic Platform release.
4.18snapsmrc523
 
StableUpgraded with the latest SnapLogic Platform release.
4.17ALL7402
 
Latest

Pushed automatic rebuild of the latest version of each Snap Pack to SnapLogic UAT and Elastic servers.

4.17snapsmrc515
 
Latest

Added the Snap Execution field to all Standard-mode Snaps. In some Snaps, this field replaces the existing Execute during preview check box.

4.16snapsmrc508
 
StableUpgraded with the latest SnapLogic Platform release.
4.15snapsmrc500
 
StableUpgraded with the latest SnapLogic Platform release.

4.14 Patch 

dynamicscrm5971

 Latest

Fixed an issue with the Upsert Snap wherein duplicate records were being created because the Snap was ignoring certain query fields.

4.14 Patch 

dynamicscrm5857

 Latest

Fixed an issue with Dynamics CRM Create operation for Owner id tags.

4.14 Patch dynamicscrm5753 Latest

Fixed an issue with Owner ID tags request process in the Dynamics CRM Create Snap.

4.14 Patch dynamicscrm5720 Latest

Enhanced the Dynamics CRM Read Snap with the following to optimize Pipeline execution time and data integrity:

  • Reduced cache time for Read suggestions to five minutes.
  • Removed cache for Entity Reads.
4.14snapsmrc490
 
StableUpgraded with the latest SnapLogic Platform release.
4.13

snapsmrc486

 
StableUpgraded with the latest SnapLogic Platform release.
4.12

snapsmrc480

 
StableUpgraded with the latest SnapLogic Platform release.
4.11 Patch dynamicscrm4359 Latest

Added support for Customer data type as an input parameter for the Dynamics CRM Snaps.

4.11 Patch dynamicscrm4286 Latest

Dynamics CRM Upsert - Added support for processing Dynamics CRM data types in the CRM Upsert Snap.

4.11snapsmrc465
 
StableUpgraded with the latest SnapLogic Platform release.
4.10 Patch dynamicscrm4185 

Support for Guid datatype as input parameter: Resolved an issue with Dynamics CRM Snaps that fails when record ID is specified.

4.10snapsmrc414

 


  • Introduced the CRM Upsert Snap in this release.
  • Performance enhancements for Microsoft Dynamics CRM Create.
4.9 Patchdynamicscrm3328

Addressed the issue: Dynamics CRM Create does not support some datatypes

4.9 Patchdynamicscrm3080

Addressed an issue with Dynamics CRM Read and Search Snap not converting OptionSetValues correctly.

4.9snapsmrc405 
  • This Snap Pack introduced in this release with the following Snaps:
    • Create
    • Update
    • Delete
    • Read
    • Search