Microsoft Dataverse (Dynamics 365 CRM)

Integrate your application with the Microsoft Dataverse (Dynamics 365 CRM) API

🚀 Quickstart

Connect to Microsoft Dataverse with Tenklo and see data flow in 2 minutes.

Create the integration

In Tenklo (free signup), go to Integrations -> Configure New Integration -> Microsoft Dataverse (Dynamics 365 CRM).

Authorize Microsoft Dataverse

Go to Connections -> Add Test Connection -> Authorize, then enter your Tenant ID and Environment URL, and log in to Microsoft Dataverse. Later, you'll let your users do the same directly from your app.

Call the Microsoft Dataverse API

Let's make your first request to the Dataverse Web API (confirm the connected user's identity). Replace the placeholders below with your Environment API key, integration ID, and connection ID:

curl "https://api.tenklo.dev/proxy/api/data/v9.2/WhoAmI" \
  -H "Authorization: Bearer <NANGO-API-KEY>" \
  -H "Provider-Config-Key: <INTEGRATION-ID>" \
  -H "Connection-Id: <CONNECTION-ID>"

Or fetch credentials with the Node SDK or API.

✅ You're connected! Check the Logs tab in Tenklo to inspect requests.

Implement Tenklo in your app

Follow our quickstart to integrate Tenklo in your app.

To obtain your own production credentials, follow the setup guide linked below.

📚 Microsoft Dataverse integration guides

Tenklo maintained guides for common use cases.

Official docs: Use OAuth authentication with Microsoft Dataverse

🧩 Pre-built syncs & actions for Microsoft Dataverse

Explore Nango-provided actions in your dashboard. Extend and customize them to fit your needs.

Others

Function nameDescriptionTypeSource code
associate-recordsCreate a relationship link between two records via a navigation property.Action🔗 Github
create-accountCreate an account.Action🔗 Github
create-appointmentCreate an appointment activityAction🔗 Github
create-caseCreate a customer service caseAction🔗 Github
create-contactCreate a contact.Action🔗 Github
create-emailCreate an email activity record.Action🔗 Github
create-leadCreate a lead.Action🔗 Github
create-noteCreate a note attached to a parent record.Action🔗 Github
create-opportunityCreate a sales opportunityAction🔗 Github
create-phone-callCreate a phone call activityAction🔗 Github
create-recordCreate a record of any Dataverse entity from a field/value payload.Action🔗 Github
create-taskCreate a task.Action🔗 Github
delete-accountDelete an accountAction🔗 Github
delete-caseDelete a caseAction🔗 Github
delete-contactDelete a contact.Action🔗 Github
delete-leadDelete a lead.Action🔗 Github
delete-opportunityDelete an opportunity.Action🔗 Github
delete-recordDelete a record of any Dataverse entity by id.Action🔗 Github
disassociate-recordsRemove a relationship link between two records via a navigation property.Action🔗 Github
get-accountRetrieve a single account by id.Action🔗 Github
get-appointmentRetrieve a single appointment activity by id.Action🔗 Github
get-caseRetrieve a single case by id.Action🔗 Github
get-contactRetrieve a single contact by idAction🔗 Github
get-emailRetrieve a single email activity by idAction🔗 Github
get-entity-definitionGet metadata for a single entity by logical name, including its entity set name.Action🔗 Github
get-leadRetrieve a single lead by id.Action🔗 Github
get-noteRetrieve a single note by idAction🔗 Github
get-opportunityRetrieve a single opportunity by id.Action🔗 Github
get-phone-callRetrieve a single phone call activity by id.Action🔗 Github
get-recordRetrieve a single record of any Dataverse entity by idAction🔗 Github
get-taskRetrieve a single Dataverse task by its id.Action🔗 Github
get-teamRetrieve a single team by id.Action🔗 Github
get-userRetrieve a single system user by id.Action🔗 Github
list-accountsList accounts (companies/organizations) in Microsoft Dataverse.Action🔗 Github
list-appointmentsList Dataverse appointment activities.Action🔗 Github
list-casesList customer service cases (incidents).Action🔗 Github
list-contactsList contacts (people).Action🔗 Github
list-emailsList Dataverse email activities.Action🔗 Github
list-entity-attributesList all fields (attributes) defined on a given Dataverse entity, including custom fields.Action🔗 Github
list-entity-definitionsList metadata for all entities (tables) defined in the org, including custom entities.Action🔗 Github
list-leadsList leads (unqualified prospects) from Microsoft Dataverse.Action🔗 Github
list-notesList Dataverse notes (annotations), optionally scoped to a parent record.Action🔗 Github
list-opportunitiesList sales opportunities.Action🔗 Github
list-phone-callsList Dataverse phone call activities.Action🔗 Github
list-recordsList records of any Dataverse entity (standard or custom) with OData query supportAction🔗 Github
list-tasksList Dataverse tasks (activity records), with optional OData select, filter, orderby, and top controls.Action🔗 Github
list-teamsList Dataverse teams (read-only).Action🔗 Github
list-usersList Dataverse system users (read-only)Action🔗 Github
query-records-fetchxmlQuery any Dataverse entity using a raw FetchXML query, for aggregations and joins beyond simple OData $filter.Action🔗 Github
update-accountUpdate an account's fields.Action🔗 Github
update-caseUpdate a case's fields (e.g. change priority). Does not support resolving or cancelling a case.Action🔗 Github
update-contactUpdate a contact's fields (partial merge: only provided fields are changed)Action🔗 Github
update-leadUpdate a lead's fields.Action🔗 Github
update-opportunityUpdate an opportunity's fields.Action🔗 Github
update-recordUpdate (partial merge) fields on an existing record of any Dataverse entity.Action🔗 Github
accountsSync accounts (companies/organizations) from Microsoft Dataverse, incrementally, with a periodic full refresh to detect deletions.Sync🔗 Github
appointmentsSync appointment activities from Microsoft Dataverse, incrementally by versionnumber, with a periodic full refresh (every 24h) to detect deletions such as appointments cascade-deleted with their parent record.Sync🔗 Github
casesIncrementally sync customer service cases (Dataverse incidents) using a versionnumber cursor, with a delete-tracked full refresh every 24 hoursSync🔗 Github
contactsSync contacts (people) from Microsoft Dataverse incrementally, with a periodic full refresh to detect deletions.Sync🔗 Github
emailsSync email activities from Microsoft Dataverse, incrementally by versionnumber with a periodic full refresh to detect deletions.Sync🔗 Github
leadsSync leads (unqualified prospects) from Microsoft Dataverse, incrementally by versionnumber, with a periodic full refresh to detect deletions.Sync🔗 Github
notesSync notes (annotations) from Microsoft Dataverse, incrementally by versionnumber, with a periodic delete-tracked full refresh.Sync🔗 Github
opportunitiesSync sales opportunities from Microsoft Dataverse, incrementally by versionnumber with a periodic full refresh to detect deletions.Sync🔗 Github
phone-callsSync Microsoft Dataverse phone call activities, incrementally by versionnumber, with a periodic full crawl to detect deletions.Sync🔗 Github
tasksSync task activities from Microsoft Dataverse, incrementally on versionnumber, with a periodic full refresh to detect deletions.Sync🔗 Github
teamsSync Microsoft Dataverse teams incrementally by versionnumber, with a periodic full refresh to detect deletions.Sync🔗 Github
usersIncrementally sync Microsoft Dataverse system users (systemusers), with a weekly full refresh to detect hard-deleted users.Sync🔗 Github

On this page