On this Page

Overview

This Snap provides functionality to update an existing record in MS Dynamics 365 for Sales.

ETL Transformations & Data Flow

This Snap enables the following ETL operations/flows:

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

Support for Ultra Pipelines

Works in Ultra Pipelines.


Prerequisites

You must have a Dynamics 365 OAuth2 for Online account, data to query, and access to the objects concerned.

Limitations

The following limitations are due to the API limitations from the Microsoft Dynamics 365 for Sales application:

  • The Snap fails with an error, when the number of requests exceeds 6000 within 300 seconds. We recommend that you limit the number of requests you make within 300 seconds (5 minutes). You can gradually increase the requests that reduce the retry-after duration, optimize your throughput, and minimize resource spikes on the server.

  • The Snap fails with an error, when the combined execution time of incoming requests exceeds the limit of 1,200,000 milliseconds within the window of 300 seconds. We recommend that you reduce the number of concurrent requests or reduce the duration of requests and try later.

  • The Snap fails with an error, when the number of concurrent requests exceed the limit of 52. We recommend that you reduce the number of concurrent requests.

  • When deleting more than one object in batches, the Batch Size range is from 1 to 1000. This is a limitation by Microsoft Dynamics 365 for Sales.
  • MS Dynamics 365 for Sales limits the number of API calls to 60,000 per minute, per user org.  This should be considered, when configuring the size of any batch process.
  • The Object Type suggestions are limited to the object types available within the MS Dynamics 365 For Sales v8.2 and v9.0. There is no current ability to suggest custom object types.
  • This Snap cannot create relationships using collection-valued navigation properties, such as contact_customer_accounts, due to current WebAPI limitations; however, it works correctly with single-valued navigation properties, such as primarycontactid.

Snap Views

FormatTypeNumber of ViewsExamples of Upstream and Downstream SnapsDescription

Input

DocumentMin:1
Max:1
Mapper SnapNeeds to have an upstream Snap that contains the mandatory fields for updating the existing MS Dynamics 365 for Sales object. Mapper Snap is a preferred upstream Snap as it populates the input schema for the selected MS Dynamics 365 for Sales Object Type.
OutputDocumentMin:1
Max:1
None. A document with the result set. If the update is successful, then the output document will contains the GUID of the updated MS Dynamics 365 for Sales object.
Error

Error handling is a generic way to handle errors without losing data or failing the Snap execution. You can handle the errors that the Snap might encounter while running the Pipeline by choosing one of the following options from the When errors occur list under the Views tab. The available options are:

  • Stop Pipeline Execution: Stops the current pipeline execution when the Snap encounters an error.

  • Discard Error Data and Continue: Ignores the error, discards that record, and continues with the rest of the records.

  • Route Error Data to Error View: Routes the error data to an error view without stopping the Snap execution.

Learn more about Error handling in Pipelines.


Snap Settings


LabelRequired. The name for the Snap. Modify this to be more specific, especially if there are more than one of the same Snap in the pipeline.
Object type

Required. The MS Dynamics 365 for Sales object type. You can either enter the name of the object type in this field, or you can select it from the drop-down list displayed when you click the Suggest button.

Example: account.

Default Value: account

ID

Optional. Specify the Guid of the Dynamics CRM Object.

Default Value: None

Alternate KeysUse this field set to configure columns to use as the alternate key for entities.

Key Columns


Specify a name for the column to use in an alternate key.

Default Value: N/A
Example: CompanyName, EmailAddress


  • Use the column’s actual name (instead of the Display name).You must look up for the actual column name in Power Apps menu and select Columns from the table menu.
  • If you frequently access data using a combination of columns other than the Primary ID, then we recommend that you use Alternate Keys for better performance.

Learn more about Configuring Alternate Keys in MS Dynamics 365 For Sales (Power Apps) .

Related object type

The object type of the related object.

Default Value: None

Related object relationship

Relationship between the objects that must be updated.

This Snap cannot create relationships using collection-valued navigation properties, such as contact_customer_accounts, due to current WebAPI limitations; however, it works correctly with single-valued navigation properties, such as primarycontactid.

Default Value: None

Related object ID

GUID of the related MS Dynamics 365 for Sales object.

Default Value: None

Upsert Multiple Objects

Optional. Select this checkbox to update multiple records per object type if the query returns more than one CRM record.

Default Value: Deselected
Example: Selected

Upsert Query Fields

Use this fieldset to include the query fields.

Upsert Query Field

Specify the query fields to use to upsert the corresponding CRM records.

Default value: None
Example: clientname

Batch Size

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

Default Value: 200

Number of Retries

Specify the maximum number of attempts to be made to receive a response. The request is terminated if the attempts do not result in a response. 

Default Value: 0
Example
: 1

Retry Intervals (seconds)

Specify the time interval between two successive retry requests. A retry happens only when the previous attempt resulted in an exception. 

Default Value: 1
Example
: 5

HTTP header

Additional HTTP headers to pass when sending requests to the Dynamics 365 for Sales instance.

Example:

Key

 Value
Prefer odata.include-annotations="*"

Default value: No default value



Troubleshooting

For troubleshooting purpose, try performing a similar operation directly on the MS Dynamics 365 for Sales console and collect the necessary data. Compare the data used in the user interface with the SnapLogic pipelines to see if there are any inconsistencies.

Error codeReasonResolution

-2147015903

The execution time of all the incoming requests exceeded the limit of 1,200,000 milliseconds within the window of 300 seconds.

Reduce the number of concurrent requests or reduce the duration of requests (20 minutes (1200 seconds) within the window of 5 minutes) and try later.

-2147015902

The number of requests exceeded the limit of 6000 within 300 seconds.

Limit the number of requests to 6000 you make within the window of 300 seconds (5 minutes).

-2147015898

The number of concurrent requests exceeded the limit of 52.

Limit the number of concurrent requests.

Example

Using the Dynamics 365 for Sales Update Snap to Update an Object

Basic use case: Using the Update Snap to update an object, using update details from an upstream Mapper Snap.

The following pipeline demonstrates how you can use the Dynamics 365 for Sales Update Snap to update an object using a Mapper to provide the update information.

We add a Mapper Snap to the pipeline, and use the Snap to provide the change we want to update. In this example, we change the attribute 'accountnumber' to 'account'.

We now add an Dynamics 365 for Sales Update Snap and select the object whose details we want to update:

Save your changes and execute the pipeline. For a successful execution, you should see a confirmation output as displayed below:

Download the sample pipeline


Downloads