Versions Compared

Key

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

In this article

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

Overview

This Snap calls the Microsoft Dynamics 365 for Sales REST WebAPI endpoint using the incoming data and writes out a JSON response.

...

ETL Transformations & Data Flow

...

Field Name

Field Type

Description

Label*

Default ValueDynamics 365 for Sales Execute
ExampleDynamics 365 for Sales Execute

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.

Dynamics Organization URL*


Default Value: https://<organization>/api/data/<version>/<api>

Example:
https://abcxyzcompany.api.crm.dynamics.com/api/data/v8.2/

(Example of a GET request for a specific account)
https://abcxyzcompany.api.crm.dynamics.com/api/data/v8.2/accounts(GUID)  

String/Expression

Specify the URL for the Microsoft Dynamics 365 For Sales WebAPI endpoint.  Although the URL is editable, query parameters should not be placed within the URL, as that will not work with the supporting libraries. The Query Parameter fields must be explicitly-used query parameter values, such as search filters, etc.

This field is suggestible, and shows the user's currently configured Account URL. The REST resource, etc. can be then crafted onto the resulting URL.

Object Type

Default Value: account

String/Expression

Specify the Microsoft Dynamics 365 for Sales object type to allow its schema to be fetched by the Snap. Custom object types are currently not supported.

HTTP Method*

Default Value: GET
Example: POST

Dropdown list

Specify the HTTP REST Method to be used in the request. Available options are:

  • GET

  • POST

  • PUT

  • PATCH

  • DELETE


HTTP Request Body

Default Value: $
Example: "{\"name\" : \"Microsoft\"}"

String/Expression

Specify the request body directly in this field for write actions, such as POST or PATCH; however, this field is not required for actions such as GET or DELETE.  If you do not specify the request body directly, then it must be in the form of a JSON String.  Note that the double quotes in the String need to be "Java escaped".

Typically the request body will be provided by an upstream Snap such as a Mapper Snap or JSON Generator Snap.  Therefore, the field defaults to being expression enabled, and the expression is set to "$" which represents the JSON body provided by the upstream Snap.

Query Parameters



Use the Query Parameters fieldset 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

Specify the attribute that would be used as a key in your query.

Example: $filter: A value of $filter is typically used as part of a GET request. For example, the user may want to GET Account objects where a given filter condition exists.  Microsoft Dynamics 365 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:

Paste code macro
 
filter=Microsoft.Dynamics.CRM.Between(PropertyName='numberofemployees',PropertyValues=["5","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 fieldset.

For example, if the Parameter was $filter, the value could be ['"name eq 'Microsoft' or 'revenue gt 100' or "address1_fax eq '1234567'".]

When specifying a value that is a string (name or address1_fax), the value must be encased in single quotes. If the value is truly a number, as in the example: 'revenue gt 100', the value must not be encased in single quotes.

Microsoft has provided the following documentation on the Filtering Sunctionality.

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 the HTTP header key.

Value

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

String/Expression

Specify the HTTP header value: N/A
Example: odata.include-annotations="*"

String/Expression

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

Dropdown list

Multiexcerpt include macro
nameExecution_Detail_Write
pageSOAP Execute

...

Using Upstream Snaps with the Execute Snap

...

Basic Use Case: Creating an account using the Execute Snap

Expand
titleCreating an account using the Execute Snap

The following pipeline demonstrates how you can use the Execute Snap to create an Account.

In this example, we have used a JSON Generator Snap to capture the details we want to use to create an account. This is the JSON document provided by the generator:

We now add an Execute Snap downstream to the JSON Generator.

Two configurations to be made here:

  • Once you have entered–or selected the Dynamics Organization URL from the drop-down list, you need to append the word 'accounts' to the URL, as shown in the screenshot above.

  • Select the HTTP Method as POST.

Save and close the Snap Settings popup and execute the pipeline.

For a successful execution, you should see JSON output similar to the one shown below:

Download the sample pipeline

Advanced Use Case: Querying an account using query parameters within the Execute Snap

Expand
titleQuerying an account using query parameters within the Execute Snap

The following pipeline demonstrates how you can implement a filter the Execute Snap's query parameters to retrieve a specific Account.

In this example, we have used a Mapper Snap to pass the value we are searching for into the name variable.

Now we craft the query parameter key and value pair in the Execute Snap. Note:  In order to follow Microsoft Dynamics 365 For Sales guidelines, we have to surround our "$name" variable with single quotes. This is because the "$name" variable is going to be evaluated by Microsoft as a string of characters. If we had been evaluating a numeric value such as a dollar amount, we would not surround the variable in single quotes. Note that there are some values that are entirely full of numeric characters, but are in fact strings (phone numbers, fax numbers, etc). Microsoft has provided the following detailed information regarding the use of "$filter" queries: Query Data using the Web API.

Now we see that we were able to execute the request successfully and have indeed retrieved the account with the specified "$name" variable:

Download the sample pipeline

Downloads

Multiexcerpt include macro
namedownload_instructions
pageOpenAPI

...

Snap Pack History

Expand

Insert excerpt
MS Microsoft Dynamics 365 for Sales Snap PackMS
Microsoft Dynamics 365 for Sales Snap Pack
nameMS Dynamics 365 for Sales_SPH
nopaneltrue

...