Dynamics 365 for Sales Read

On this Page

Overview

You can use this Snap to read records from Microsoft Dynamics 365 for Sales.

Settings for Dynamics 365 for Sales Read Snap

ETL Transformations & Data Flow

The Dynamics 365 for Sales Read Snap enables the following ETL operations/flows:

  1. Extract data either directly from the Snap configuration or from the upstream snap containing the data for reading the MS Dynamics 365 for Sales object(s).

  2. Transform the input document into a SnapLogic-friendly JSON Document if using an upstream snap.

  3. Load the data into the Dynamics 365 for Sales Read snap in order to read the MS Dynamics 365 for Sales objects.

Snap Type

Dynamics 365 for Sales Read Snap is a Read-type Snap that reads records from MS Dynamics 365.

Prerequisites

None.

Support for Ultra Pipelines

Works in Ultra Pipelines. However, we recommend that you not use this Snap in an Ultra Pipeline. To know the list of Snaps that work in Ultra and the related caveats, see Snap Support for Ultra Pipelines.

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.

Known Issues

  • When reading multiple MS Dynamics 365 for Sales objects in batches, the Batch Size ranges from 1 to 1000. This is a limitation by MS Dynamics 365 for Sales.

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

Snap Views

Type

View

Number of Views

Examples of Upstream and Downstream Snaps

Description

Type

View

Number of Views

Examples of Upstream and Downstream Snaps

Description

Input

Document

Min: 0
Max: 1

Any Snap, such as a Mapper or JSON Generator Snap, that offers a document as output. 

The ID of the MS Dynamics 365 for Sales object to be read. The information can either be provided directly in the Snap or in the upstream snaps when expressions are used in the Read snap

Output

Document

Min: 1
Max: 1

None.

A document with the result set. If the Read is successful, then the output document will contain all the fields of the provided MS Dynamics 365 for Sales object(s).

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 ValueDynamics 365 for Sales Read
ExampleDynamics 365 for Sales Read

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

 

ID*

 

Default Value: N/A
Example: 5D5F5B6A-CE6D-EA11-A812-000D3A86D7B6

String/Expression

Specify the GUID of the MS Dynamics 365 for Sales object. You can either enter the ID in this field, or you can select it from the drop-down list displayed when you click the Suggest icon. 

Page Size

 

Default Value: 1000
Example: 5000

 

 

Integer/Expression

Specify the Page Size feature to make paging in an application faster for large datasets.

Max Value: 5000

Start Page Number

 

Default Value: 1
Example: 5

Integer/Expression

Specify the start of loading the records from the specified page until the end of the records or until the Max Page Number, if specified (otherwise, the default value will be used).

Max Page Number

 

Default Value: 0
Example: 20

Integer/Expression

Specify when the snap should stop loading, either when the specified page number is reached or when no more records are available. Leave the value in this field at 0 to load all pages. If this field is left empty, the default value 0 will be used, and all pages will be loaded.

Read Query Fields

Use this fieldset to specify the query fields that you want read. If you provide any query fields here, the Object ID property in the Snap will be ignored in favor of these fields. It is expected that upstream documents will contain the fields specified. The values of those fields will be used to query MS 365 records.

Read Query Field

 

Default Value: N/A
Example:Account Name”

String

Specify which fields to retrieve from the CRM database when performing a read operation. This can help optimize performance and reduce unnecessary data transfer.

If you want to use a numeric value drawn from an upstream Snap, ensure that the parameter is declared as a float in an Mapper Snap upstream; else, the upsert operation may fail. For more information on working with numeric values in the Mapper Snap, see Managing Numeric Inputs in Mapper Expressions.

Number of Retries

 

Default Value: 0
Example: 1

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 Interval (seconds)

 

Default Value: 1
Example: 5

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: Validate & Execute
Exdample: Execute only

Dropdown list

Troubleshooting

For troubleshooting purposes, try performing a similar operation directly on the Microsoft Dynamics 365 for Sales user interface 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

Reason

Resolution

Error

Reason

Resolution

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

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.

Examples


Using the Dynamics 365 for Sales Snap to Read an Object

Basic use case: Using the Snap to read an object.

The following pipeline demonstrates the basic use case of Dynamics 365 for Sales Read Snap, where the Snap logs into the Dynamics 365 instance and reads from an object:

Select the Object Type of the object that you want to read. You can also enter the ID of the object that you want to read and specify the query field you want to read. Save your changes and execute the pipeline.

Once the pipeline completes execution, you should see object details in the output, as shown below:

Download the pipeline

Using Upstream Snaps with the Dynamics 365 Read Snap

Basic use case: Using a Mapper Snap to supply the object ID of the object that must be read.

The Dynamics 365 Read Snap can also be used with upstream Snaps. In this example, we shall use a Mapper Snap to supply the Read Snap with the object ID of the object that we want it to read.

We configure the Mapper Snap to label and supply the object ID that must be read, as '$id':

We add a Dynamics 365 for Sales Read Snap downstream to the Mapper and configure it to use the object ID label we configured in the Mapper Snap, as follows:

Save your settings and execute the pipeline. If your settings are valid, the pipeline should execute to display a single row of data related to the object ID indicated by the label you provided in the Mapper Snap:

Download the sample pipeline

Downloads

Snap Pack History