Connect your AI Agents to Dynamics 365 Sales in minutes

Merge lets you securely connect your agents to Dynamics 365 Sales and thousands of tools instantly

Available tools

create_account

Create a new account (company/organization) in Dynamics 365. Accounts represent businesses or organizations you work with.

get_account

Retrieve a Dynamics 365 account by ID. Returns full account details including company info, contact details, and custom fields.

update_account

Update an existing Dynamics 365 account. Modify company information, contact details, or custom fields.

delete_account

Delete a Dynamics 365 account. This is a permanent operation - consider deactivating instead.

list_accounts

List Dynamics 365 accounts with filtering, sorting, and pagination. Find accounts by name, industry, location, or custom criteria.

search_accounts

Search Dynamics 365 accounts by text query. Find accounts matching name, description, or other text fields.

create_appointment

Create an appointment in Dynamics 365. Schedule meetings associated with accounts, contacts, or opportunities.

get_appointment

Retrieve an appointment by ID from Dynamics 365.

update_appointment

Update an appointment in Dynamics 365. Reschedule, change location, or mark as completed.

delete_appointment

Delete an appointment from Dynamics 365.

list_appointments

List appointments in Dynamics 365 with filtering by date range, status, or related records.

create_case

Create a new case (incident) in Dynamics 365. Cases track customer service issues, support requests, and inquiries.

get_case

Retrieve a Dynamics 365 case by ID. Returns case details including priority, status, customer, and SLA information.

update_case

Update an existing Dynamics 365 case. Modify priority, status, description, or resolve the case.

delete_case

Delete a Dynamics 365 case. Consider resolving or canceling instead to preserve service history.

list_cases

List Dynamics 365 cases with filtering. Find cases by status, priority, customer, or SLA dates.

search_cases

Search Dynamics 365 cases by text query. Find cases matching title or description.

create_contact

Create a new contact in Dynamics 365. Contacts represent individual people you work with, often associated with accounts.

get_contact

Retrieve a Dynamics 365 contact by ID. Returns full contact details including personal info, contact methods, and relationships.

update_contact

Update an existing Dynamics 365 contact. Modify personal information, contact methods, or preferences.

delete_contact

Delete a Dynamics 365 contact. This is a permanent operation.

list_contacts

List Dynamics 365 contacts with filtering, sorting, and pagination. Find contacts by account, name, email, or custom criteria.

search_contacts

Search Dynamics 365 contacts by text query. Find contacts matching name, email, or other text fields.

discover_entity_metadata

Discover available fields and their properties for a Dynamics 365 entity. Essential for understanding what fields can be used in create, update, and filter operations.

list_entities

List all available entities in the Dynamics 365 organization. Useful for discovering what data types are available.

create_email

Create an email activity in Dynamics 365. Track sent or received emails associated with CRM records.

get_email

Retrieve an email activity by ID from Dynamics 365.

update_email

Update an email activity in Dynamics 365. Modify subject, content, or mark as completed.

delete_email

Delete an email activity from Dynamics 365.

list_emails

List email activities in Dynamics 365 with filtering by date, status, or related records.

create_lead

Create a new lead in Dynamics 365. Requires subject (topic) and lastname. If no contact name provided, lastname defaults to 'Contact'. Use list_leads to verify creation.

get_lead

Retrieve a Dynamics 365 lead by ID or name. Accepts GUID or subject/company name. Use search_leads if multiple matches expected.

update_lead

Update an existing Dynamics 365 lead. Modify contact information, qualification status, or estimated value.

delete_lead

Delete a Dynamics 365 lead. Consider qualifying the lead instead to preserve data.

list_leads

List Dynamics 365 leads with filtering, sorting, and pagination. Find leads by status, rating, source, or custom criteria.

search_leads

Search Dynamics 365 leads by text query. Find leads matching name, company, or subject.

qualify_lead

Qualify (convert) a Dynamics 365 lead to Account, Contact, and/or Opportunity. This is the standard way to advance a lead in the sales process.

create_note

Create a new note (annotation) in Dynamics 365. Notes can include text content and file attachments, attached to any record.

get_note

Retrieve a Dynamics 365 note by ID. Returns note content including text and attachment metadata.

update_note

Update an existing Dynamics 365 note. Modify the text content, subject, or attachment.

delete_note

Delete a Dynamics 365 note. This is a permanent operation.

list_notes

List Dynamics 365 notes with filtering. Find notes by parent record, date, or content.

create_opportunity

Create a new opportunity in Dynamics 365. Opportunities represent potential sales deals in your pipeline.

get_opportunity

Retrieve a Dynamics 365 opportunity by ID. Returns full deal details including value, probability, and stage.

update_opportunity

Update an existing Dynamics 365 opportunity. Modify deal value, probability, stage, or other fields.

delete_opportunity

Delete a Dynamics 365 opportunity. Consider closing as won/lost instead to preserve history.

