Connect your AI Agents to RingCentral in minutes

Merge lets you securely connect your agents to RingCentral and thousands of tools instantly

Available tools

list_chats

List RingCentral chats. Filter server-side by type (Everyone, Team, Group, Direct, Personal). Use this to find chat IDs. Page forward with pageinfo.nextpage_token.

get_chat

Get one RingCentral chat by ID, including its members. Use list_chats to find chat IDs.

list_recent_chats

List the authenticated person's recent RingCentral chats, most recent first. Filter by type. Raise record_count for more results; this route returns a single page and does not support cursor paging.

list_favorite_chats

List the authenticated person's favorite RingCentral chats. Use favoritechat to add and unfavoritechat to remove. Raise record_count for more results; this route returns a single page and does not support cursor paging.

favorite_chat

Add a RingCentral chat to the authenticated person's favorites. Reverse with unfavoritechat. Use listchats to find chat IDs.

unfavorite_chat

Remove a RingCentral chat from the authenticated person's favorites. Reverse with favoritechat. Use listfavorite_chats to find chat IDs.

list_conversations

List the authenticated person's RingCentral conversations. Use this to find conversation IDs. Page forward with pageinfo.nextpage_token.

create_conversation

Open or create a RingCentral conversation with the given member person IDs. Returns the existing conversation if one already exists for those members. Use a chat's members field or getcurrentperson for person IDs; get_person only resolves a known id. Returns the conversation with its id.

get_conversation

Get one RingCentral conversation by ID, including its members. Use list_conversations to find conversation IDs.

list_chat_notes

List notes in a RingCentral chat. Filter server-side by status (Active, Draft), creatorid, and creation time range. Use listchats to find chat IDs. Page forward with pageinfo.nextpage_token.

create_chat_note

Create a note in a RingCentral chat. title is required. Use list_chats to find chat IDs. Returns the created note with its id.

get_note

Get one RingCentral note by ID, including its body. Use listchatnotes to find note IDs.

update_note

Update a RingCentral note's title or body. Only supplied fields change. Set releaselock true to release the edit lock after saving. Use listchat_notes to find note IDs.

delete_note

Delete a RingCentral note permanently. Use listchatnotes to find note IDs.

publish_note

Publish a RingCentral note (move it from Draft to Active). Use listchatnotes to find note IDs.

lock_note

Lock a RingCentral note for editing so others cannot change it. Reverse with unlocknote. Use listchat_notes to find note IDs.

unlock_note

Unlock a RingCentral note so it can be edited by others. Reverse with locknote. Use listchat_notes to find note IDs.

get_current_person

Get the profile of the currently authenticated RingCentral person (the '~' account).

get_person

Get a RingCentral person by ID. Person IDs appear in the members, creator, and assignees fields of chats, notes, and tasks.

list_posts

List posts (messages) in a RingCentral chat. Use listchats to find chat IDs. Page forward with pageinfo.nextpagetoken.

create_post

Post a message to a RingCentral chat. text is required. Use list_chats to find chat IDs. Returns the created post with its id.

get_post

Get one RingCentral post by ID within a chat. Use list_posts to find post IDs.

update_post

Edit the text of a RingCentral post. Only the post author can edit. Use list_posts to find post IDs.

delete_post

Delete a RingCentral post permanently. Use list_posts to find post IDs.

list_chat_tasks

List tasks in a RingCentral chat. Filter server-side by status (Pending, InProgress, Completed), creatorid, assigneeid, assignmentstatus, assigneestatus, and creation time range. Use listchats to find chat IDs. Page forward with pageinfo.nextpagetoken.

create_task

Create a task in a RingCentral chat. subject and assignees are required — a task cannot be unassigned. Assignee IDs come from a chat's members field or getcurrentperson; list_chats finds chat IDs. Returns the created task with its id.

get_task

Get one RingCentral task by ID, including assignees and due date. Use listchattasks to find task IDs.

update_task

Update a RingCentral task. Only supplied fields change. To close it, use completetask. New assignee IDs come from a chat's members field or getcurrentperson; listchat_tasks finds task IDs.

delete_task

Delete a RingCentral task permanently. To mark it done instead, use completetask. Use listchat_tasks to find task IDs.

complete_task

Complete or reopen a RingCentral task. Check completenessCondition with gettask first. Simple: pass status. AllAssignees: also pass assignees (IDs from gettask) to complete; reopen with status='Incomplete' and assignees=[]. Percentage: pass completenesspercentage, which alone sets progress (100 completes; status is ignored). Use listchat_tasks to find task IDs.

list_teams

List RingCentral teams the authenticated person can see. Use this to find team IDs. Page forward with pageinfo.nextpage_token.

create_team

Create a RingCentral team. name is required. Pass member person IDs to seed it. Person IDs come from a chat's members field or getcurrentperson for your own. Returns the created team with its id.

get_team

Get one RingCentral team by ID. Use list_teams to find team IDs.

update_team

Update a RingCentral team's name, description, or visibility. Only supplied fields change. Use list_teams to find team IDs.

delete_team

Delete a RingCentral team permanently. Use list_teams to find team IDs.

join_team

Join a public RingCentral team as the authenticated person. Reverse with leaveteam. Use listteams to find team IDs.

leave_team

Leave a RingCentral team as the authenticated person. Reverse with jointeam. Use listteams to find team IDs.

archive_team

Archive a RingCentral team (make it read-only). Reverse with unarchiveteam. Use listteams to find team IDs.

unarchive_team

Unarchive a RingCentral team (restore write access). Reverse with archiveteam. Use listteams to find team IDs.

add_team_members

Add members to a RingCentral team by person ID. Reverse with removeteammembers. Person IDs come from a chat's members field or getcurrentperson; list_teams finds team IDs.

remove_team_members

Remove members from a RingCentral team by person ID. Reverse with addteammembers. Current member IDs come from getchat(chatid).members (getteam returns members as null). Use listteams to find team IDs.

validate_credential

Check that the RingCentral connection works by fetching the signed-in person.

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 RingCentral  MCP server

FAQs on using Merge's RingCentral  MCP server

Explore other MCP servers built and managed by Merge

plaid
Plaid
plaud
Plaud
podium
Podium
posthog
PostHog
pubmed
PubMed
pylon
Pylon
quartr
Quartr
quickbooks_online
QuickBooks Online
ramp
Ramp
readme
ReadMe
render
Render
reo
Reo.dev
rootly
Rootly
sabre
Sabre
salesforce
Salesforce
salesforce_data_360
Salesforce Data 360
salesforce_marketing_cloud
Salesforce Marketing Cloud
sanity
Sanity
sapsf
SAP SuccessFactors
sendgrid
SendGrid
sentry
Sentry
servicenow
ServiceNow
sharepoint
SharePoint
sharepoint_gcc
SharePoint GCC High

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