Microsoft Dynamics CRM
The Microsoft Dynamics CRM v2 Component is designed to use Microsoft’s web API.
Credentials
Microsoft Dynamics CRM APIs use OAuth 2.0.
During credentials creation, you would need to:
-
Select OAuth2 drop-down list Type.
-
Select the existing Auth client from the drop-down list. Choose Auth client or create the new one. To create the client, you should specify the following fields:
Field name | Mandatory | Description |
---|---|---|
Name |
true |
Your Auth client's name. |
Client ID |
true |
Your OAuth client ID. |
Client secret |
true |
Your OAuth client secret. |
Authorization endpoint |
true |
Formatted as; https://login.windows.net/common/oauth2/authorize?resource=https://org1.crm4.dynamics.com/.
Where |
Token endpoint |
true |
Formatted as; https://login.windows.net/common/oauth2/token. |
Complete the following process:
-
Name your credential. Provide a name for your credentials.
-
Supply a base URL. This field is required. It indicates what URL base needs to be used. Example https://org1.crm4.dynamics.com/api/data/v9.2 or https://org1.crm4.dynamics.com/api/data (without version).
-
Nominate an API version. This field is optional. The API version to use. This field must be formatted as
vXX.XX
. By default, this value is set tov9.2
. -
Click on Authenticate. This link will take you to Microsoft Dynamics to sign in and provide permission to access your service to the platform.
-
Click on Verify to verify your credentials
-
Click on Save to save your credentials
Triggers
Get new and updated objects polling
Retrieve all the updated or created objects within a given time range.
Configuration fields
- Object type
-
A required drop-down option. Select an object-type on which to poll. For example, Accounts.
- Emit behavior
-
A required drop-down option. The options are:
- Emit page
-
ALL values found will be emitted in one array results.
- Emit individually
-
EACH object found will be emitted individually.
- Size of polling page
-
An optional string value. It indicates the size of pages to be fetched. Defaults to
odata.maxpagesize
preference value equals 5000. - Process single page per execution
-
This checkbox indicates that if the number of changed records exceeds the maximum number of results in a page, wait until the subsequent flow starts to fetch the next page instead of fetching the next page immediately.
- Start time
-
An optional string value. The timestamp, in ISO 8601 format, to start polling from (inclusive). The default value is the Unix epoch (January 1, 1970, at 00:00.000).
- End time
-
An optional string value. An inclusive timestamp, in ISO 8601 format, at which to end. The default value is never.
- Timestamp field to poll on
-
An optional string value. This field can be either Last modified or Created dates (updated or new objects, respectively). Defaults to Last modified.
Output metadata
The output metadata depends on the Object type and Emit behavior fields' settings. If Emit behavior is set to Emit page, an object with property results that contains an array of selected objects will be returned. If it is set to Emit individually, the metadata for the selected object type will be returned.
Actions
Lookup objects (plural)
Perform a lookup on a set of objects by a defined criteria list. The output can be emitted in different ways.
Configuration fields
- Object Type
-
A required drop-down option. Object-type on which to lookup. For example, Contacts.
- Emit Behavior
-
A required drop-down option. Defines how result objects will be emitted, one of Emit all, Emit page, or Emit individually.
Input metadata
- Search criteria
-
This is a required array of strings. Use search terms to filter objects. Search terms are arrays that will be used as values for the filter param of search. By default, search mapping is configured to combine all search terms with the AND logical operator. If you want to use another behavior, proceed to advanced mode.
An example search criterion is shown below:
[{ fieldName: 'createdon', operator: 'gt', fieldValue: '2022-08-28T14:27:45Z' }, { fieldName: '_primarycontactid_value', operator: 'eq', fieldValue: 'd1bf9a01-b056-e711-abaa-00155d701c02' }]
If the chosen Emit behavior is Emit page, additional fields will be added:
- Page number
-
An integer that indicates the number of pages fetched. Defaults to 0.
- Page size
-
An integer that indicates the number of objects per page. The value can range from 0 to 5000.
Output metadata
- Emit all
-
An object with results that has an array as its value.
- Emit page
-
An object with results that has an array as its value, provided Page size is greater than 0. The
totalCountOfMatchingResults
key contains the total number of results (not just on the page) that match the search criteria, provided Page size equals 0. - Emit individually
-
Each object will fill the entire message.
Lookup object (at most one)
Perform a lookup on a single object by a selected field.
Configuration fields
- Object type
-
A required drop-down option. The object-type on which to lookup. For example, Users.
- Lookup criteria
-
A required drop-down option. A list of object parameters by which the object could be searched.
- Allow criteria to be omitted
-
An optional (if the Lookup criteria value field is selected) boolean value.
- Allow zero results
-
An optional boolean value. When selected, if the object is not found, an empty object will be returned instead of throwing an error.
Delete object by ID
Delete a single object by its ID.
Make raw request
Executes a custom request.
Configuration fields
- Don’t throw an error on 404 response
-
An optional boolean value. Do not treat 404 HTTP responses as errors. Defaults to false.
Input metadata
- URL
-
A required string value. Path of the resource relative to the base URL.
- Method
-
A required string value. HTTP verb to use in the request, one of GET, POST, PUT, PATCH, DELETE.
- Headers
-
An optional object. Headers of the request to send.
- Request body
-
An optional object. Body of the request to send.
Extract raw system metadata
This action reads the XML document located at /api/data//$metadata
and places the raw XML contents into either an attachment or a JSON string.
Configuration fields
- Output
-
A required drop-down option. Where the fetched metadata should be placed
Output metadata
Depends on the selected output:
- content-type
-
A required string value. Hard-coded to application/xml
- type
-
A required string value. Hard coded to .xml
- size
-
A required integer value. The length of the attachment in bytes
- url
-
A required string value. Maester URL with the contents
- metadata
-
A required string value. An XML string with the retrieved contents.
Limitations
-
Output metadata for the Lookup object (at most one) action can be inaccurate because:
-
Some fields may have a different name, as extra symbols could be added. For example, ownerid will look like _ownerid_value.
-
The Microsoft schema has many data types. Many of these are not supported by the Integrations platform, so they are set to string.
-