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

# Microsoft Dynamics 365

> Review the minimum OAuth scopes for every Dynamics 365 action.

Review the minimum standard delegated scope mapping for every Microsoft Dynamics 365 action. Dataverse has no thinner OAuth sibling than `user_impersonation` on the organization URL. Table-level access is a Dataverse security role, not an OAuth scope. `Sites.Selected` does not apply.

## Minimal scopes per action

<Note>
  Each Dynamics 365 connection also requests `openid` and `offline_access`. Replace `{organization-url}` with the Dataverse environment URL, for example `https://org12345.crm.dynamics.com/user_impersonation`.
</Note>

<div style={{overflowX: "auto"}}>
  <table style={{width: "100%", maxWidth: "100%", minWidth: 0, tableLayout: "fixed", whiteSpace: "normal", overflowWrap: "anywhere", wordBreak: "break-word"}}>
    <colgroup>
      <col style={{width: "20%"}} />

      <col style={{width: "25%"}} />

      <col style={{width: "55%"}} />
    </colgroup>

    <thead>
      <tr>
        <th style={{width: "20%"}}>Action</th>
        <th style={{width: "25%"}}>Description</th>
        <th style={{width: "55%"}}>Minimum scopes</th>
      </tr>
    </thead>

    <tbody>
      <tr>
        <td><strong>Close opportunity as lost</strong></td>
        <td>Closes a Sales opportunity as lost.</td>
        <td><code>{organization-url}/user\_impersonation</code></td>
      </tr>

      <tr>
        <td><strong>Close opportunity as won</strong></td>
        <td>Closes a Sales opportunity as won.</td>
        <td><code>{organization-url}/user\_impersonation</code></td>
      </tr>

      <tr>
        <td><strong>Create record</strong></td>
        <td>Creates a Dataverse record.</td>
        <td><code>{organization-url}/user\_impersonation</code></td>
      </tr>

      <tr>
        <td><strong>Delete record</strong></td>
        <td>Deletes a Dataverse record.</td>
        <td><code>{organization-url}/user\_impersonation</code></td>
      </tr>

      <tr>
        <td><strong>Describe table</strong></td>
        <td>Describes a Dataverse table and its columns.</td>
        <td><code>{organization-url}/user\_impersonation</code></td>
      </tr>

      <tr>
        <td><strong>Disqualify lead</strong></td>
        <td>Disqualifies a Sales lead.</td>
        <td><code>{organization-url}/user\_impersonation</code></td>
      </tr>

      <tr>
        <td><strong>Get record</strong></td>
        <td>Gets a Dataverse record by ID.</td>
        <td><code>{organization-url}/user\_impersonation</code></td>
      </tr>

      <tr>
        <td><strong>List records</strong></td>
        <td>Lists records from a Dataverse table.</td>
        <td><code>{organization-url}/user\_impersonation</code></td>
      </tr>

      <tr>
        <td><strong>List tables</strong></td>
        <td>Lists Dataverse tables in the environment.</td>
        <td><code>{organization-url}/user\_impersonation</code></td>
      </tr>

      <tr>
        <td><strong>Qualify lead</strong></td>
        <td>Qualifies a Sales lead.</td>
        <td><code>{organization-url}/user\_impersonation</code></td>
      </tr>

      <tr>
        <td><strong>Recalculate opportunity</strong></td>
        <td>Recalculates a Sales opportunity.</td>
        <td><code>{organization-url}/user\_impersonation</code></td>
      </tr>

      <tr>
        <td><strong>Update record</strong></td>
        <td>Updates a Dataverse record.</td>
        <td><code>{organization-url}/user\_impersonation</code></td>
      </tr>
    </tbody>
  </table>
</div>

## Related pages

* [Microsoft Integration Scopes](/en/admin/manage-integrations/microsoft-integration-scopes)
* [Microsoft integrations: permissions and admin approval](/en/admin/manage-integrations/integration-setup-guides/microsoft)