list_opportunities

List Dynamics 365 opportunities with filtering, sorting, and pagination. Find deals by stage, value, customer, or custom criteria.

search_opportunities

Search Dynamics 365 opportunities by text query. Find deals matching name or description.

win_opportunity

Close a Dynamics 365 opportunity as Won. Records the successful deal closure with revenue and date.

lose_opportunity

Close a Dynamics 365 opportunity as Lost. Records the unsuccessful deal closure with reason.

get_owner

Retrieve a Dynamics 365 system user (owner) by ID. Get user details for record assignment or team management.

list_owners

List Dynamics 365 system users (owners) with filtering. Find users for record assignment or team management.

create_phonecall

Create a phone call activity in Dynamics 365. Log incoming or outgoing calls with notes and duration.

get_phonecall

Retrieve a phone call activity by ID from Dynamics 365.

update_phonecall

Update a phone call activity in Dynamics 365. Add notes, mark as completed, or update details.

delete_phonecall

Delete a phone call activity from Dynamics 365.

list_phonecalls

List phone call activities in Dynamics 365 with filtering by date, status, or related records.

create_task

Create a new task in Dynamics 365. Tasks are activities for tracking follow-up work related to accounts, contacts, leads, opportunities, or cases.

get_task

Retrieve a Dynamics 365 task by ID. Returns task details including subject, due date, priority, and related records.

update_task

Update an existing Dynamics 365 task. Modify subject, due date, priority, completion status, or other fields.

delete_task

Delete a Dynamics 365 task. Consider completing or canceling instead to preserve history.

list_tasks

List Dynamics 365 tasks with filtering. Find tasks by status, priority, due date, or related records.

search_tasks

Search Dynamics 365 tasks by text query. Find tasks matching subject or description.

validate_credential

Validate Dynamics 365 credentials. Verifies credentials during setup.

View all tools by creating a free accountSee more tools

How to set up Merge Agent Handler

In an mcp.json file, add the configuration below, and restart Cursor.

Learn more in the official documentation ↗

1{
2  "mcpServers": {
3    "agent-handler": {
4      "url": "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
5      "headers": {
6        "Authorization": "Bearer yMt*****"
7      }
8    }
9  }
10}
11
Copy Code

Open your Claude Desktop configuration file and add the server configuration below. You'll also need to restart the application for the changes to take effect.

Make sure Claude is using the Node v20+.

Learn more in the official documentation ↗

1{
2  "mcpServers": {
3    "agent-handler": {
4      "command": "npx",
5      "args": [
6        "-y",
7        "mcp-remote@latest",
8        "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
9        "--header",
10        "Authorization: Bearer ${AUTH_TOKEN}"
11      ],
12      "env": {
13        "AUTH_TOKEN": "yMt*****"
14      }
15    }
16  }
17}
Copy Code
Copied!

Open your Windsurf MCP configuration file and add the server configuration below.
Click on the refresh button in the top right of the Manage MCP server page or in the top right of the chat box in the box icon.

Learn more in the official documentation ↗

1{
2    "mcpServers": {
3      "agent-handler": {
4        "command": "npx",
5        "args": [
6          "-y",
7          "mcp-remote@latest",
8          "https://ah-api.merge.dev/api/v1/tool-packs/<tool-pack-id>/registered-users/<registered-user-id>/mcp",
9          "--header",
10          "Authorization: Bearer ${AUTH_TOKEN}"
11        ],
12        "env": {
13          "AUTH_TOKEN": "<ah-production-access-key>"
14        }
15      }
16    }
17  }
Copy Code

In Command Palette (Cmd+Shift+P on macOS, Ctrl+Shift+P on Windows), run "MCP: Open User Configuration".

You can then add the configuration below and press "start" right under servers. Enter the auth token when prompted.

Learn more in the official documentation ↗

1{
2  "inputs": [
3    {
4      "type": "promptString",
5      "id": "agent-handler-auth",
6      "description": "Agent Handler AUTH_TOKEN", // "yMt*****" when prompt
7      "password": true
8    }
9  ],
10  "servers": {
11    "agent-handler": {
12      "type": "stdio",
13      "command": "npx",
14      "args": [
15        "-y",
16        "mcp-remote@latest",
17        "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
18        "--header",
19        "Authorization: Bearer ${input:agent-handler-auth}"
20      ]
21    }
22  }
23}
Copy Code

FAQs on using Merge's Dynamics 365 Sales  MCP server

FAQs on using Merge's Dynamics 365 Sales  MCP server

What is a Dynamics 365 Sales MCP?

A Dynamics 365 Sales MCP is an MCP server that gives your agents direct access to data and functionality within your Dynamics 365 Sales instance via tools. Your agents can invoke these tools to retrieve and qualify leads, update opportunity stages, query account and contact records, log activities, and more.

Microsoft offers an official MCP server, but you can also use one from a third-party platform, like Merge Agent Handler.

