Dynamics 365 for Sales Create

On this Page

Overview

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.

Settings for Dynamics 365 for Sales Create Snap

Snap Type

Dynamics 365 for Sales Create Snap is a Write-type Snap that adds new records to Microsoft Dynamics 365.

Prerequisites

None.

Support for Ultra Pipelines

Works in Ultra Task Pipelines.

Limitations

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 Views

Type

Format

Number of Views

Examples of Upstream and Downstream Snaps

Description

Type

Format

Number of Views

Examples of Upstream and Downstream Snaps

Description

Input

Document

Min: 0
Max: 1

 Mapper Snap

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

Output

Document

Min: 1
Max: 1

None

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

Snap Settings

  • Asterisk (*): Indicates a mandatory field.

  • Suggestion icon (): Indicates a list that is dynamically populated based on the configuration.

  • Expression icon (): Indicates whether the value is an expression (if enabled) or a static value (if disabled). Learn more about Using Expressions in SnapLogic.

  • Add icon (): Indicates that you can add fields in the field set.

  • Remove icon (): Indicates that you can remove fields from the field set.

Field Name

Field Type

Description

Field Name

Field Type

Description

Label*


Default Value: Dynamics 365 For Sales Delete
Example: Dynamics 365 For Sales Delete

String

Specify 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

String/Expression

Specify the Microsoft Dynamics 365 Sales object type. For example, account.



Related Object Type


Default Value: N/A
Example: contact

String/Expression

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



Related Object Relationship

Default Value: N/A
Example: primarycontactID

String/Expression

Specify the Relationship Schema between the Microsoft Dynamics 365 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.

Related Object ID


Default Value: N/A
Example: 12AB3456-C7D8-E711-F11D-C1234BCDC789

String/Expression

Specify the GUID of the related Microsoft Dynamics 365 Sales object.



Batch Size


Default Value: 200
Example: 100

Integer/Expression

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

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

Default Value: 0
Example1

Integer

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. 

Retry Intervals (seconds)


Default Value: 1
Example5

Integer

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

When the Snap encounters 429 error, the response includes the retry-after with <number of seconds> in the header and the Snap automatically retries after the specified <number of seconds>.

HTTP Header

Use this fieldset to add additional HTTP headers to pass when sending requests to the Dynamics 365 for Sales instance.

Key

 

Default Value: N/A
Example: Prefer

String/Expression

Specify an HTTP header key.

Value

 

Default Value: N/A
Example:  odata.include-annotations="*"

String/Expression

Specify an HTTP header value.

Enable continue on error

 

Default Value: Deselected

Checkbox

Select this checkbox to enable the service to continue processing the remaining requests in a batch when an error occurs. The code continues to execute until all requests are processed. It then returns the response to the output view.

When this checkbox is deselected, the batch process errors out immediately on the first failed request. It then returns a response in the error view that includes the error message.

Snap Execution



Default Value: Execute only
Example: Validate & Execute

Dropdown list

Troubleshooting

Error code

Reason

Resolution

-2147015902

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

Ensure that you do not exceed 6000 requests within a 300-second window (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.

Too many Requests - 429

There are too many requests sent to the 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 the 429 error. Therefore, wait for the retry to succeed.

Examples

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

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

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