Awesome-claude-skills Webex Automation

Automate Cisco Webex messaging, rooms, teams, webhooks, and people management through natural language commands

install
source · Clone the upstream repo
git clone https://github.com/ComposioHQ/awesome-claude-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ComposioHQ/awesome-claude-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/composio-skills/webex-automation" ~/.claude/skills/composiohq-awesome-claude-skills-webex-automation && rm -rf "$T"
manifest: composio-skills/webex-automation/SKILL.md
source content

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


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 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 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 bob@company.com"


Known Pitfalls

PitfallDetails
Webhook auto-disableTarget URL must respond with HTTP 2xx; 100 failures in 5 minutes disables the webhook automatically
Message size limitBoth
text
and
markdown
have a 7439-byte maximum
One file per messageThe
files
array accepts a list but only one attachment is actually supported per message
One card per messageOnly 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 conflictsCannot combine
orgPublicSpaces
with
teamId
,
type
, or
sortBy
when listing rooms
Webhook read scopeCreating 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

ActionTool SlugKey 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