In this article
This Snap enables you to update an existing record or insert a new record in MS Dynamics 365 for Sales based on the input document field values that match the MS Dynamics 365 for Sales object schema field names.
Input: Fields of the MS Dynamics 365 for Sales object to be updated or created. It is optional to provide either the ID of the object or to use a query. If an ID or query is provided, then the corresponding record is updated; else new record(s) are created. The typical configuration is 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.
You must have a Dynamics 365 OAuth2 for an Online account, data to query, and access to the objects concerned.
This Snap uses account references created on the Accounts page of SnapLogic Manager to handle access to this endpoint. See Configuring Dynamics 365 for Sales Accounts for information on setting up this type of account.
Input | This Snap has at most one document input view. |
---|---|
Output | This Snap has exactly one document output view. |
Error | This Snap has at most one document error view. |
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.
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.
Label | Required. 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. MS Dynamics 365 for Sales object type. For example, account. Example: account. Default Value: account | ||||
ID | Optional. GUID of the MS Dynamics 365 for Sales object. This field is suggestible. | ||||
Alternate Keys | Use 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
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 MS Dynamics 365 for Sales object to be created with the related object.
Default Value: None | ||||
Upsert Multiple Objects | When enabled, the Snap updates multiple records per object type if the query returns more than one MS Dynamics 365 for Sales record. | ||||
Upsert Query Fields | Query fields to use to upsert the corresponding MS Dynamics 365 for Sales records. | ||||
Batch size | A number of records processed in each request. The batch size can range 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 | ||||
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 | ||||
HTTP header | Additional HTTP headers to pass when sending requests to the Dynamics 365 for Sales instance. Example:
Default value: No default value | ||||
For all operations (Create, Upsert, Update, Delete), the default read timeout is 10 mins. |
For troubleshooting purposes, 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 code | Reason | Resolution |
---|---|---|
| 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). |
| 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. |
| The number of concurrent requests exceeded the limit of 52. | Limit the number of concurrent requests. |
Too many Requests - 429 | There are too many requests sent to Dynamics 365 For Sales endpoint. | The Microsoft Dynamics 365 For Sales related Snaps, include retry-after with <number of seconds> in the response header and automatically retries when they encounter status 429 error. Therefore, wait for the retry to succeed. |
Following is a detailed example that uses Upsert Query. The following Pipeline uses Snaps like Dynamics 365 for Sales Create, Dynamics 365 for Sales Read and Dynamics 365 for Sales Delete Snaps to create customer details from the sales report, read them, upsert them, whenever required, and delete them if required.
First, in this Pipeline, using the Mapper Snap, the details of the customer like Account ID, Batch size, and Page number are given as inputs.
Settings | Output |
---|---|
Create these details from the Mapper Snap with the help of Dynamics 365 for Sales Create Snap.
Settings | Output |
---|---|
Next, another Mapper Snap to add more details to the list of customer details:
Settings | Output |
---|---|
Update these details using Dynamics 365 for Sales for Upsert Snap.
Settings | Output |
---|---|
These results are copied and routed into two outputs. One output is to get these details and save them for further use and another output is used to delete the details using Dynamics 365 for Sales Delete Snap.
Settings | Output |
---|---|
Basic use case, using the Dynamics 365 for Sales Upsert Snap with a Mapper
In this pipeline, the Dynamics 365 for Sales Upsert Snap updates the 'address1_city' attribute of an account object.
|