Dynamics 365 Tool
Read and create Dynamics 365 CRM data — accounts, contacts, leads, opportunities — via the Dataverse Web API.
Tool ID
dynamics-crm
Credential Required
Yes — a server-refreshed oauth credential (auth mode: oauth_user). The InTouch server resolves and refreshes the linked OAuth credential and hands the tool a live access token; the tool never refreshes or stores tokens itself. All requests go to https://<org>.crm.dynamics.com/api/data/v9.2 with Authorization: Bearer <access_token>.
Credential Properties
| Property | Type | Default | Description |
|---|---|---|---|
client_id |
string | — | OAuth app client ID (the Microsoft Entra app registration) |
client_secret |
string | — | OAuth app client secret (if required on refresh) |
token_url |
string | — | Provider OAuth token endpoint — used to refresh |
access_token |
string | — | Required. Current access token — kept fresh by the server; do not edit by hand |
refresh_token |
string | — | Refresh token; enables automatic server-side refresh |
token_type |
string | Bearer |
Token type |
scope |
string | — | Granted OAuth scopes (space-separated) |
expires_at |
string | — | Access-token expiry in epoch seconds (0 = non-expiring) |
The Dataverse org itself is not part of the credential — each task supplies the org input (forms the host <org>.crm.dynamics.com).
Operations
1. list_accounts — List accounts
Lists CRM accounts. Calls GET /accounts.
Properties:
| Property | Type | Default | Description |
|---|---|---|---|
operation |
string (enum) | — | Required. One of: list_accounts, get_account, list_contacts, list_leads, list_opportunities, create_account |
org |
string | — | Required. Dataverse org name — forms the host {org}.crm.dynamics.com (e.g. contoso) |
query |
string | — | OData query params as a JSON object string, e.g. {"$top": 10, "$select": "name,telephone1"} |
Published Outputs:
- result — the JSON response body
- status — HTTP status code
2. get_account — Get one account
Fetches a single account by GUID. Calls GET /accounts({id}).
Properties:
| Property | Type | Default | Description |
|---|---|---|---|
operation |
string (enum) | — | Required. |
org |
string | — | Required. Dataverse org name |
id |
string | — | Required for this operation. Account GUID |
query |
string | — | OData query params as a JSON object string |
Published Outputs:
- result — the JSON response body
- status — HTTP status code
3. list_contacts — List contacts
Lists CRM contacts. Calls GET /contacts.
Properties:
| Property | Type | Default | Description |
|---|---|---|---|
operation |
string (enum) | — | Required. |
org |
string | — | Required. Dataverse org name |
query |
string | — | OData query params as a JSON object string |
Published Outputs:
- result — the JSON response body
- status — HTTP status code
4. list_leads — List leads
Lists CRM leads. Calls GET /leads.
Properties:
| Property | Type | Default | Description |
|---|---|---|---|
operation |
string (enum) | — | Required. |
org |
string | — | Required. Dataverse org name |
query |
string | — | OData query params as a JSON object string |
Published Outputs:
- result — the JSON response body
- status — HTTP status code
5. list_opportunities — List opportunities
Lists CRM opportunities. Calls GET /opportunities.
Properties:
| Property | Type | Default | Description |
|---|---|---|---|
operation |
string (enum) | — | Required. |
org |
string | — | Required. Dataverse org name |
query |
string | — | OData query params as a JSON object string |
Published Outputs:
- result — the JSON response body
- status — HTTP status code
6. create_account — Create an account
Creates a new CRM account. Calls POST /accounts with a JSON body.
Properties:
| Property | Type | Default | Description |
|---|---|---|---|
operation |
string (enum) | — | Required. |
org |
string | — | Required. Dataverse org name |
body |
string | — | Account JSON object string, e.g. {"name": "Contoso Ltd"} |
query |
string | — | OData query params as a JSON object string |
Published Outputs:
- result — the JSON response body
- status — HTTP status code
Self-Contained JAR
The jar bundles all runtime dependencies; only intouch-tool-api is provided by the server.
Publishes
The keys a later task may reference as {{taskName.key}}. Referencing anything not listed here resolves to nothing at run time.
completeoperationresultstatuswarning