Connectors

ERP & Enterprise Systems

Microsoft Dynamics 365

Business apps suite: accounts, contacts, opportunities, and Dataverse records
Signs in with
OAuth 2.0 sign-in
Runs on
Cloud or On-Prem Worker
Operations
160
Ready-made triggers
7

Connect Microsoft Dynamics 365

  1. In Neblex open Connect › Connections and click New Connection.
  2. Search for Microsoft Dynamics 365 and give the connection a clear name.
  3. Fill in the fields. Secret values are encrypted and never shown again.
  4. Click Test, then Create Connection.
For services offered under Connect a Service you only sign in and approve access. Otherwise use Connect with OAuth2 with your own OAuth app. See Authorize with OAuth.
FieldWhat to enter
Environment hostRequiredCloud: org12345.crm.dynamics.com. On-premises: your Dynamics 365 CE server host, e.g. crm.acme.corp.
Token endpointRequiredCloud: https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/token. On-premises: your AD FS token endpoint, e.g. https://adfs.acme.corp/adfs/oauth2/token.
Application (client) IDRequired
Client secretRequiredSecret
ScopeRequiredhttps://<your-environment-host>/.default

Triggers

Start a flow when something changes in Microsoft Dynamics 365: add a Poll for changes trigger, choose Microsoft Dynamics 365 and pick the event.

EventWhat it doesHow
Account created or changedAn account was created or modified.Checks for changes by modifiedon
Case createdA case (incident) was created.Checks for changes by createdon
Contact created or changedA contact was created or modified.Checks for changes by modifiedon
Lead createdA lead was created.Checks for changes by createdon
Opportunity created or changedAn opportunity was created or modified.Checks for changes by modifiedon
Row createdA row was created in the watched table.Checks for changes by createdon
Row updatedA row was modified in the watched table.Checks for changes by modifiedon

Use it in a flow

  1. Open a flow, open the node library and search for Microsoft Dynamics 365.
  2. Drag it onto the canvas and choose an Operation and your connection.
  3. Map the operation's fields from earlier steps, or click Map with Matt.
  4. Use Test this step to see what it returns, then save.

Operations

160 operations in 22 groups. Each one is a step you can add to a flow.

