> ## Documentation Index
> Fetch the complete documentation index at: https://dialnexa.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Dynamics 365 Voice AI Integration Guide

> Connect DialNexa voice AI with Dynamics 365 to identify customers, qualify leads, update cases, and assign follow-up activities.

The **Dynamics 365 voice AI integration** helps sales and service teams use the same customer context during calls. The agent can look up an approved record, collect structured information, and hand the outcome to the correct Dynamics 365 owner.

<Warning>
  A catalog page describes a possible workflow. It does not confirm that a native Dynamics 365 connector is enabled in your workspace. Check **Integrations** in the DialNexa dashboard first. If Dynamics 365 is not listed, use a custom function, agent webhook, or external automation service.
</Warning>

## When to use the Dynamics 365 voice AI integration

Use Dynamics 365 when:

* Sales and Customer Service records already share the same Dataverse environment.
* The agent needs account, contact, lead, or case context before routing the call.
* Call results should create activities or update a small set of approved fields.
* Ownership rules depend on business unit, queue, geography, or account owner.

<Tip>
  **Best first workflow:** Find the contact by normalized phone number, read the open case or lead context, then create a phone-call activity and a follow-up task for the existing owner.
</Tip>

## Before you begin

Prepare the following:

* A published DialNexa agent that has already passed a basic test call.
* Access to the DialNexa workspace **Integrations** page.
* A Dynamics 365 account with permission to read or update the required records.
* One test record that does not affect a live customer.
* A list of actions that can run automatically and actions that require human review.

## Choose how to connect Dynamics 365

| Connection method                                   | Use it when                                                    | Important limit                                                             |
| --------------------------------------------------- | -------------------------------------------------------------- | --------------------------------------------------------------------------- |
| Workspace connector                                 | Dynamics 365 appears in your DialNexa **Integrations** page    | Available actions and authentication depend on your workspace               |
| [Custom function](/docs/agent-settings/custom-functions) | The agent needs Dynamics 365 data during the live conversation | Keep the request fast and return only the fields the agent needs            |
| [Agent webhook](/docs/api-access/agent-webhooks)         | Dynamics 365 should receive a result after the call            | Your endpoint must authenticate, retry safely, and prevent duplicate writes |
| External automation                                 | The workflow spans Dynamics 365 and several other systems      | Monitor the external workflow separately from the DialNexa call             |

## Build the Dynamics 365 voice AI workflow

1. Define the exact event that starts the action, such as a confirmed booking, qualified lead, support escalation, or completed call.
2. Choose the connection method from the table above.
3. Map caller identity, the DialNexa call ID, the verified outcome, and the destination record ID.
4. Add a condition so uncertain, sensitive, destructive, or high-value changes go to a human-owned queue.
5. Store the destination record URL or ID with the call result so your team can trace the handoff.
6. Test success, no-match, duplicate, permission-error, and timeout cases before using live traffic.

## Data to map between DialNexa and Dynamics 365

* Contact, account, lead, opportunity, or case ID and current owner
* Normalized phone number, email, customer number, and business unit
* Call ID, direction, outcome, reason, summary, and requested next step
* Activity owner, due date, queue, and priority
* Recording or transcript link only when your compliance policy permits it

## High-value Dynamics 365 voice AI workflows

| Call outcome                          | Dynamics 365 result                                           | Human control                                      |
| ------------------------------------- | ------------------------------------------------------------- | -------------------------------------------------- |
| Known customer asks for case progress | Read approved case status and route to the assigned queue     | Keep internal notes and sensitive fields hidden    |
| New prospect is qualified             | Create or update a lead and add a phone-call activity         | Review lead-to-opportunity qualification           |
| Customer requests a callback          | Create a dated activity for the current owner                 | Escalate overdue callbacks through existing rules  |
| Caller reports a new issue            | Create a case with category, summary, and priority suggestion | Let service staff confirm priority and entitlement |

## Verify the Dynamics 365 integration

Run a test call and confirm that:

1. The workflow finds the intended Dynamics 365 record instead of creating a duplicate.
2. Only the approved fields change.
3. The DialNexa call ID is stored for traceability and retry protection.
4. A failed request creates a visible error or human-owned task.
5. The receiving owner can open the Dynamics 365 record and understand the next step without reading the full transcript.

## Troubleshoot Dynamics 365 integration issues

| Problem                                    | What to check                                                                                                                                     |
| ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| Dynamics 365 is not shown in the dashboard | Use a custom function, webhook, or external automation service, or [request the integration](/docs/dashboard-integrations/requesting-new-integrations) |
| Authentication fails                       | Reconnect the account and verify scopes, workspace ownership, and token expiry                                                                    |
| No matching record is found                | Normalize phone numbers and email addresses, then define a clear create-versus-review rule                                                        |
| Duplicate updates appear                   | Use the DialNexa call ID as an idempotency key and make retries safe                                                                              |
| The live call becomes slow                 | Move nonessential writes to a post-call webhook and keep live lookups small                                                                       |

## Related pages

* [DialNexa integrations overview](/docs/integrations/overview)
* [Connect dashboard integrations](/docs/dashboard-integrations/connecting-integrations)
* [Use integrations in agents](/docs/dashboard-integrations/using-integrations-in-agents)
* [Use integrations in workflows](/docs/dashboard-integrations/using-integrations-in-workflows)
* [Integration workflow tutorials](/docs/tutorials/integration-workflows)
