Dynamics 365 for Sales Upsert

In this article

Overview

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 & Output

  • Expected upstream Snaps: Any Snap, such as the Mapper Snap, that offers a document view as output.
  • Expected downstream Snaps: None
  • 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.

  • Output: A document with the result set. If the update is successful, then the output document contains the GUID of the updated or inserted MS Dynamics 365 for Sales object.

Prerequisites

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

Configuring Accounts

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.

Configuring Views

Input

This Snap has at most one document input view.
OutputThis Snap has exactly one document output view.
ErrorThis Snap has at most one document error view.

Troubleshooting

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.

Limitations and Known Issues

  • 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 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.

Modes

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. MS Dynamics 365 for Sales object type. For example, account.

Example: account.

Default Value: account

IDOptional. GUID of the MS Dynamics 365 for Sales object. This field is suggestible.
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.

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.

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

Upsert Multiple ObjectsWhen enabled, the Snap updates multiple records per object type if the query returns more than one MS Dynamics 365 for Sales record.
Upsert Query FieldsQuery 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.

This Snap does not guarantee Batch Size to function when one or more Upsert Query Fields are configured in the Snap settings. Hence, one input document can result in more than one output document due to the records in Dynamics 365 that match the Upsert Query Fields of the current input document.

Default Value: 200

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

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.

For all operations (Create, Upsert, Update, Delete), the default read timeout is 10 mins.

Examples

Updating customer details using Dynamics 365 for Sales Upsert Snap

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.

SettingsOutput

Create these details from the Mapper Snap with the help of Dynamics 365 for Sales Create Snap.

SettingsOutput

Next, another Mapper Snap to add more details to the list of customer details:

SettingsOutput

Update these details using Dynamics 365 for Sales for Upsert Snap. 

SettingsOutput

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. 

SettingsOutput


Updating the Attributes of an Object

Basic use case, using the Dynamics 365 for Sales Upsert Snap with a Mapper

 Updating the Object Type of an Object

In this pipeline, the Dynamics 365 for Sales Upsert Snap updates the 'address1_city' attribute of an account object.

  1. We first update the pipeline's parameters to specify the city to which we want the 'address1_city' attribute to be updated:
  2. We now add a Mapper Snap, so we can map the pipeline parameter to the address1_city attribute:


  3. We've now established a connection between the pipeline parameter we defined with an actual attribute in the target object model. We now need to choose the required object and object ID whose values we want to update.


  4. Once these settings are in place, execute the pipeline. Upon successful execution, you should see a confirmation message in your output as displayed below:

Download the sample pipeline

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.


Snap Pack History

 Click to view/expand
ReleaseSnap Pack VersionDateTypeUpdates
August 2022main17386 StableThe Alternate Keys fieldset in the Dynamics 365 For Sales Update and Dynamics 365 For Sales Upsert Snaps now enable you to refer to entities by unique or nonunique combinations of columns.
4.29 Patch429patches17123 Stable
  • Dynamics 365 OAuth2 Account For Online now supports on-premise usage that allows you to access the latest version of the APIs supported in the MS Dynamics 365 suite.

  • Fixed an issue with Dynamics 365 For Sales Read Snap where the Snap displayed a Null Pointer error instead of the actual 429 HTTP status code - Too Many Requests error from the endpoint, and the Pipeline failed. Now Snap does not display a Null Pointer error if the Snap encountered a 429 error and the pipeline goes to the completed state.

  • Fixed an issue with Dynamics 365 For Sales Upsert Snap where the Snap displayed a different error message in the error view when the batch size is greater than 1.

  • Fixed an issue with Dynamics 365 For Sales Update and Dynamics 365 For Sales Upsert Snaps where the Snaps wrote to both output view and error view when the update fails and batch size is equal to 1. Now, the Snap writes only to the error when the update fails.

  • Fixed an issue with Dynamics 365 For Sales Update and Dynamics 365 For Sales Upsert Snaps where the Snaps did not write to the output view when the response is null. Now the Snaps correctly write to the output view when the response is null.

  • Enhanced the Dynamics 365 For Sales Update and Dynamics 365 For Sales Upsert Snaps with Alternate Keys fieldset that enables you to refer to entities by unique or nonunique combinations of columns.

4.29main15993 Stable
  • MS Dynamics 365 For Sales Snaps now supports on-premise installations of MS Dynamics 365.

  • Added a new account type Dynamics 365 NTLM Account that enables to connect to MS Dynamics 365 Snaps through NTLM authentication.

4.28 Patch428patches15219 Latest

Updates in the MS Dynamics 365 for Sales Create and MS Dynamics 365 for Sales Upsert Snaps:

  • Improved performance by streamlining the process of creating new entities.
  • Fixed an issue where the Content-Length header was incorrectly set when Unicode characters were present in the request.
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 Patch425patches10303 LatestFixed an error in Dynamics 365 for Sales Create Snap where the Snap does not send the original documents to the error view in the output when the batch size property is set to greater than 1.
4.25main9554
 
StableUpgraded 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.21 Patch dynamics365forsales8856 Latest

Fixes Pipeline validation error that occurs when writing data from Dynamics 365 for Sales Update Snap to output documents.

4.21snapsmrc542

 

StableUpgraded with the latest SnapLogic Platform release.
4.20snapsmrc535
 
StableUpgraded with the latest SnapLogic Platform release.
4.19 Patchexpensify8335 Latest

Fixed the broken doc link for the Expensify Export Report Snap.

4.19snaprsmrc528
 
StableUpgraded with the latest SnapLogic Platform release.
4.18 Patch dynamics365forsales7957 Latest
  • Fixed a NullPointerException issue with the Dynamics 365 for Sales Delete Snap wherein the Object ID is invalid.
  • Fixed a concurrency issue with multiple Dynamics 365 for Sales Snaps when running in parallel.
4.18 Patch dynamics365forsales7952 Latest

Added support for lookup type in the input document to be formatted per MS Dynamics 365 for Sales syntax.

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.16 Patch dynamics365forsales7232 Latest

Dynamics 365 for Sales Read Snap now supports custom object types. 

4.16snapsmrc508
 
StableUpgraded with the latest SnapLogic Platform release.
4.15snapsmrc500
 
StableUpgraded with the latest SnapLogic Platform release.
4.14snapsmrc490
 
Stable
  • New Snap Pack: MS Dynamics 365 for Sales Snap Pack introduced in this release with the following Snaps:
    • Create
    • Delete
    • Execute
    • Read
    • Search
    • Update
    • Upsert