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

# Dynamics 365 contact sync

> Sync Microsoft Dynamics 365 Contacts with Retell AI: field mappings, post-call analysis write-back, and calls logged as Phone Call activities.

Contact sync imports your Dynamics Contacts into Retell, writes [post-call analysis](/features/post-call-analysis-overview) results back to their fields, and logs each call as a completed Phone Call activity on the Contact's timeline. This page covers the Dynamics-specific behavior; [CRM integrations](/integrations/crm-overview) explains the four data flows all CRM providers share.

Contact sync requires a [connected Dynamics 365 environment](/integrations/microsoft-dynamics). Integration tools work without it — see [Dynamics 365 agent functions](/integrations/microsoft-dynamics-functions).

## Required privileges

Sync runs as the [signed-in account](/integrations/microsoft-dynamics#prerequisites), whose security role needs:

* **Read** on Contact, including every field you import.
* **Write** on Contact for outbound sync.
* **Create** and **Write** on Phone Call and Task for activity logging, since Retell creates each activity and then closes it as completed. Attaching them to the Contact also needs **Append** on the activity and **Append To** on Contact.

A missing privilege doesn't flag the connection; that field or feature silently stops syncing.

## Set up contact sync

After the connection test passes, click **Set up contact sync** to open the field mapping dialog, then map the Dynamics fields you want to import and the Retell fields you want to write back. For a connection made earlier, the same dialog opens from the **Connected** tab: open the connection's settings and click **Set up contact sync**.

Retell pre-fills one mapping in each direction: Dynamics `telephone1` (Business Phone) to Retell `phone_number`. Phone number is how contacts are matched between the two systems, so it stays mapped and can't be removed. If your phone numbers live in a different field, such as `mobilephone`, change the external field on both tabs. See [CRM data mappings](/integrations/crm-mappings) for how to map the rest, create custom fields, and choose update modes.

To log conversations to Dynamics, turn on **Log activities automatically** on the **Sync to Microsoft Dynamics 365** tab.

## Verify it worked

* Open **Contacts**. After the first sync, Dynamics Contacts appear with correctly formatted phone numbers and your mapped fields populated.
* The first sync is a full scan of every contact that has the mapped phone field, so a large environment takes a while. After that, Retell polls every 5 minutes (as of August 2026) and imports only contacts modified since the last run.

<Note>
  Contacts with no value in the mapped phone field are excluded from the sync entirely, as are contacts whose number can't be parsed into a valid E.164 number.
</Note>

## How are conversations logged in Dynamics 365?

A call becomes a **Phone Call** activity marked completed, with the direction, the duration rounded up to whole minutes, and a description carrying the call ID, the from and to numbers, the disconnection reason, and the summary. A chat becomes a completed **Task**. Both attach to the Contact Retell matched by phone number.

## Troubleshooting

<AccordionGroup>
  <Accordion title="Sync works but activities never appear on the timeline">
    Activity logging needs **Log activities automatically** enabled on the **Sync to Microsoft Dynamics 365** tab, a Retell contact that was imported from this connection, and a security role that can create and complete Phone Call and Task activities. A call from a number that doesn't match a synced contact is never logged.
  </Accordion>
</AccordionGroup>

## FAQ

<AccordionGroup>
  <Accordion title="Does Retell create or delete Contacts in Dynamics?">
    By default it only updates Contacts that already exist in Dynamics, and it never deletes them. Turn on **Create new contacts in CRM** on the **Sync to Microsoft Dynamics 365** tab to have Retell create a Contact after a conversation when the matched contact isn't linked to one yet. Your agent can also create Contacts through the **Create Contact** [tool](/integrations/microsoft-dynamics-functions), but that's an explicit tool call, not sync.
  </Accordion>
</AccordionGroup>

## Next steps

<CardGroup cols={2}>
  <Card title="CRM data mappings" icon="arrows-left-right" href="/integrations/crm-mappings">
    Map Dynamics fields to Retell contacts, choose update modes, and control what syncs back.
  </Card>

  <Card title="Build contact memory" icon="brain" href="/integrations/build-contact-memory">
    Accumulate what your agents learn across conversations into the contact record.
  </Card>

  <Card title="Dynamic variables" icon="code" href="/build/dynamic-variables">
    Reference synced contact fields from your agent's prompt.
  </Card>

  <Card title="Dynamics 365 agent functions" icon="wrench" href="/integrations/microsoft-dynamics-functions">
    Look up callers, update Contacts, and create Tasks and Notes mid-conversation.
  </Card>
</CardGroup>