Access3
Grant record accessgrantAccessPOSTGrantAccess: share a record with a user or team.
Modify record accessmodifyAccessPOSTModifyAccess: replace a principal's access rights on a record.
Revoke record accessrevokeAccessPOSTRevokeAccess: remove a principal's access to a record.
Account5
Create an accountcreateAccountPOSTInsert an account; returns the created row.
Delete an accountdeleteAccountDELETEDelete an account by GUID.
Get an accountgetAccountGETFetch one account by GUID.
List accountslistAccountsGETQuery accounts with OData options; Dataverse serves up to 5000 rows per call.
Update an accountupdateAccountPATCHPatch columns on an account by GUID; only the columns you set are sent.
Action2
Call an actioncallActionPOSTInvoke an unbound Dataverse action (e.g. WinOpportunity) with its parameters.
Run a workflowexecuteWorkflowPOSTExecuteWorkflow: start an on-demand classic workflow for one record (bound to the workflow).
Activity21
Create a phone callcreatePhoneCallPOSTInsert a phone call; returns the created row.
Create a taskcreateTaskPOSTInsert a task; returns the created row.
Create an appointmentcreateAppointmentPOSTInsert an appointment; returns the created row.
Create an emailcreateEmailPOSTInsert an email; returns the created row.
Delete a phone calldeletePhoneCallDELETEDelete a phone call by GUID.
Delete a taskdeleteTaskDELETEDelete a task by GUID.
Delete an appointmentdeleteAppointmentDELETEDelete an appointment by GUID.
Delete an emaildeleteEmailDELETEDelete an email by GUID.
Get a phone callgetPhoneCallGETFetch one phone call by GUID.
Get a taskgetTaskGETFetch one task by GUID.
Get an appointmentgetAppointmentGETFetch one appointment by GUID.
Get an emailgetEmailGETFetch one email activity by GUID.
List appointmentslistAppointmentsGETQuery appointments with OData options; Dataverse serves up to 5000 rows per call.
List email activitieslistEmailsGETQuery email activities with OData options; Dataverse serves up to 5000 rows per call.
List phone callslistPhoneCallsGETQuery phone calls with OData options; Dataverse serves up to 5000 rows per call.
List taskslistTasksGETQuery tasks with OData options; Dataverse serves up to 5000 rows per call.
Send an email activitysendEmailPOSTSend a created email activity (bound SendEmail action).
Update a phone callupdatePhoneCallPATCHPatch columns on a phone call by GUID; only the columns you set are sent.
Update a taskupdateTaskPATCHPatch columns on a task by GUID; only the columns you set are sent.
Update an appointmentupdateAppointmentPATCHPatch columns on an appointment by GUID; only the columns you set are sent.
Update an emailupdateEmailPATCHPatch columns on an email by GUID; only the columns you set are sent.
Campaign5
Create a campaigncreateCampaignPOSTInsert a campaign; returns the created row.
Delete a campaigndeleteCampaignDELETEDelete a campaign by GUID.
Get a campaigngetCampaignGETFetch one campaign by GUID.
List campaignslistCampaignsGETQuery campaigns with OData options; Dataverse serves up to 5000 rows per call.
Update a campaignupdateCampaignPATCHPatch columns on a campaign by GUID; only the columns you set are sent.
Case6
Create a casecreateCasePOSTInsert a case; returns the created row.
Delete a casedeleteCaseDELETEDelete a case by GUID.
Get a casegetCaseGETFetch one case (incident) by GUID.
List cases (incidents)listCasesGETQuery cases (incidents) with OData options; Dataverse serves up to 5000 rows per call.
Resolve a casecloseCasePOSTCloseIncident: resolve a case with an incidentresolution (Dynamics 365 Customer Service).
Update a caseupdateCasePATCHPatch columns on a case by GUID; only the columns you set are sent.
Contact5
Create a contactcreateContactPOSTInsert a contact; returns the created row.
Delete a contactdeleteContactDELETEDelete a contact by GUID.
Get a contactgetContactGETFetch one contact by GUID.
List contactslistContactsGETQuery contacts with OData options; Dataverse serves up to 5000 rows per call.
Update a contactupdateContactPATCHPatch columns on a contact by GUID; only the columns you set are sent.
Directory8
Add team membersaddTeamMembersPOSTAddMembersTeam: add users to a team (bound to the team).
Get a business unitgetBusinessUnitGETFetch one by GUID.
Get a teamgetTeamGETFetch one by GUID.
Get a usergetUserGETFetch one by GUID.
List business unitslistBusinessUnitsGETQuery business units with OData options.
List teamslistTeamsGETQuery teams with OData options.
List userslistUsersGETQuery users with OData options.
Remove team membersremoveTeamMembersPOSTRemoveMembersTeam: remove users from a team (bound to the team).
Invoice10
Create an invoicecreateInvoicePOSTInsert an invoice; returns the created row.
Create an invoice linecreateInvoiceLinePOSTInsert an invoice line; returns the created row.
Delete an invoicedeleteInvoiceDELETEDelete an invoice by GUID.
Delete an invoice linedeleteInvoiceLineDELETEDelete an invoice line by GUID.
Get an invoicegetInvoiceGETFetch one invoice by GUID.
Get an invoice linegetInvoiceLineGETFetch one invoice line by GUID.
List invoice lineslistInvoiceLinesGETQuery invoice lines with OData options; Dataverse serves up to 5000 rows per call.
List invoiceslistInvoicesGETQuery invoices with OData options; Dataverse serves up to 5000 rows per call.
Update an invoiceupdateInvoicePATCHPatch columns on an invoice by GUID; only the columns you set are sent.
Update an invoice lineupdateInvoiceLinePATCHPatch columns on an invoice line by GUID; only the columns you set are sent.
Knowledge5
Create a knowledge articlecreateKnowledgeArticlePOSTInsert a knowledge article; returns the created row.
Delete a knowledge articledeleteKnowledgeArticleDELETEDelete a knowledge article by GUID.
Get a knowledge articlegetKnowledgeArticleGETFetch one knowledge article by GUID.
List knowledge articleslistKnowledgeArticlesGETQuery knowledge articles with OData options; Dataverse serves up to 5000 rows per call.
Update a knowledge articleupdateKnowledgeArticlePATCHPatch columns on a knowledge article by GUID; only the columns you set are sent.
Lead6
Create a leadcreateLeadPOSTInsert a lead; returns the created row.
Delete a leaddeleteLeadDELETEDelete a lead by GUID.
Get a leadgetLeadGETFetch one lead by GUID.
List leadslistLeadsGETQuery leads with OData options; Dataverse serves up to 5000 rows per call.
Qualify a leadqualifyLeadPOSTQualify a lead into an account, contact and/or opportunity (Dynamics 365 Sales).
Update a leadupdateLeadPATCHPatch columns on a lead by GUID; only the columns you set are sent.
Marketing List6
Add list membersaddListMembersPOSTAddListMembersList: add accounts, contacts or leads (one type per list) to a static marketing list.
Create a marketing listcreateMarketingListPOSTInsert a marketing list; returns the created row.
Delete a marketing listdeleteMarketingListDELETEDelete a marketing list by GUID.
Get a marketing listgetMarketingListGETFetch one marketing list by GUID.
List marketing listslistMarketingListsGETQuery marketing lists with OData options; Dataverse serves up to 5000 rows per call.
Update a marketing listupdateMarketingListPATCHPatch columns on a marketing list by GUID; only the columns you set are sent.
Metadata3
List a table's columnslistColumnsGETThe attribute (column) definitions of one table.
List tableslistTablesGETEvery table (entity definition) with its logical and set names.
Who am IwhoAmIGETThe connected app's user, business unit and organization ids.
Note5
Create a notecreateNotePOSTInsert a note; returns the created row.
Delete a notedeleteNoteDELETEDelete a note by GUID.
Get a notegetNoteGETFetch one note (annotation) by GUID.
List notes (annotations)listNotesGETQuery notes (annotations) with OData options; Dataverse serves up to 5000 rows per call.
Update a noteupdateNotePATCHPatch columns on a note by GUID; only the columns you set are sent.
Opportunity12
Create an opportunitycreateOpportunityPOSTInsert an opportunity; returns the created row.
Create an opportunity linecreateOpportunityLinePOSTInsert an opportunity line; returns the created row.
Delete an opportunitydeleteOpportunityDELETEDelete an opportunity by GUID.
Delete an opportunity linedeleteOpportunityLineDELETEDelete an opportunity line by GUID.
Get an opportunitygetOpportunityGETFetch one opportunity by GUID.
Get an opportunity linegetOpportunityLineGETFetch one opportunity line by GUID.
List opportunitieslistOpportunitiesGETQuery opportunities with OData options; Dataverse serves up to 5000 rows per call.
List opportunity lineslistOpportunityLinesGETQuery opportunity lines with OData options; Dataverse serves up to 5000 rows per call.
Lose an opportunityloseOpportunityPOSTClose an opportunity as Lost with an opportunityclose activity (Dynamics 365 Sales).
Update an opportunityupdateOpportunityPATCHPatch columns on an opportunity by GUID; only the columns you set are sent.
Update an opportunity lineupdateOpportunityLinePATCHPatch columns on an opportunity line by GUID; only the columns you set are sent.
Win an opportunitywinOpportunityPOSTClose an opportunity as Won with an opportunityclose activity (Dynamics 365 Sales).
Order12
Cancel an ordercancelOrderPOSTCancelSalesOrder: cancel an order with an orderclose activity (Dynamics 365 Sales).
Convert order to invoiceconvertOrderToInvoicePOSTConvertSalesOrderToInvoice: turn an order into an invoice (Dynamics 365 Sales).
Create an ordercreateOrderPOSTInsert an order; returns the created row.
Create an order linecreateOrderLinePOSTInsert an order line; returns the created row.
Delete an orderdeleteOrderDELETEDelete an order by GUID.
Delete an order linedeleteOrderLineDELETEDelete an order line by GUID.
Get an ordergetOrderGETFetch one order (salesorder) by GUID.
Get an order linegetOrderLineGETFetch one order line by GUID.
List order lineslistOrderLinesGETQuery order lines with OData options; Dataverse serves up to 5000 rows per call.
List orders (salesorders)listOrdersGETQuery orders (salesorders) with OData options; Dataverse serves up to 5000 rows per call.
Update an orderupdateOrderPATCHPatch columns on an order by GUID; only the columns you set are sent.
Update an order lineupdateOrderLinePATCHPatch columns on an order line by GUID; only the columns you set are sent.
Product10
Create a price listcreatePriceListPOSTInsert a price list; returns the created row.
Create a productcreateProductPOSTInsert a product; returns the created row.
Delete a price listdeletePriceListDELETEDelete a price list by GUID.
Delete a productdeleteProductDELETEDelete a product by GUID.
Get a price listgetPriceListGETFetch one price list (pricelevel) by GUID.
Get a productgetProductGETFetch one product by GUID.
List price lists (pricelevels)listPriceListsGETQuery price lists (pricelevels) with OData options; Dataverse serves up to 5000 rows per call.
List productslistProductsGETQuery products with OData options; Dataverse serves up to 5000 rows per call.
Update a price listupdatePriceListPATCHPatch columns on a price list by GUID; only the columns you set are sent.
Update a productupdateProductPATCHPatch columns on a product by GUID; only the columns you set are sent.
Queue11
Add to a queueaddToQueuePOSTMove a record into a queue (bound AddToQueue action on the destination queue).
Create a queuecreateQueuePOSTInsert a queue; returns the created row.
Create a queue itemcreateQueueItemPOSTInsert a queue item; returns the created row.
Delete a queuedeleteQueueDELETEDelete a queue by GUID.
Delete a queue itemdeleteQueueItemDELETEDelete a queue item by GUID.
Get a queuegetQueueGETFetch one queue by GUID.
Get a queue itemgetQueueItemGETFetch one queue item by GUID.
List queue itemslistQueueItemsGETQuery queue items with OData options; Dataverse serves up to 5000 rows per call.
List queueslistQueuesGETQuery queues with OData options; Dataverse serves up to 5000 rows per call.
Update a queueupdateQueuePATCHPatch columns on a queue by GUID; only the columns you set are sent.
Update a queue itemupdateQueueItemPATCHPatch columns on a queue item by GUID; only the columns you set are sent.
Quote13
Close a quotecloseQuotePOSTClose a quote as Lost/Canceled with a quoteclose activity (Dynamics 365 Sales).
Convert quote to orderconvertQuoteToOrderPOSTConvertQuoteToSalesOrder: turn a won quote into an order (Dynamics 365 Sales).
Create a quotecreateQuotePOSTInsert a quote; returns the created row.
Create a quote linecreateQuoteLinePOSTInsert a quote line; returns the created row.
Delete a quotedeleteQuoteDELETEDelete a quote by GUID.
Delete a quote linedeleteQuoteLineDELETEDelete a quote line by GUID.
Get a quotegetQuoteGETFetch one quote by GUID.
Get a quote linegetQuoteLineGETFetch one quote line by GUID.
List quote lineslistQuoteLinesGETQuery quote lines with OData options; Dataverse serves up to 5000 rows per call.
List quoteslistQuotesGETQuery quotes with OData options; Dataverse serves up to 5000 rows per call.
Update a quoteupdateQuotePATCHPatch columns on a quote by GUID; only the columns you set are sent.
Update a quote lineupdateQuoteLinePATCHPatch columns on a quote line by GUID; only the columns you set are sent.
Win a quotewinQuotePOSTClose a quote as Won with a quoteclose activity - required before converting it to an order (Dynamics 365 Sales).
Relationship1
Associate rowsassociateRowsPOSTLink two rows over a navigation property (@odata.id = the full URL of the related row).
Row10
Create a rowcreateRowPOSTInsert a row; returns the created row (Prefer: return=representation).
Create rows in bulkcreateMultiplePOSTCreateMultiple: insert many rows of one table in a single call.
Delete a rowdeleteRowDELETEDelete a row by GUID.
Get a rowgetRowGETFetch one row by its GUID.
List rowslistRowsGETQuery a table with OData options ($filter, $select, $expand, $orderby, $top).
Merge two recordsmergeRecordsPOSTMerge: fold a subordinate account, contact, lead or case into a target record.
Query with FetchXMLqueryFetchXmlGETRun a FetchXML query against a table - aggregates, linked entities and paging cookies included.
Update a rowupdateRowPATCHPatch columns on a row by GUID.
Update rows in bulkupdateMultiplePOSTUpdateMultiple: patch many rows of one table in a single call.
Upsert by alternate keyupsertRowPATCHCreate or update a row addressed by an alternate key, e.g. accountnumber='A-100'.
Search1
Search (relevance)searchQueryPOSTDataverse search across tables enabled for relevance search.