skills/writing-and-planning/copywriting/document-editorial/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 lunartech-x/superpowers 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
Data structure for annotated matrices in single-cell analysis. Use when working with .h5ad files or integrating with the scverse ecosystem. This is the data format skill—for analysis workflows use scanpy; for probabilistic models use scvi-tools; for population-scale queries use cellxgene-census.
testing
Access AlphaFold 200M+ AI-predicted protein structures. Retrieve structures by UniProt ID, download PDB/mmCIF files, analyze confidence metrics (pLDDT, PAE), for drug discovery and structural biology.
development
Access real-time and historical stock market data, forex rates, cryptocurrency prices, commodities, economic indicators, and 50+ technical indicators via the Alpha Vantage API. Use when fetching stock prices (OHLCV), company fundamentals (income statement, balance sheet, cash flow), earnings, options data, market news/sentiment, insider transactions, GDP, CPI, treasury yields, gold/silver/oil prices, Bitcoin/crypto prices, forex exchange rates, or calculating technical indicators (SMA, EMA, MACD, RSI, Bollinger Bands). Requires a free API key from alphavantage.co.
development
This skill should be used for time series machine learning tasks including classification, regression, clustering, forecasting, anomaly detection, segmentation, and similarity search. Use when working with temporal data, sequential patterns, or time-indexed observations requiring specialized algorithms beyond standard ML approaches. Particularly suited for univariate and multivariate time series analysis with scikit-learn compatible APIs.