Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

On this Page

Table of Contents
maxLevel2
excludeOlder Versions|Additional Resources|Related Links|Related Information

Overview

This Snap enables you You can use this Snap to add new records for objects (entities in Microsoft terminology) based on the input document field values that match the MS Dynamics object schema field names.

Image Modified

Prerequisites

None.

Snap Views

TypeFormatNumber of ViewsExamples of Upstream and Downstream SnapsDescription
InputDocumentMin:1
Max:1
 Mapper SnapNeeds to have an upstream Snap that contains the mandatory fields for creating the Microsoft Dynamics 365 Sales object. Mapper Snap is a preferred upstream Snap as it populates the input schema for the selected MS Dynamics 365 Sales Object Type.
OutputDocumentMin:1
Max:1
NoneA document with the result set. If the creation is successful, then the output document contains the Guid of the created 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.


Support

Works in Ultra Task Pipelines.

Limitations

Multiexcerpt macro
nameAPI Limitations from MS Dynamics 365 for Sales

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.


Known Issues

This Snap cannot create relationships using collection-valued navigation properties, such as contact_customer_accounts, because of current WebAPI limitations; however, it works correctly with single-valued navigation properties, such as primary contact id.


Snap Settings


HTTP headermultiexcerpt-include-macroSOAP Execute
FieldField TypeDescription

Label


Default Value:
MS Dynamics 365 for Sales Create
Example:
 MS Dynamics 365 for Sales Create

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


Default Value: account
Example: account


Required. Microsoft Dynamics 365 Sales object type. For example, account.

Default Value: account


Related object type

Microsoft Dynamics 365 Sales object type of the object to which it must be related.

Default Value: None

Related object relationship

Relationship Schema between the Microsoft Dynamics 365 Sales object to be created with the related object.

Note

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 Microsoft Dynamics 365 Sales object.

Default Value: None

Batch Size

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

Default Value: 200

Batch processing results can contain both successful and unsuccessful results.  Successful results will be written to the output view.  Unsuccessful results, along with intuitive error information will be written to the error view; therefore, it is recommended to activate the error view within the Snap.  A single unsuccessful batch processing document will not halt the batch processing, unless there is a configuration problem; in this special case, the Snap would fail with intuitive error information.

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)


Default Value: 1
Example
: 5


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


HTTP header


Default Value: 1
Example
: 5

value: No default value

String/Expression

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


name

Snap Execution

page


Default Value: Validate & Execute
Example: Execute only


Dropdown list

Multiexcerpt include macro
nameExecution_Detail_Write
pageSOAP Execute


Note

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


Troubleshooting

For troubleshooting purposes, try performing a similar operation directly on the MS Dynamics 365 Sales user interface and collect the necessary data. Compare the data used in the user interface with the data retrieved from the SnapLogic pipelines to see if there are any inconsistencies
Multiexcerpt macro
nameTroubleshooting for MS Dynamisc 365 for Sales Snaps


Error code

Reason

Resolution

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

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

-2147015898

The number of concurrent requests exceeded the limit of 52.

Limit the number of concurrent requests.



Examples

Create a Record in MS Dynamics for Sales and Perform a Bulk Delete

In this example, we shall create a new set of entities in an MS Dynamics 365 Sales DB table, view the output preview, and delete the data using a Dynamics 365 For Sales Delete Snap.

Expand
titleCreate a Record in MS Dynamics for Sales and Perform a Bulk Delete

In this example, we shall create a new set of records in an MS Dynamics 365 Sales DB table, view the output preview, and delete the data using a Dynamics 365 For Sales Delete Snap. This way, we can see each of these Snaps in action and learn how to work with them, while leaving the sample pipeline ready for reuse.

Step 1: Prepare Records for Upload

In this example, we are using the JSON Generator Snap to create and store records to be uploaded to the MS Dynamics 365 Sales DB table. You can also use a Mapper Snap to send in the data needed to create the records.

Step 2: Create Records in the MS Dynamics 365 Sales DB Table

Connect a Dynamics 365 For Sales Create Snap to the JSON Generator Snap and configure it to add new records into the as follows:

Step 3: Map '$accountid' in Created Records to '$guid' to simplify identification

We intend to delete the records we just created. To simplify isolating these records, we map the '$accountid' attribute in these records to '$guid', so we can search for these records by '$guid' and delete them later in the pipeline.

Step 4: Delete all Account Records with Attribute '$guid'

Now that we have replaced the attribute '$accountid' with '$guid', we can perform a simple delete operation, removing all records that contain the '$guid' attribute:

Download the sample pipeline


Downloads

Multiexcerpt include macro
namedownload_instructions
pageOpenAPI

Attachments
uploadfalse
oldfalse
patterns*.slp,*.zip

Insert excerpt
MS Dynamics 365 for Sales Snap Pack
MS Dynamics 365 for Sales Snap Pack
nopaneltrue