Dynamics 365 for Sales Search

In this article

Overview

You can use this Snap to search in MS Dynamics 365 for Sales for an entity set using filter conditions. You can also apply query options to set criteria for the data you want and the entity properties that should be returned.

Settings for Dynamics 365 for Sales Search Snap

Snap Type

Dynamics 365 for Sales Search Snap is a Read-type Snap that Search records from Dynamics CRM using Fetch XML query.

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, refer to 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 exceeds the limit of 52. We recommend that you reduce the number of concurrent requests.

Known Issues

  • This Snap cannot display more than 5000 results per page. This is due to the limitation in Microsoft Dynamics 365 for Sales, which restricts the number of results retrieved to 5000.

  • The Object Type suggestions are limited to the Object Types available within Microsoft 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

Mapper Snap

Query parameters for the search to be performed. This can either be entered using the Filter Condition fieldset or using a Mapper Snap upstream.

Output

Document

Min: 1
Max: 1

Mapper Snap

A document with the result set that matches the specified search criteria.

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

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.

 

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

Max Page Number

 

Default Value: 0
Example: 20

Integer/Expression

Specify the maximum number of pages of results that this Snap can return. When the specified page number is reached, or when no more records are available, this Snap stops loading any additional results.

Enter 0 in this field to read all pages.

Filter Condition

Use this field-set to specify search criteria to be used when this Snap is executed. If you want to use any special search functions in your search criteria, use the Filters option in the Parameter field of the Query Parameters field-set.

Type

 

Default Value: and
Example: or

Dropdown list

Specify the Microsoft Dynamics 365 for Sales filter type. Available options include:

  • and

  • or

  • not

Only "and" and "or" are supported by Microsoft Dynamics 365 for Sales

 

Attribute

 

Default Value: N/A
Example: name

String/Expression

Specify the Microsoft Dynamics 365 for Sales filter attribute. The MS Dynamics 365 for Sales object type attribute to apply the filter.

Operator

 

Default Value: equal
Example: notEqual

Dropdown list

Specify the Microsoft Dynamics 365 for Sales filter operator. The operator to be applied to the filter attribute. Available options include:

  • equal

  • notEqual

  • lessThan

  • lessThanOrEqual

  • greaterThan

  • greaterThanOrEqual

Value

 

Default Value: N/A
Example: MyAccountName

String/Expression

Specify the Microsoft Dynamics 365 for Sales filter value. The value to be applied to the filter operator.

Query Parameters

 

 

Use the Query Parameters field set to define search query parameters and their values. The query parameters will be attached to the URL using the HTTP query parameter syntax, separated by & and added as key=value.

Parameter

 

Default Value: N/A
Example: filter

String/Expression

Specify the attribute that would be used as a key in your query. As of this version, the following parameters are enabled for this Snap:

  • top: Limiting results using top prevents page size preference from being applied. You can use page size preference or top, but not both at the same time.

  • expand: The expand parameter enables you to control what data from related entities is returned. For more information on using the expand parameter, see Query Data Using the Web API.

  • filter: Select this parameter if you want to use special functions along with the filter conditions in your search query. MS Dynamics 365 for Sales provides a number of special functions that accept parameters, return Boolean values, and can be used as filter criteria in a query. For a list of these functions, see Microsoft Web API Query Function Reference.

The following is an example of the Between Function searching for accounts with a number of employees between 5 and 2000:

Value

 

Default Value: N/A
Example: "name eg'" + $name + "'%

String/Expression

Specify the value associated with the parameter chosen in the Parameter field in the Query Parameters field set.

Output Attributes

Use this field set to return in search response. If no attributes are configured, all attributes are returned

Name

 

Default Value: N/A
Example: name

String/Expression

Specify the select system query option to limit the properties returned. If select properties aren't specified, all properties are returned.

Order By

Use this field set to specify the order in which items are returned when the search is executed.

Attribute

 

Default Value: N/A
Example: Account Name

String/Expression

Specify the attribute that you want to use to order the search results.

Sort Order

 

Default Value: ascending
Example: descending

Dropdown list

Select the sort order in which you want your search results ordered. Available options are:

  • ascending

  • descending

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 MS 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 code

Reason

Resolution

Error code

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.

Example

Using the Dynamics 365 for Sales Search Snap to Search for an Object

Basic use case: Using the Snap to search for an object.

The following pipeline demonstrates the basic use case of Dynamics 365 for Sales Search Snap, where Snap logs in and searches for an object.

  1. Search for and click and drag the Dynamics 365 for Sales Search Snap onto the canvas. Configure the account for the Snap and click the Settings tab

  2. Enter the object type of the object that you want to search.

  3. Enter the conditions you want to use for your search by clicking the + button in the Filter condition fieldset. This adds a row of fields that you can use to specify your search criteria. In this example, we are searching for an object that has a specific date value for the "createdon" attribute.

  4. Save your changes and execute the pipeline. The Snap logs into the Microsoft Dynamics 365 for Sales DB and retrieves results based on your criteria:

Download the sample pipeline

Using the Dynamics 365 for Sales Search Snap with a Mapper Snap Upstream

Basic use case: Using the Snap to search for an object using criteria specified in an upstream Mapper Snap.

The Dynamics 365 for Sales Search Snap can also be used with upstream Snaps. In this example, we shall use a Mapper Snap to supply the Search Snap with the account ID of the record that we want to search.

  1. We add and configure the Mapper Snap to label and supply the account ID that must be used for the search as '$accountid':

  2. We now add a Dynamics 365 for Sales Search Snap, which we configure to use the values saved in the upstream Mapper Snap for performing a search of the Microsoft Dynamics 365 for Sales DB:

  3. We map the attribute in the DB tables with the values specified in the Mapper Snap, save our changes, and execute the pipeline. For a successful run, the Snap should display the record that has the account ID specified in the Mapper Snap:

Download the sample pipeline

Downloads

  File Modified

File Example_MS_Dynamics_Search_Mapper.slp

Mar 04, 2022 by Subhajit Sengupta

File Example_MS_Dynamics_Search_Basic.slp

Mar 04, 2022 by Subhajit Sengupta

Snap Pack History