Get the FREE Ultimate OpenClaw Setup Guide →

Dynamics 365 Automation

Scanned
npx machina-cli add skill ComposioHQ/awesome-claude-skills/dynamics365-automation --openclaw
Files (1)
SKILL.md
8.0 KB

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

PitfallDetail
GUID formatAll entity IDs are GUIDs (e.g., "00000000-0000-0000-0000-000000000000"). Do not include curly braces for opportunity/contact references.
Reference formatRelated entity references use the format "/entityset(GUID)" (e.g., "/accounts(abc-123)"). Missing the leading slash or parentheses causes errors.
OData filter syntaxUse Dynamics 365 OData syntax for filter (e.g., contains(fullname,'John')). Incorrect syntax returns empty or error responses.
user_id defaultMost tools default user_id to "me" for the authenticated user. Override only when acting on behalf of another user.
Required fieldsCREATE_OPPORTUNITY requires name. Other create tools have no strict required fields but will create empty records without data.

Quick Reference

Tool SlugDescription
DYNAMICS365_DYNAMICSCRM_CREATE_LEADCreate a new lead record
DYNAMICS365_DYNAMICSCRM_UPDATE_LEADUpdate an existing lead
DYNAMICS365_DYNAMICSCRM_GET_A_LEADRetrieve a lead by GUID
DYNAMICS365_DYNAMICSCRM_GET_ALL_LEADSList/filter all leads
DYNAMICS365_DYNAMICSCRM_CREATE_ACCOUNTCreate a new account
DYNAMICS365_DYNAMICSCRM_CREATE_CONTACTCreate a new contact
DYNAMICS365_DYNAMICSCRM_CREATE_OPPORTUNITYCreate a new opportunity
DYNAMICS365_DYNAMICSCRM_UPDATE_OPPORTUNITYUpdate an existing opportunity
DYNAMICS365_DYNAMICSCRM_CREATE_SALES_ORDERCreate a new sales order
DYNAMICS365_DYNAMICSCRM_UPDATE_SALES_ORDERUpdate an existing sales order
DYNAMICS365_DYNAMICSCRM_CREATE_INVOICECreate a new invoice
DYNAMICS365_DYNAMICSCRM_CREATE_CASECreate a support case/incident

Powered by Composio

Source

git clone https://github.com/ComposioHQ/awesome-claude-skills/blob/master/composio-skills/dynamics365-automation/SKILL.mdView on GitHub

Overview

Automates core Dynamics 365 CRM operations—creating, updating, and retrieving records such as leads, accounts, contacts, opportunities, sales orders, invoices, and cases. Using the Dynamics CRM Web API, it enables consistent data workflows, faster onboarding, and better pipeline visibility. It integrates through the Rube MCP server's dynamics365 toolkit for automated CRM processes.

How This Skill Works

The skill exposes tools like DYNAMICS365_DYNAMICSCRM_CREATE_LEAD, DYNAMICS365_DYNAMICSCRM_UPDATE_LEAD, DYNAMICS365_DYNAMICSCRM_GET_A_LEAD, DYNAMICS365_DYNAMICSCRM_GET_ALL_LEADS, and similarly for accounts, contacts, and opportunities. You must establish an active connection to the Dynamics365 toolkit on the Rube MCP server (https://rube.app/mcp) before executing any tools. Create and update records by passing fields such as firstname, lastname, emailaddress1, and related IDs (customer_account_id, customer_contact_id) as specified in the Core Workflows.

When to Use It

  • When onboarding new leads from web forms or campaigns and creating a lead record.
  • When updating existing leads, accounts, contacts, or opportunities to reflect new information or status changes.
  • When creating and organizing account records for new customers and partners with details like revenue and credit status.
  • When creating opportunities linked to specific accounts and contacts to track pipeline and close dates.
  • When retrieving or filtering multiple leads or opportunities for reporting or follow-up tasks.

Quick Start

  1. Step 1: Ensure an active connection for the dynamics365 toolkit on the RUBE MCP server at https://rube.app/mcp.
  2. Step 2: Choose a tool such as DYNAMICS365_DYNAMICSCRM_CREATE_LEAD and provide required fields (firstname, lastname, emailaddress1, companyname, subject).
  3. Step 3: Run the tool, review the response, and optionally fetch records with DYNAMICS365_DYNAMICSCRM_GET_ALL_LEADS to verify results.

Best Practices

  • Ensure an active Rube MCP connection and the dynamics365 toolkit before running any tools.
  • Validate related GUIDs (customer_account_id and customer_contact_id) when creating opportunities (no curly braces).
  • Use OData filters (filter), field selection (select), and sorting (orderby) to efficiently query leads with GET_ALL_LEADS.
  • Minimize API calls by only sending necessary fields for each operation and batching updates where possible.
  • Implement robust error handling and logging to trace tool results and re-run failed operations.

Example Use Cases

  • Example 1: Create a new lead from a web form with firstname, lastname, emailaddress1, companyname, and subject using DYNAMICS365_DYNAMICSCRM_CREATE_LEAD.
  • Example 2: Create an account for a new customer with name, description, revenue, and creditonhold status via DYNAMICS365_DYNAMICSCRM_CREATE_ACCOUNT.
  • Example 3: Create a contact with full address fields (address1_city, address1_stateorprovince, etc.) using DYNAMICS365_DYNAMICSCRM_CREATE_CONTACT.
  • Example 4: Create an opportunity linked to an account and a contact with name, description, estimatedvalue, and estimatedclosedate using DYNAMICS365_DYNAMICSCRM_CREATE_OPPORTUNITY.
  • Example 5: Retrieve all leads with a filter like contains(fullname,'John') and select specific fields with GET_ALL_LEADS.

Frequently Asked Questions

Add this skill to your agents
Sponsor this space

Reach thousands of developers