Automate Cisco Webex collaboration workflows -- send messages, manage rooms and teams, configure webhooks, and look up people -- all through natural language.
Toolkit docs: composio.dev/toolkits/webex
https://rube.app/mcp
Post plain text, markdown, file attachments, or Adaptive Cards to any Webex room or directly to a person.
Tool: WEBEX_MESSAGING_CREATE_MESSAGE
Key parameters:
roomId -- target room ID (use WEBEX_MESSAGING_LIST_ROOMS to find it)toPersonEmail -- send a private 1:1 message instead (mutually exclusive with roomId)text -- plain text content (max 7439 bytes)markdown -- markdown-formatted content (takes precedence over text)files -- list of public URLs for file attachments (one file per message)attachments -- Adaptive Card JSON (one card per message)parentId -- reply to a specific message as a threaded responseExample prompt:
"Send a markdown message to room Y2lz... saying Deploy completed with a link to the release notes"
Browse all rooms you belong to, filtered by type, team, or sorted by activity.
Tool: WEBEX_MESSAGING_LIST_ROOMS
Key parameters:
type -- filter by direct (1:1) or group
teamId -- limit to rooms in a specific teamsortBy -- sort by id, lastactivity, or created
max -- limit results (1-1000, default 100)Follow-up with WEBEX_MESSAGING_GET_ROOM_DETAILS to get full metadata for a specific room including title, type, lock status, creator, and timestamps.
Example prompt:
"List my 10 most recently active group rooms in Webex"
Create webhooks to receive real-time HTTP POST notifications when Webex resources change.
Tool: WEBEX_WEBHOOKS_CREATE_WEBHOOK
Key parameters:
name -- human-friendly webhook name (required)targetUrl -- URL that receives POST notifications (required)resource -- what to monitor: messages, rooms, memberships, meetings, recordings, meetingParticipants, telephony_calls, etc. (required)event -- trigger type: created, updated, deleted, started, ended, joined, left (required)filter -- scope notifications (e.g., roomId=<id> or hostEmail=<email>)secret -- optional HMAC secret for payload signature verificationownedBy -- creator for personal or org for organization-wide webhooksSupporting tools:
WEBEX_LIST_WEBHOOKS -- list all registered webhooks with optional max and ownedBy filtersWEBEX_WEBHOOKS_GET_WEBHOOK -- inspect a specific webhook by webhookId
Example prompt:
"Create a webhook called 'New Messages' that POSTs to https://my-app.com/hook whenever a message is created in room Y2lz..."
Add people to Webex teams and optionally grant moderator privileges.
Tool: WEBEX_MESSAGING_CREATE_TEAM_MEMBERSHIP
Key parameters:
teamId -- the team to add the person to (required)personEmail -- email of the person to addpersonId -- Webex person ID (alternative to email)isModerator -- set to true for moderator access (default false)Use WEBEX_LIST_TEAMS to discover available teams first.
Example prompt:
"Add alice@example.com as a moderator to team Y2lz..."
Check who is in a room, verify a specific person's membership, or list memberships across teams.
Tool: WEBEX_MESSAGING_LIST_MEMBERSHIPS
Key parameters:
roomId -- list all members of a specific roompersonEmail -- check if a person is a member (requires roomId)personId -- check by Webex person ID (requires roomId)teamId -- filter by team associationmax -- limit resultsExample prompt:
"List all members of room Y2lz... and tell me who the moderators are"
Look up people in your Webex organization by email, display name, or ID.
Tool: WEBEX_PEOPLE_LIST_PEOPLE
Use to resolve names to person IDs before sending direct messages or adding team members.
Example prompt:
"Find the Webex person ID for bob@company.com"
| Pitfall | Details |
|---|---|
| Webhook auto-disable | Target URL must respond with HTTP 2xx; 100 failures in 5 minutes disables the webhook automatically |
| Message size limit | Both text and markdown have a 7439-byte maximum |
| One file per message | The files array accepts a list but only one attachment is actually supported per message |
| One card per message | Only one Adaptive Card attachment is supported per message |
| Mutually exclusive targets | roomId and toPersonEmail/toPersonId cannot be used together when sending messages |
| Room update requires title | WEBEX_UPDATE_ROOM always requires the title parameter, even when only changing lock status or team |
| orgPublicSpaces conflicts | Cannot combine orgPublicSpaces with teamId, type, or sortBy when listing rooms |
| Webhook read scope | Creating a webhook requires read scope on the monitored resource type |
| Membership filter requires roomId | personEmail and personId filters in list memberships require roomId unless you are a Compliance Officer |
| Action | Tool Slug | Key Params |
|---|---|---|
| Send message | WEBEX_MESSAGING_CREATE_MESSAGE |
roomId, text/markdown, toPersonEmail |
| List rooms | WEBEX_MESSAGING_LIST_ROOMS |
type, sortBy, max |
| Get room details | WEBEX_MESSAGING_GET_ROOM_DETAILS |
roomId |
| Update room | WEBEX_UPDATE_ROOM |
roomId, title |
| Delete message | WEBEX_MESSAGING_DELETE_MESSAGE |
messageId |
| Get message details | WEBEX_MESSAGING_GET_MESSAGE_DETAILS |
messageId |
| Create webhook | WEBEX_WEBHOOKS_CREATE_WEBHOOK |
name, targetUrl, resource, event |
| List webhooks | WEBEX_LIST_WEBHOOKS |
max, ownedBy |
| Get webhook | WEBEX_WEBHOOKS_GET_WEBHOOK |
webhookId |
| Add team member | WEBEX_MESSAGING_CREATE_TEAM_MEMBERSHIP |
teamId, personEmail, isModerator |
| List memberships | WEBEX_MESSAGING_LIST_MEMBERSHIPS |
roomId, personEmail, max |
| List people | WEBEX_PEOPLE_LIST_PEOPLE |
email, displayName, ID filters |
| List teams | WEBEX_LIST_TEAMS |
max |
Powered by Composio