How can I use the Dynamics 365 Sales MCP server?

The use cases naturally depend on the agent you've built, but here are a few common ones:

  • Lead handoff automation: When a marketing platform scores a lead above a qualification threshold, an agent creates the lead record in Dynamics 365 Sales and assigns it to the right rep based on territory or product line rules
  • Pipeline review digest: An agent queries open opportunities by stage and projected close date each Monday and posts a structured summary to a Slack channel, giving the sales team visibility before their weekly review
  • Cross-system deal tracking: When an opportunity is marked closed-won in Dynamics 365 Sales, an agent detects the update and automatically creates a corresponding onboarding project in a project management tool like Asana or Jira
  • Activity logging from communication tools: An agent monitors a calling or email tool and logs completed interactions as activity records against the relevant contact in Dynamics 365 Sales, keeping the CRM current without manual entry

What are popular tools for Dynamics 365 Sales's MCP server?

Here are some of the most commonly used tools:

  • list_leads: retrieves lead records filtered by status, owner, or date range. Call this when an agent needs to triage incoming leads or generate a pipeline intake report.
  • create_lead: creates a new lead record in Dynamics 365 Sales. Useful for agents that pick up signals from external systems (form submissions, enrichment events) and need to register them in the CRM automatically
  • list_opportunities: returns open opportunities with stage, value, and close date data. Good for workflows that monitor pipeline health or flag deals that are past their expected close date
  • update_opportunity: modifies fields on an existing opportunity, such as stage, probability, or close date. Use this when an agent detects a trigger event and needs to advance or correct the deal record
  • list_contacts: retrieves contact records associated with an account or opportunity. Helpful when an agent needs to identify the right stakeholder before initiating outreach or logging an activity
  • create_activity: logs a new activity (call, email, or task) against a contact or opportunity. Call this when an agent completes an action in another system and needs to record it in the CRM for visibility and audit purposes

What makes Merge Agent Handler's Dynamics 365 Sales MCP server better than alternative Dynamics 365 Sales MCP servers?

Here is why teams choose Merge Agent Handler's Dynamics 365 Sales MCP server over building or using an alternative:

  • Enterprise-grade security and DLP: Merge Agent Handler includes built-in data loss prevention controls that let you block or redact sensitive fields before they reach an agent. For Dynamics 365 Sales, this means you can prevent deal values, contact details, and revenue forecasts from being exposed even when the agent has broad read access
  • Managed authentication and credentials: Merge stores and refreshes Dynamics 365 Sales credentials on your behalf. You never expose raw API keys or OAuth tokens to an agent or handle token rotation manually
  • Real-time observability and audit trail: Every tool call made against Dynamics 365 Sales is logged with timestamp, tool name, input parameters, and response metadata. You can audit exactly what an agent read or wrote without instrumenting anything yourself
  • Tool Packs and controlled access: Tool Packs let you bundle specific Dynamics 365 Sales tools with tools from other connectors into a single MCP endpoint, scoped to a specific use case. An agent gets exactly the tools it needs, nothing more

How can I start using Merge Agent Handler's Dynamics 365 Sales MCP server?

You can take the following steps:

1. Create or log into your Merge Agent Handler account and navigate to Tool Packs (collections of connector tools scoped to a specific use case).

2. Create a new Tool Pack, then find and enable the Dynamics 365 Sales connector. Choose which tools to include: enable read tools for data retrieval and reporting use cases, or add write tools if your agent needs to create or update leads, opportunities, contacts, or activities.

3. Add a Registered User inside the Tool Pack. This is the identity context under which your agent operates. Merge generates a unique MCP URL scoped to this user once it's created.

4. From the Registered User detail page, authenticate Dynamics 365 Sales by completing the OAuth flow. Merge stores and manages the credentials going forward.

5. Copy the MCP URL from the Tool Pack detail page and generate an API key from Settings. You'll need both to connect your agent.

6. Add the MCP server to your agent or IDE using the MCP URL and API key. Your Dynamics 365 Sales tools are now accessible through that endpoint.

Explore other MCP servers built and managed by Merge

activecampaign
ActiveCampaign
ahrefs
Ahrefs
airtable
Airtable
amadeus
Amadeus
amazon_s3
Amazon S3
amplitude
Amplitude
anaplan
Anaplan
apollo
Apollo
arize
Arize
articulate
Articulate Reach 360
asana
Asana
attio
Attio
aviationstack
Aviationstack
bamboohr
BambooHR
basecamp
Basecamp
biorxiv
bioRxiv
bitbucket
Bitbucket
bitly
Bitly
box
Box
calendly
Calendly
canva
Canva
clickup
ClickUp
clinicaltrials
ClinicalTrials.gov
cloudflare
Cloudflare

Ready to try it out?

Whether you're an engineer experimenting with agents or a product manager looking to add tools, you can get started for free now