Webex Automation
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://composio.dev/toolkits/webex)
---
Setup
- Add the Rube MCP server to your environment:
https://rube.app/mcp - Connect your Webex account when prompted (OAuth flow via Composio)
- Start issuing natural language commands for Webex automation
---
Core Workflows
1. Send a Message to a Room or Person
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 (useWEBEX_MESSAGING_LIST_ROOMSto find it)toPersonEmail-- send a private 1:1 message instead (mutually exclusive withroomId)text-- plain text content (max 7439 bytes)markdown-- markdown-formatted content (takes precedence overtext)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 response
Example prompt: > "Send a markdown message to room Y2lz... saying Deploy completed with a link to the release notes"
---
2. List and Discover Rooms
Browse all rooms you belong to, filtered by type, team, or sorted by activity.
Tool: WEBEX_MESSAGING_LIST_ROOMS
Key parameters:
type-- filter bydirect(1:1) orgroupteamId-- limit to rooms in a specific teamsortBy-- sort byid,lastactivity, orcreatedmax-- 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"
---
3. Manage Webhooks for Event-Driven Automation
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>orhostEmail=<email>)secret-- optional HMAC secret for payload signature verificationownedBy--creatorfor personal ororgfor organization-wide webhooks
Supporting tools:
WEBEX_LIST_WEBHOOKS-- list all registered webhooks with optionalmaxandownedByfiltersWEBEX_WEBHOOKS_GET_WEBHOOK-- inspect a specific webhook bywebhookId
Example prompt: > "Create a webhook called 'New Messages' that POSTs to https://my-app.com/hook whenever a message is created in room Y2lz..."
---
4. Manage Team Memberships
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 totruefor moderator access (defaultfalse)
Use WEBEX_LIST_TEAMS to discover available teams first.
Example prompt: > "Add alice@example.com as a moderator to team Y2lz..."
---
5. Audit Room Memberships
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 (requiresroomId)personId-- check by Webex person ID (requiresroomId)teamId-- filter by team associationmax-- limit results
Example prompt: > "List all members of room Y2lz... and tell me who the moderators are"
---
6. Search and Look Up People
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"
---
Known Pitfalls
| 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 |
---
Quick Reference
| 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](https://composio.dev)*