| name | Dynamics 365 Automation |
| description | Dynamics 365 Automation: manage CRM contacts, accounts, leads, opportunities, sales orders, invoices, and cases via the Dynamics CRM Web API |
| requires | {"mcp":["rube"]} |
Dynamics 365 Automation
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
Setup
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.
Core Workflows
1. Manage Leads
Create, update, retrieve, and list lead records.
Tools:
DYNAMICS365_DYNAMICSCRM_CREATE_LEAD -- Create a new lead
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
Key Parameters for DYNAMICS365_DYNAMICSCRM_CREATE_LEAD:
firstname -- First name of the lead
lastname -- Last name of the lead
emailaddress1 -- Primary email address
telephone1 -- Primary phone number
companyname -- Associated company name
subject -- Brief title/description
Key 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 results
Example:
Tool: DYNAMICS365_DYNAMICSCRM_CREATE_LEAD
Arguments:
firstname: "Jane"
lastname: "Smith"
emailaddress1: "jane.smith@example.com"
companyname: "Acme Corp"
subject: "Interested in Enterprise plan"
2. Manage Accounts
Create and organize account (company) records in the CRM.
Tool: DYNAMICS365_DYNAMICSCRM_CREATE_ACCOUNT
Key Parameters:
name -- Account/company name
description -- Description of the account
revenue -- 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
3. Manage Contacts
Create detailed contact records with address and phone information.
Tool: DYNAMICS365_DYNAMICSCRM_CREATE_CONTACT
Key Parameters:
firstname, lastname -- Contact name
emailaddress1 -- Primary email
telephone1 -- Primary phone
mobilephone -- Mobile phone
jobtitle -- Job title
address1_city, address1_stateorprovince, address1_postalcode, address1_country -- Address fields
Example:
Tool: DYNAMICS365_DYNAMICSCRM_CREATE_CONTACT
Arguments:
firstname: "Bob"
lastname: "Johnson"
emailaddress1: "bob.johnson@example.com"
jobtitle: "VP of Engineering"
address1_city: "Seattle"
address1_stateorprovince: "WA"
4. Manage Opportunities
Create and update sales opportunities with estimated values and close dates.
Tools:
DYNAMICS365_DYNAMICSCRM_CREATE_OPPORTUNITY -- Create a new opportunity
DYNAMICS365_DYNAMICSCRM_UPDATE_OPPORTUNITY -- Update an existing opportunity
Key Parameters for DYNAMICS365_DYNAMICSCRM_CREATE_OPPORTUNITY:
name (required) -- Opportunity title
description -- Brief description
estimatedvalue -- Anticipated revenue (number)
estimatedclosedate -- Expected close date in YYYY-MM-DD format
customer_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 opportunity
opportunityratingcode -- 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"
5. Manage Sales Orders and Invoices
Create and update sales orders; generate invoices for billing.
Tools:
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
Key Parameters for DYNAMICS365_DYNAMICSCRM_CREATE_SALES_ORDER:
name -- Sales order name
description -- Description
account_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 order
name -- Updated name
discountamount -- Updated discount
freightamount -- Updated shipping cost
Key Parameters for DYNAMICS365_DYNAMICSCRM_CREATE_INVOICE:
name -- Invoice name/number, e.g., "Invoice #12345"
description -- Invoice description
account_id -- Related account reference
currency_id -- Currency reference
price_level_id -- Price list reference
6. Create Support Cases
Create incident/case records for customer support tracking.
Tool: DYNAMICS365_DYNAMICSCRM_CREATE_CASE
Key Parameters:
title -- Subject/title of the case
description -- Detailed description
prioritycode -- 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
Known Pitfalls
| 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. |
Quick Reference
| 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