Microsoft Dynamics 365 is a suite of business applications that combines customer relationship management (CRM) and enterprise resource planning (ERP) capabilities. It helps organizations manage various aspects of their operations, from sales and customer service to financial management and supply chain logistics. The platform provides tools to enhance business processes, offering both flexibility and scalability.
When integrated with Wiresk, Dynamics 365 enables the automation and coordination of different business functions.
For example, sales teams can gain insights from customer interactions through data stored in the CRM, while financial and inventory data from the ERP system can be used for more efficient management across departments.
✔︎ A Microsoft account, you can create an account here.
✔︎ An Azure Active Directory account, refer to Microsoft Azure
✔︎ An Azure Active Directory Tenant, refer to Azure Active Directory Tenant
✔︎ A Microsoft Dynamics 365 CRM subscription.
1 – Group system Copy Link
The group system in Wiresk is a way to organize and manage your users and Flows.
When you start with Wiresk (Admin account), you are automatically assigned to the default group. This default group can be renamed.
for users with Pro plan or higher, you can:
- Assign users to specific Flows: Control who has access to and can edit different Flows.
- Organize Flows: Group related Flows together for better management and visibility.
- Manage permissions: Set permissions for different groups, determining who can create, edit, and view Flows.
- Collaborate effectively: Facilitate collaboration among team members by assigning them to appropriate groups.
2 – Connect Microsoft Dynamics to Wiresk Copy Link
There are two ways to connect your app to Wiresk:
- In “My apps” section, where you can manage your connections (select or create your group first to get access to this section, refer to the Group system ).
- While building your Flow, you can easily establish a connection to your app directly within the Flow builder. This can be done during the setup of either a Trigger or a Method.
In this documentation, we will explain how to create a connection in “My apps” section, it is essentially the same as when creating it on-the-go.
How to get the Tenant ID Copy Link
On the MS Azure Portal, select Microsoft Entra ID
On the Overview page, The Tenant ID is displayed.
Add application registration Copy Link
On the bottom page of the overview page, select Add application registration
Give a name to the App, we will named it “Wiresk”
For the support account types, select “Accounts in any organizational directory (Any Microsoft Entra ID tenant – Multitenant)”
Enter the Redirect URI: Web | https://api.wiresk.com/api/auth/callback
Then, click on Register button.
Get the App ID Copy Link
On your Wiresk app overview screen, your App ID and tenant ID are displayed.
How to get the App Secret Copy Link
From the step before, click on the link next to “client credentials” or on the left side bar menu “Certificates & Secrets”
- Select New client secret
- Write the client’s description or name
- Select the client secret expiration period. It is strongly advised to set the maximum period which is 2 years. This will prevent you from having to renew it too quickly.
- Click on Add button
Set the API Permissions Copy Link
- Select API permissions
- Click on add a permission
- Select the Microsoft app that you want to set permissions, in our case choose Dynamics CRM
- Select the available permission
- Click on add permissions
Repeat the same steps to add permissions for other Microsoft apps (useful if you use other Microsoft apps like Power Bi or Graph).
Now that you have in hand the Tenant ID, the App ID, and the App Secret, lets create a Microsoft connection.
Create a Microsoft Connection Copy Link
On the left panel of Wiresk user interface, go to “My apps” and click on the (+) button.
Search “Microsoft” in the search field or scroll down the list of apps and choose the Microsoft icon.
There are 2 types of connections available:
- Client Credentials connection
- OAuth connection
Connection by OAuth Copy Link
1 – Give a name to your connection, here we will name it “Microsoft OAuth”
2 – Select the OAuth connect button
3 – Enter your Tenant ID (Mandatory for work or school account) that you saved from How to get the Tenant ID
4 – Enter your App ID from Get the App ID
5 – Enter your App secret “value” from How to get the App Secret
6 – Select Microsoft application for the authorization (don’t forget to set the API permissions for those applications):
- Select a single Microsoft app for specific functionality, in our case, for Dynamics, please select Microsoft Business Central.
- Grant access to all Microsoft apps for this connection, allowing broader use of your account.
7 – Click on Authorize button
You will be redirected to Microsoft “Pick an account” page, select your connected account or choose another one.
Then you will be asked to give permissions to Wiresk, click on Accept button and you will be redirected to the connection screen.
Save the connection for Microsoft dynamics connection.
Connection by Client credentials Copy Link
1 – Name your connection, for example, “Microsoft Client Credentials”
2 – Select Client Credentials connection type
3 – Enter your Tenant ID that you saved from How to get the Tenant ID
4 – Enter your App ID from Get the App ID
5 – Enter your App secret “value” from How to get the App Secret
6 – Create your Microsoft connection by clicking on the “Create App” button, then you can use this connection for Dynamics connection.
Create your MS Dynamics 365 CRM Connection Copy Link
go to “My apps” and click on the (+) button.
Search “Dynamics” in the search field or scroll down the list of apps and choose the MS Dynamics icon.
After successfully creating a Microsoft connection as a prerequisite (connection by OAuth or Client Credentials), you can now establish a connection to Dynamics 365 CRM. Follow these steps to complete the process.
1 – Name your connection, for example “Dynamics”
2 – Select the Microsoft Connection type that you previously created
3 – Enter your Dynamics URL
Find your Dynamics 365 CRM URL Copy Link
Go to your Microsoft 365 app page> Click on the Dynamics 365 app. You will be redirected to your Microsoft Dynamics 365 CRM page. After that, go to your browser address bar and copy the link address (from the beginning and stop at the /main.aspx/ ). For example, if your URL is https://crm.example.dynamics.com/main.aspx. You should copy “https://crm.example.dynamics.com” and paste it in the Dynamics URL.
4 – Select your Microsoft connection
5 – Click on “Create App” button, Voila! Your Microsoft Dynamics 365 CRM is now Connected to Wiresk.
3 – Create your automated Flows with MS Dynamics 365 Copy Link
After linking MS Dynamics 365 CRM to Wiresk, you can start creating your Flows.
A. Create a Flow Copy Link
Select your Group, then on the Flow management screen click on “Create Flow”.
Select the Trigger Copy Link
On the new screen, name the Flow that you want to create.
Add your Trigger by clicking on the red plus (+) button.
On the Trigger selection screen, search your app or select it from the list below the screen.
On the new screen, select your specific Trigger then configure it (refer to Trigger settings below).
As mentioned in “How to connect your app to Wiresk” above, during your Trigger settings, you can create a new connection to your apps at this stage.
B – Add an HTTP Trigger to your Flow Copy Link
An HTTP Trigger allows you to manually activate your Flows.
Common Use Cases for Manual Triggers: Copy Link
- One-time tasks: For tasks that only need to be performed once, like sending a specific notification or updating a database record.
- Ad-hoc actions: For actions that need to be triggered on demand, without relying on scheduled events or data changes.
- Testing and debugging: For testing and debugging Flows without relying on external events or conditions.
HTTP Trigger settings Copy Link
Click on the red plus button (+) again to add a Trigger for testing your Flow, then click on the button “HTTP Trigger”.
Write a description and select your API key or create a new one.
Click on save.
Now you can use your HTTP Trigger to Manually run your Flow.
C – Add a Method to your Flow Copy Link
The Method will perform a specific task on a particular app or service you’ve connected to Wiresk like get info or send emails.
You can add at least 1 or multiple Methods for complex Flows (a maximum of 255 Methods).
On the Flow builder screen, click on the plus button (+) next to the Trigger icon.
Search or scroll down to select your apps Methods. Refer to Methods list and setting in this documentation.
D – Add Wiresk Tools to your Flow Copy Link
If you want to build a complex Flow, Wiresk offers a selection of tools at your disposal. Refer to Wiresk’s Tools
To add Tools in your Flow, Follow the same step as adding the Methods. On the Flow builder screen, click on the plus button (+) then just click on the “Tool” tab and select the Tool that you want to add.
4 – MS Dynamics 365 CRM Trigger settings Copy Link
What will start your automation…
Recurrence rule or scheduler settings Copy Link
Setting up the recurrence rule or scheduler of your Trigger (if the Trigger is not a Webhook):
- Regular intervals will monitor your Trigger by intervals in minute
- Daily recurrence will monitor your Trigger by day and hour
- Monthly recurrence will monitor your Trigger every month on a defined date and hour
- Yearly recurrence will monitor your Trigger on a specific date and hour every year
- Specific dates will start your Trigger on specific dates
Get sample Copy Link
After setting up the Trigger parameters (refer to how to define your parameters in the steps below), click on “Get sample”.
The “Get sample” allows you to extract a subset of data for validation. The data will be used to MAP your Method parameters according to your Flow. Refer to FIELD MAPPING documentation.
MS Dynamics 365 CRM Triggers list Copy Link
Here, you will find all MS Dynamics 365 CRM Triggers available in Wiresk with their parameter descriptions.
a – Scheduled Triggers Copy Link
Retrieve records using Wiresk’s Query Builder Copy Link
A Query Builder allows you to create complex SQL queries without having to write any code.
This allows non-technical users to easily access and analyze data with a graphical user interface.
Configuration Table:
Name* | Retrieve Records using Wiresk’s Query Builder |
Connection* | Select your connection or create one Refer to how to create a connection. |
Time out | You can additionally set the Trigger duration to limit the information processed per execution to optimize performance and resource usage. |
Recurrence rule/scheduler* | Set up your recurrence rule |
Parameters | |
Entity* (Set of data that contain information) | Select the entity from which data will be retrieved. |
Related Entities | This section allows you to link related entities in Dynamics 365 CRM to the primary entity you are querying. For example: If you’re querying “Activity,” you might want to include related records such as the “Contact” or “Account” associated with each activity. Clicking “Link an entity” will let you select and define relationships between the primary entity and its related entities. |
Configure Filter | This tab enables you to define specific criteria to narrow down the records being retrieved. |
Configure grouping | This tab allows you to group the retrieved records based on certain attributes or fields. For example: If querying “Activity,” you could group records by “Activity Type” (e.g., phone calls, emails, tasks). |
Configure Columns Preview Data Number of records:10 Begin at record:0 Edit Columns Configure Sorting | Configure which columns or fields of data will be retrieved and included in the output. For example, in an “Activity” query, you might select fields such as “Subject,” “Status,” “Owner,” and “Due Date.” To visualize the records. You must select at least 1 Columns to get the Preview Data. If you get this message:” Cannot convert undefined or null to object”, it means there is no records. By default, 10 records will be shown The display starts at record 0 Customize which columns are displayed and retrieved. Minimum 1 column, maximum 50 columns. This option is for sorting the data in the columns by Ascending or descending order. |
(*) required field
Before saving your Trigger, don’t forget to use “Get Sample”.
Retrieve records using FetchXML Copy Link
FetchXml is a proprietary XML based query language used to retrieve data from Dataverse.
Refer to Query data using FetchXml
Configuration Table:
Name* | Retrieve records using FetchXML |
Connection* | Select your connection or create one Refer to how to create a connection. |
Time out | You can additionally set the Trigger duration to limit the information processed per execution to optimize performance and resource usage. |
Recurrence rule/scheduler* | Set up your recurrence rule |
Parameters | |
FetchXML* | Enter the FetchXML query |
Preview Data | Preview the retrieved data. In specific Trigger instances, data can only be previewed when it is available for retrieval. If no event occurs from the Trigger, an error message will be displayed. |
(*) required field
Before saving your Trigger, don’t forget to use “Get Sample”.
b – Webhook Triggers Copy Link
The Flow will initiate automatically when a webhook event is received . This means that the Flow is automated without a scheduler and will run until you deactivate the Flow manually.
On Update of Record Copy Link
Configuration Table:
Description* | Name or description of the Webhook |
Connection* | Select your connection or create one. Refer to how to create a connection. |
API Key* | Select or Create an API Key for authenticating the Webhook request. |
Parameters | |
Record Type* | Select the type of CRM record to monitor for updates. Examples of record types might include “Contact,” “Account,” “Opportunity,” or “Activity.” |
Filtering Attributes | Define specific attributes to filter which updates trigger the Webhook. For example, you might specify a list of attributes like “Status,” “Owner,” or “Priority.” Only updates to the specified attributes will trigger the Webhook. “List of value” is where these attributes are listed. |
(*) required field
Before saving your Trigger, don’t forget to use “Get Sample”.
On Deletion of Record Copy Link
Configuration Table:
Description* | Name or description of the Webhook |
Connection* | Select your connection or create one. Refer to how to create a connection. |
API Key* | Select or Create an API Key for authenticating the Webhook request. |
Parameters | |
Record Type* | Select the type of CRM record to monitor. Examples of record types might include “Contact,” “Account,” “Opportunity,” or “Activity.” |
Filtering Attributes | Define specific attributes to filter which deletion trigger the Webhook. For example, you might specify a list of attributes like “Status,” “Owner,” or “Priority.” Only deletions to the specified attributes will trigger the Webhook. “List of value” is where these attributes are listed. |
(*) required field
Before saving your Trigger, don’t forget to use “Get Sample”.
On Creation of Record Copy Link
Configuration Table:
Description* | Name or description of the Webhook |
Connection* | Select your connection or create one. Refer to how to create a connection. |
API Key* | Select or Create an API Key for authenticating the Webhook request. |
Parameters | |
Record Type* | Select the type of CRM record to monitor. Examples of record types might include “Contact,” “Account,” “Opportunity,” or “Activity.” |
Filtering Attributes | Define specific attributes to filter which creation trigger the Webhook. For example, you might specify a list of attributes like “Status,” “Owner,” or “Priority.” Only creations to the specified attributes will trigger the Webhook. “List of value” is where these attributes are listed. |
(*) required field
Before saving your Trigger, don’t forget to use “Get Sample”.
5 – MS Dynamics 365 CRM Method settings Copy Link
What your automation will do…
Note that certain Methods will require an Entity Unique ID (Globally Unique Identifier – GUID)
How to get the Entity Id (GUID): Copy Link
- From a Flow step in Wiresk or Power Automate (using dynamic fields).
- Using Dynamics 365 Web API (via RESTful requests).
- Using Advanced Find (and exporting results to Excel).
- Using Dynamics 365 SDK (programmatically via C# or similar languages).
- Directly from the URL of a record in the Dynamics 365 interface.
- Using Custom Reports (e.g., SQL queries or fetch XML).
- Through Third-Party Tools or Plugins (e.g., XrmToolBox).
MS Dynamics 365 CRM Method list Copy Link
Here, you will find all MS Dynamics 365 CRM Methods available in Wiresk with their parameter descriptions.
Associate Records Copy Link
See Microsoft documentation “Introduction to Entities”, Associate.
Configuration Table:
Input Options:
- Input: Allows dynamic inputs, e.g., from a previous step.
- Default Value: You can specify a fixed attribute.
Name* | Associate Records |
Connection* | Select your connection or create one |
Map Fields | |
Main Entity* | The primary entity (record) in the association. |
Relation Name* | Specifies the type of relationship between the main entity and the related entity. Example: For “Account” and “Contact,” the relationship name might be “account_primary_contact” or similar. The purpose is to defines the nature of the association as configured in the Dynamics 365 CRM metadata. |
Related Entity Name* | The entity being associated with the main entity. Similar to the Main Entity, you can dynamically input this value or set a default. |
Related Entity Id* | The unique identifier (GUID) of the related entity record. See how to get the GUID. |
(*) required field
Create Record Copy Link
Configuration Table:
Input Options:
- Input: Allows dynamic inputs, e.g., from a previous step.
- Default Value: You can specify a fixed attribute.
Name* | Create Record |
Connection* | Select your connection or create one |
Entity* | Select the Entity (record) type to create, e.g, “Contact” |
Map Fields* [+ Add Field] | Add various attributes to your Entity (Record) from a dynamic list. E.g, “First name” |
(*) required field
Delete Record Copy Link
Delete
privilege or access rights for any of these related records. Configuration Table:
Input Options:
- Input: Allows dynamic inputs, e.g., from a previous step.
- Default Value: You can specify a fixed attribute.
Name* | Delete Record |
Connection* | Select your connection or create one |
Entity* | Select the Entity (record) type to delete, e.g, “Contact” |
Matching Criteria* [+ Add Matching] Condition logic: | Add various Matching criteria for attributes to your Entity (Record) from a dynamic list. E.g, “First name” Equals Does Not Equal Is Empty Is Not Empty Like Not Like |
(*) required field
Dissociate Records Copy Link
Configuration Table:
Input Options:
- Input: Allows dynamic inputs, e.g., from a previous step.
- Default Value: You can specify a fixed attribute.
Name* | Dissociate Records |
Connection* | Select your connection or create one |
Map Fields | |
Main Entity* | The primary entity (record) in the association. |
Relation Name* | The name of the relationship to be used to remove the link. |
Related Entity Id* | The unique identifier (GUID) of the related entity record. See how to get the GUID. |
(*) required field
Execute an Action Copy Link
Configuration Table:
Input Options:
- Input: Allows dynamic inputs, e.g., from a previous step.
- Default Value: You can specify a fixed attribute.
Name* | Execute an Action |
Connection* | Select your connection or create one |
Map Fields [+ Add Field] Optionally add new fields to the mapping | |
Action Name* | Specifies the name of the action to execute in Dynamics 365 CRM. Choose from system-defined actions (e.g., Assign , SendEmail , QualifyLead ) or custom actions created in Dynamics 365. |
Record Id* | Identifies the specific record (entity) on which the action is executed. Requires the GUID of the record (e.g., the unique ID of a contact or account). Can be dynamically mapped from a prior step in the workflow. See how to get the GUID. |
(*) required field
Retrieve By FetchXML Copy Link
Configuration Table:
Input Options:
- Input: Allows dynamic inputs, e.g., from a previous step.
- Default Value: You can specify a fixed attribute.
Name* | Retrieve By FetchXML |
Connection* | Select your connection or create one |
Map Criteria | |
Fetch XML* | Enter your FetchXML query. |
(*) required field
Retrieve Multiple Records Copy Link
The collection of returned records contains the values for the properties that are specified in the query. Any other property values are not returned.
If the query includes columns that are not valid for retrieval, they are ignored.
Configuration Table:
Input Options:
- Input: Allows dynamic inputs, e.g., from a previous step.
- Default Value: You can specify a fixed attribute.
Name* | Retrieve Multiple Records |
Connection* | Select your connection or create one |
Entity* | Select the entity from which data will be retrieved. |
Matching Criteria* [+ Add Matching] Condition logic: | Add various Matching criteria for attributes to your Entity (Record) from a dynamic list. E.g, “First name” Equals Does Not Equal Is Empty Is Not Empty Like Not Like |
(*) required field
Retrieve Record Copy Link
Configuration Table:
Input Options:
- Input: Allows dynamic inputs, e.g., from a previous step.
- Default Value: You can specify a fixed attribute.
Name* | Retrieve Record |
Connection* | Select your connection or create one |
Entity* | Select the Entity (record) type to delete, e.g, “Contact” |
Failure mode | Select a mode: Trigger an Error Ignore and return null Get First record and continue |
Matching Criteria* [+ Add Matching] Condition logic: | Add various Matching criteria for attributes to your Entity (Record) from a dynamic list. E.g, “First name” Equals Does Not Equal Is Empty Is Not Empty Like Not Like |
(*) required field
Update Record Copy Link
Configuration Table:
Input Options:
- Input: Allows dynamic inputs, e.g., from a previous step.
- Default Value: You can specify a fixed attribute.
Name* | Update Record |
Connection* | Select your connection or create one |
Entity* | Select the Entity (record) type to delete, e.g, “Contact” |
Map Fields* [+ Add Field] | Add various attributes to your Entity (Record) from a dynamic list. |
Matching Criteria* [+ Add Matching] Condition logic: | Add various Matching criteria for attributes to your Entity (Record) from a dynamic list. Equals Does Not Equal Is Empty Is Not Empty Like Not Like |
(*) required field
Upsert Record Copy Link
Configuration Table:
Input Options:
- Input: Allows dynamic inputs, e.g., from a previous step.
- Default Value: You can specify a fixed attribute.
Name* | Upsert Record |
Connection* | Select your connection or create one |
Entity* | Select the Entity (record) type to delete, e.g, “Contact” |
Map Fields* [+ Add Field] | Add various attributes to your Entity (Record) from a dynamic list. |
Matching Criteria* [+ Add Matching] Condition logic: | Add various Matching criteria for attributes to your Entity (Record) from a dynamic list. Equals Does Not Equal Is Empty Is Not Empty Like Not Like |
(*) required field
6 – Test run or automate your Flow Copy Link
After setting up your Flow, you can choose to:
- “Run once”, your Flow will run only a single time. You can use this function to test your Flow. Refer to how to set up an HTTP Trigger, in the Trigger setting step.
- “Run Scheduler” will automate your Flows with the recurrence rule you previously defined.
For more details, refer to How to run a Flow tutorial in our Help Center.
If you are using a Webhook Trigger, the Flow will initiate automatically when a webhook is received from your connected apps. This means that the Flow is automated without a scheduler and will run until you deactivate the Flow manually. Refer to Webhook documentation in our Help Center.
If you need an integration that you cannot find in Wiresk, you can make a request to our team, and we will try our best to satisfy your needs.