RingEX Chat — Tools Reference¶
Full reference for every tool available on the RingEX Chat server. As of v1.1.0, the 65 fine-grained team_messaging_* tools have been replaced with 8 workflow-oriented tools. Most write tools accept a resource and/or action discriminator instead of exposing a separate tool per operation — pick the resource/action combination for what you want to do, then supply the ids and fields that combination requires.
Tools are listed alphabetically — use the on-page navigation ("On this page") to jump to a specific tool.
find_person¶
Resolves a RingCentral Team Chat person by exact person id, or by name, email, extension number, or phone number through the company directory. Returns a single resolved person for an exact match, a compact candidate list when the query is ambiguous, or not_found when nothing matches — it never guesses. personId, extensionId, email, extension number, and phone number are returned as distinct labeled fields and must not be treated as interchangeable.
Server: RingEX Chat
Access: Read-only
Not a directory admin tool
This tool resolves a person for use with send_post or manage_team — it does not perform administrative directory reads or user changes. Use RingEX Admin for that.
Parameters¶
| Parameter | Required | Description |
|---|---|---|
personId |
— | Exact RingCentral Team Chat person id. Resolves the person directly. Provide either personId or query, never both. |
query |
— | A name, email address, extension number, or phone number to resolve through the company directory. Provide either personId or query, never both. |
me |
— | Set to true to return the authenticated user (id, name, email, extension number, and time zone) without any lookup key. Use it to resolve "me" and the user's time zone. Cannot be combined with personId or query. |
Returns¶
A single resolved person (with distinct personId, extensionId, email, and phone fields), a compact list of candidates if the query is ambiguous, or a not_found result.
Example¶
read_team_chat¶
Reads RingCentral Team Chat resources with a strict, discriminated input. Select a resource (chat, post, file, adaptive_card, note, task, event, incoming_webhook) and an action, then supply the ids and filters that action requires. This tool is strictly read-only and stays available even when write tools are disabled.
Server: RingEX Chat
Access: Read-only
Supported resource / action combinations¶
| Resource | Actions | Notes |
|---|---|---|
chat |
list, get |
list covers all/recent/favorite chats, direct conversations, teams, and the Everyone chat, filtered by type. get retrieves one chat, conversation, team, or company info by id. |
post |
list, get, list_attachments |
list_attachments discovers attachments across one bounded page of posts in a chat. |
file |
download |
Requires chatId, postId, and fileId from a readable post. Returns bounded file content as a native MCP image, audio, or embedded resource. |
adaptive_card |
get |
Reads an existing card; use manage_adaptive_card to create/update/delete. |
note |
list, get |
Use manage_chat_item to create/update/publish/lock/unlock/delete. |
task |
list, get, find |
find resolves one task by chatId and an exact, case-sensitive subject (optionally assigneeId and status); it returns a unique match, an ambiguous match, not_found, or an incomplete result, and never guesses. Use manage_chat_item to create/update/complete/delete. |
event |
list, get |
Use manage_chat_item to create/update/delete. |
incoming_webhook |
list, get |
Use manage_incoming_webhook to create/activate/suspend/delete. |
Parameters¶
| Parameter | Required | Description |
|---|---|---|
resource |
✅ | One of chat, post, file, adaptive_card, note, task, event, incoming_webhook. |
action |
✅ | The read action valid for the chosen resource (see table above). |
| (resource-specific) | — | Ids and filters required by the chosen resource/action — e.g. chatId, postId, fileId, recordCount, type. Exact fields are visible in tools/list. |
Examples¶
send_post¶
Sends a RingCentral Team Chat post, optionally with file or image attachments, to a known chat (chatId) or a resolved person (personId) for a direct chat. When a person is the destination, the direct conversation is opened or reused first. Files are uploaded before the post is created. The result reports the destination chat id, created post id, uploaded attachment ids, and per-step status, so a failed post can be retried without re-uploading.
Server: RingEX Chat
Access: Write
Resolve people first
Use find_person to resolve a name, email, or phone number to a personId before calling send_post.
Parameters¶
| Parameter | Required | Description |
|---|---|---|
chatId |
One of chatId/personId |
A known Team Chat chat id to post into. |
personId |
One of chatId/personId |
A resolved Team Chat person id (from find_person) for a direct chat. The direct conversation is opened or reused before posting. |
text |
✅ | The post text (max 10,000 characters). |
threadId |
— | Optional thread id to reply within a thread of the destination chat. |
file |
— | Optional single file attachment, supplied as a ChatGPT file reference (download_url and file_id). |
files |
— | Optional array (1–25) of file/image attachments, uploaded before the post is created. Each entry is either a file reference (file) or raw base64 bytes (contentBase64 + contentType + name) — do not pass a local path, sandbox URI, data URL, or arbitrary URL. |
Returns¶
The destination chat id, the created post id, any uploaded attachment ids, and per-step status for the resolve/upload/post workflow.
Examples¶
manage_post¶
Updates or deletes an existing RingCentral Team Chat post. Reading posts uses read_team_chat. This tool can delete content, so it is annotated as destructive.
Server: RingEX Chat
Access: Write · Destructive
Parameters¶
| Parameter | Required | Description |
|---|---|---|
action |
✅ | update or delete. |
chatId / postId |
✅ | Identify the post to update or delete. |
text |
Required for update |
Replacement text for the post. |
Examples¶
manage_adaptive_card¶
Creates, updates, or deletes a RingCentral Team Chat Adaptive Card. Cards must be version 1.3 with only Action.OpenUrl and Action.Submit actions and meaningful fallbackText — other versions or actions are rejected before the request reaches RingCentral. Reading cards uses read_team_chat. This tool can delete content, so it is annotated as destructive.
Server: RingEX Chat
Access: Write · Destructive
Parameters¶
| Parameter | Required | Description |
|---|---|---|
action |
✅ | create, update, or delete. |
chatId |
✅ | The chat to post the card into (for create), or that contains it (for update/delete). |
card |
Required for create/update |
Adaptive Card payload — version 1.3, body elements, and only Action.OpenUrl/Action.Submit in actions. Must include fallbackText. |
cardId |
Required for update/delete |
Id of the existing card. |
Example¶
{
"action": "create",
"chatId": "chat-123",
"card": {
"$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
"type": "AdaptiveCard",
"version": "1.3",
"fallbackText": "A pull request is ready for review.",
"body": [
{ "type": "TextBlock", "text": "Pull request ready for review", "weight": "Bolder", "wrap": true }
],
"actions": [
{ "type": "Action.OpenUrl", "title": "Open pull request", "url": "https://example.com/pull/123" }
]
}
}
{
"action": "create",
"chatId": "chat-123",
"card": {
"$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
"type": "AdaptiveCard",
"version": "1.3",
"fallbackText": "Approval is requested for change CHG-123.",
"body": [
{ "type": "TextBlock", "text": "Approve change CHG-123?", "weight": "Bolder", "wrap": true }
],
"actions": [
{ "type": "Action.Submit", "title": "Approve", "data": { "changeId": "CHG-123", "decision": "approve" } },
{ "type": "Action.Submit", "title": "Reject", "data": { "changeId": "CHG-123", "decision": "reject" } }
]
}
}
Action.Submit needs an outbound webhook
Action.Submit requires an application configured for Interactive Messages with an outbound webhook URL. A generic incoming webhook (see manage_incoming_webhook) cannot receive submitted interaction data.
manage_team¶
Creates, updates, archives, unarchives, deletes, joins, or leaves a RingCentral Team Chat team; adds or removes members; adds or removes a chat from favorites; or updates the company Everyone chat. Reading teams and chats uses read_team_chat. This tool includes archive, delete, and remove-members actions, so it is annotated as destructive.
Server: RingEX Chat
Access: Write · Destructive
Parameters¶
| Parameter | Required | Description |
|---|---|---|
action |
✅ | One of create, update, delete, archive, unarchive, join, leave, add_members, remove_members, favorite, unfavorite, update_everyone. |
chatId |
Required for most actions | The team or chat being acted on. Not used by create or update_everyone. |
name |
✅ (create) |
Team name. Optional for update and update_everyone. |
description |
— | Team description. Accepted by create, update, and update_everyone. |
public |
— | Whether the team is publicly discoverable. Accepted by create and update. |
members |
✅ (add_members, remove_members) |
Team Chat person ids to add or remove. Optional on create for the initial members. |
Examples¶
manage_chat_item¶
Creates, updates, or deletes a RingCentral Team Chat note, task, or event; publishes, locks, or unlocks a note; or completes a task. Select a resource (note, task, event) and an action valid for that resource. Reading these items uses read_team_chat. This tool includes delete actions, so it is annotated as destructive.
Server: RingEX Chat
Access: Write · Destructive
Supported resource / action combinations¶
| Resource | Actions |
|---|---|
note |
create, update, delete, publish, lock, unlock |
task |
create, update, delete, complete |
event |
create, create_by_group_id, update, delete |
Notes start as drafts
A note created with resource: note, action: create is a draft and isn't visible to other team members until action: publish is called on it.
Parameters¶
| Parameter | Required | Description |
|---|---|---|
resource |
✅ | note, task, or event. |
action |
✅ | An action valid for the chosen resource (see table above). |
chatId |
Required for create |
The chat the item belongs to. |
groupId |
✅ (create_by_group_id) |
The Team Chat group the event is created in. Use create_by_group_id instead of create when the event belongs to a specific group. |
noteId / taskId / eventId |
Required for update/delete/publish/lock/unlock/complete | Identifies the existing item. |
| (resource-specific fields) | Action-specific | e.g. text/title/due date for a task, body for a note, start/end time for an event. Exact fields are visible in tools/list. |
Examples¶
manage_incoming_webhook¶
Creates an incoming webhook in a RingCentral Team Chat group, or activates, suspends, or deletes an existing webhook. Reading webhooks uses read_team_chat. This tool includes a delete action, so it is annotated as destructive.
Server: RingEX Chat
Access: Write · Destructive
Parameters¶
| Parameter | Required | Description |
|---|---|---|
action |
✅ | create, activate, suspend, or delete. |
groupId |
Required for create |
The Team Chat group that will own the webhook. |
webhookId |
Required for activate/suspend/delete |
Identifies the existing webhook. |
Examples¶
Data export moved to RingEX Admin
Prior to v1.1.0, this server also exposed team_messaging_create_data_export_task, _get_data_export_task, and _list_data_export_tasks. Bulk Team Chat data export is now handled by RingEX Admin, since it's an account-sensitive administrative workflow.