composio-skills/dynamics365-automation/SKILL.md
Dynamics 365 Automation: manage CRM contacts, accounts, leads, opportunities, sales orders, invoices, and cases via the Dynamics CRM Web API
npx skillsauth add ComposioHQ/awesome-claude-skills Dynamics 365 AutomationInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Automate Microsoft Dynamics 365 CRM operations including creating and updating contacts, accounts, leads, opportunities, sales orders, invoices, and support cases.
Toolkit docs: composio.dev/toolkits/dynamics365
This skill requires the Rube MCP server connected at https://rube.app/mcp.
Before executing any tools, ensure an active connection exists for the dynamics365 toolkit. If no connection is active, initiate one via RUBE_MANAGE_CONNECTIONS.
Create, update, retrieve, and list lead records.
Tools:
DYNAMICS365_DYNAMICSCRM_CREATE_LEAD -- Create a new leadDYNAMICS365_DYNAMICSCRM_UPDATE_LEAD -- Update an existing leadDYNAMICS365_DYNAMICSCRM_GET_A_LEAD -- Retrieve a lead by GUIDDYNAMICS365_DYNAMICSCRM_GET_ALL_LEADS -- List/filter all leadsKey Parameters for DYNAMICS365_DYNAMICSCRM_CREATE_LEAD:
firstname -- First name of the leadlastname -- Last name of the leademailaddress1 -- Primary email addresstelephone1 -- Primary phone numbercompanyname -- Associated company namesubject -- Brief title/descriptionKey Parameters for DYNAMICS365_DYNAMICSCRM_GET_ALL_LEADS:
filter -- OData filter, e.g., "contains(fullname,'John')"select -- Fields to return, e.g., "fullname,emailaddress1"orderby -- Sort expression, e.g., "createdon desc"top -- Max number of resultsExample:
Tool: DYNAMICS365_DYNAMICSCRM_CREATE_LEAD
Arguments:
firstname: "Jane"
lastname: "Smith"
emailaddress1: "[email protected]"
companyname: "Acme Corp"
subject: "Interested in Enterprise plan"
Create and organize account (company) records in the CRM.
Tool: DYNAMICS365_DYNAMICSCRM_CREATE_ACCOUNT
Key Parameters:
name -- Account/company namedescription -- Description of the accountrevenue -- Revenue amount (number)accountcategorycode -- Category code (integer, default: 1)creditonhold -- Whether account is on credit hold (boolean)Example:
Tool: DYNAMICS365_DYNAMICSCRM_CREATE_ACCOUNT
Arguments:
name: "Contoso Ltd"
description: "Strategic partner for cloud services"
revenue: 5000000
creditonhold: false
Create detailed contact records with address and phone information.
Tool: DYNAMICS365_DYNAMICSCRM_CREATE_CONTACT
Key Parameters:
firstname, lastname -- Contact nameemailaddress1 -- Primary emailtelephone1 -- Primary phonemobilephone -- Mobile phonejobtitle -- Job titleaddress1_city, address1_stateorprovince, address1_postalcode, address1_country -- Address fieldsExample:
Tool: DYNAMICS365_DYNAMICSCRM_CREATE_CONTACT
Arguments:
firstname: "Bob"
lastname: "Johnson"
emailaddress1: "[email protected]"
jobtitle: "VP of Engineering"
address1_city: "Seattle"
address1_stateorprovince: "WA"
Create and update sales opportunities with estimated values and close dates.
Tools:
DYNAMICS365_DYNAMICSCRM_CREATE_OPPORTUNITY -- Create a new opportunityDYNAMICS365_DYNAMICSCRM_UPDATE_OPPORTUNITY -- Update an existing opportunityKey Parameters for DYNAMICS365_DYNAMICSCRM_CREATE_OPPORTUNITY:
name (required) -- Opportunity titledescription -- Brief descriptionestimatedvalue -- Anticipated revenue (number)estimatedclosedate -- Expected close date in YYYY-MM-DD formatcustomer_account_id -- GUID of the related account (no curly braces)customer_contact_id -- GUID of the related contact (no curly braces)Key Parameters for DYNAMICS365_DYNAMICSCRM_UPDATE_OPPORTUNITY:
opportunity_id (required) -- GUID of the opportunityopportunityratingcode -- 1 (Cold), 2 (Warm), 3 (Hot)salesstagecode -- 1 (Qualify), 2 (Develop), 3 (Propose)Example:
Tool: DYNAMICS365_DYNAMICSCRM_CREATE_OPPORTUNITY
Arguments:
name: "Enterprise Cloud Migration"
estimatedvalue: 250000
estimatedclosedate: "2026-06-30"
description: "Full cloud migration project for Contoso"
Create and update sales orders; generate invoices for billing.
Tools:
DYNAMICS365_DYNAMICSCRM_CREATE_SALES_ORDER -- Create a new sales orderDYNAMICS365_DYNAMICSCRM_UPDATE_SALES_ORDER -- Update an existing sales orderDYNAMICS365_DYNAMICSCRM_CREATE_INVOICE -- Create a new invoiceKey Parameters for DYNAMICS365_DYNAMICSCRM_CREATE_SALES_ORDER:
name -- Sales order namedescription -- Descriptionaccount_id -- Reference to account, format: "/accounts(GUID)"currency_id -- Currency reference, format: "/transactioncurrencies(GUID)"price_level_id -- Price list reference, format: "/pricelevels(GUID)"Key Parameters for DYNAMICS365_DYNAMICSCRM_UPDATE_SALES_ORDER:
salesorder_id (required) -- GUID of the sales ordername -- Updated namediscountamount -- Updated discountfreightamount -- Updated shipping costKey Parameters for DYNAMICS365_DYNAMICSCRM_CREATE_INVOICE:
name -- Invoice name/number, e.g., "Invoice #12345"description -- Invoice descriptionaccount_id -- Related account referencecurrency_id -- Currency referenceprice_level_id -- Price list referenceCreate incident/case records for customer support tracking.
Tool: DYNAMICS365_DYNAMICSCRM_CREATE_CASE
Key Parameters:
title -- Subject/title of the casedescription -- Detailed descriptionprioritycode -- 1 (Low), 2 (Normal), 3 (High)caseorigincode -- 1 (Phone), 2 (Email), 3 (Web)account_id -- Related account, format: "/accounts(GUID)"contact_id -- Related contact, format: "/contacts(GUID)"Example:
Tool: DYNAMICS365_DYNAMICSCRM_CREATE_CASE
Arguments:
title: "Login issue reported by customer"
description: "Customer unable to access portal since Feb 10"
prioritycode: 3
caseorigincode: 2
| Pitfall | Detail |
|---------|--------|
| GUID format | All entity IDs are GUIDs (e.g., "00000000-0000-0000-0000-000000000000"). Do not include curly braces for opportunity/contact references. |
| Reference format | Related entity references use the format "/entityset(GUID)" (e.g., "/accounts(abc-123)"). Missing the leading slash or parentheses causes errors. |
| OData filter syntax | Use Dynamics 365 OData syntax for filter (e.g., contains(fullname,'John')). Incorrect syntax returns empty or error responses. |
| user_id default | Most tools default user_id to "me" for the authenticated user. Override only when acting on behalf of another user. |
| Required fields | CREATE_OPPORTUNITY requires name. Other create tools have no strict required fields but will create empty records without data. |
| Tool Slug | Description |
|-----------|-------------|
| DYNAMICS365_DYNAMICSCRM_CREATE_LEAD | Create a new lead record |
| DYNAMICS365_DYNAMICSCRM_UPDATE_LEAD | Update an existing lead |
| DYNAMICS365_DYNAMICSCRM_GET_A_LEAD | Retrieve a lead by GUID |
| DYNAMICS365_DYNAMICSCRM_GET_ALL_LEADS | List/filter all leads |
| DYNAMICS365_DYNAMICSCRM_CREATE_ACCOUNT | Create a new account |
| DYNAMICS365_DYNAMICSCRM_CREATE_CONTACT | Create a new contact |
| DYNAMICS365_DYNAMICSCRM_CREATE_OPPORTUNITY | Create a new opportunity |
| DYNAMICS365_DYNAMICSCRM_UPDATE_OPPORTUNITY | Update an existing opportunity |
| DYNAMICS365_DYNAMICSCRM_CREATE_SALES_ORDER | Create a new sales order |
| DYNAMICS365_DYNAMICSCRM_UPDATE_SALES_ORDER | Update an existing sales order |
| DYNAMICS365_DYNAMICSCRM_CREATE_INVOICE | Create a new invoice |
| DYNAMICS365_DYNAMICSCRM_CREATE_CASE | Create a support case/incident |
Powered by Composio
tools
Automate Zoho Mail tasks via Rube MCP (Composio): email sending, folders, labels, and mailbox management. Always search tools first for current schemas.
tools
Automate Zoho Invoice tasks via Rube MCP (Composio): invoices, estimates, expenses, clients, and payment tracking. Always search tools first for current schemas.
tools
Automate Zoho Inventory tasks via Rube MCP (Composio): items, orders, warehouses, shipments, and stock management. Always search tools first for current schemas.
tools
Automate Zoho Desk tasks via Rube MCP (Composio): tickets, contacts, agents, departments, and help desk operations. Always search tools first for current schemas.