Webex Automation
Automate Cisco Webex messaging, rooms, teams, webhooks, and people management through natural language commands
What this skill does
# 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 1. Add the Rube MCP server to your environment: `https://rube.app/mcp` 2. Connect your Webex account when prompted (OAuth flow via Composio) 3. 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 (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 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 by `direct` (1:1) or `group` - `teamId` -- limit to rooms in a specific team - `sortBy` -- 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" --- ### 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>` or `hostEmail=<email>`) - `secret` -- optional HMAC secret for payload signature verification - `ownedBy` -- `creator` for personal or `org` for organization-wide webhooks Supporting tools: - `WEBEX_LIST_WEBHOOKS` -- list all registered webhooks with optional `max` and `ownedBy` filters - `WEBEX_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..." --- ### 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 add - `personId` -- 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 [email protected] 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 room - `personEmail` -- check if a person is a member (requires `roomId`) - `personId` -- check by Webex person ID (requires `roomId`) - `teamId` -- filter by team association - `max` -- 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 [email protected]" --- ## 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)*
Related in General
modeling-omnistudio-epc-catalog
IncludedSalesforce Industries CME EPC product-modeling skill for Product2-based catalog creation. Use when creating EPC products, configuring product attributes, building offer bundles with Product Child Items, or reviewing EPC DataPack JSON metadata for product catalog changes. TRIGGER when: user creates or updates Product2 EPC records, AttributeAssignment payloads, AttributeMetadata/AttributeDefaultValues, Offer bundles, or ProductChildItem relationships. DO NOT TRIGGER when: designing OmniScripts/FlexCards/Integration Procedures (use building-omnistudio-omniscript, building-omnistudio-flexcard, or building-omnistudio-integration-procedure), implementing Apex business logic (use generating-apex), or troubleshooting deployment pipelines (use deploying-metadata).
relationship-science-coach
IncludedUse this skill for direct, practical adult relationship coaching: couples conflict, repair, trust, marriage, dating, flirting, attachment patterns, emotional connection, sex, desire differences, eroticism, kink negotiation, affection, love languages, breakups, and long-term passion. Draw on Gottman, EFT and Hold Me Tight, attachment science, modern sex research, Perel, Nagoski, Kerner, Schnarch, Love and Stosny, and flexible love-language tools. Be concrete and low-hedge. Redirect only for imminent danger, abuse, coercive control, minors, non-consent, self-harm, stalking, or medical/legal/psychiatric decisions.
building-sf-integrations
IncludedSalesforce integration architecture and runtime plumbing with 120-point scoring. Use this skill to set up Named Credentials, External Credentials, External Services, REST/SOAP callout patterns, Platform Events, and Change Data Capture. TRIGGER when: user sets up Named Credentials, External Services, REST/SOAP callouts, Platform Events, CDC, or touches .namedCredential-meta.xml files. DO NOT TRIGGER when: Connected App/OAuth config (use configuring-connected-apps), Apex-only logic (use generating-apex), or data import/export (use handling-sf-data).
venue-templates
IncludedAccess comprehensive LaTeX templates, formatting requirements, and submission guidelines for major scientific publication venues (Nature, Science, PLOS, IEEE, ACM), academic conferences (NeurIPS, ICML, CVPR, CHI), research posters, and grant proposals (NSF, NIH, DOE, DARPA). This skill should be used when preparing manuscripts for journal submission, conference papers, research posters, or grant proposals and need venue-specific formatting requirements and templates.
let-fate-decide
IncludedDraws the 12 Houses of the Zodiac Tarot spread to inject entropy into planning when prompts are vague, ambiguous, or casually delegated. Interprets the spread to guide next steps. Use when the user says 'let fate decide', 'YOLO', 'whatever', 'idk', or other nonchalant phrases, makes Yu-Gi-Oh references, or when you are about to arbitrarily pick between multiple reasonable approaches. Prefer over ask-questions-if-underspecified when the user's tone is casual or playful rather than precision-seeking.
net-ops
IncludedCross-platform network troubleshooting (Windows, macOS, Linux) via local or remote shell. Use for: DNS broken, can't resolve hostnames, nslookup/dig works but apps fail, NRPT, WFP, scutil, /etc/resolver, systemd-resolved, /etc/resolv.conf, NetworkManager, VPN DNS leak residue (ProtonVPN/Mullvad/WireGuard/AnyConnect), AV/firewall blocking DNS or DoH, Tailscale DNS interaction, intermittent connectivity, remote diagnostics over SSH.