# Webex on boxd

> Webex is a Cisco-powered video conferencing and collaboration platform offering online meetings, webinars, screen sharing, and team messaging.

- Page: https://boxd.sh/integrations/webex/
- CLI: `run webex` (26 commands, 26 marked common)
- SDK: `import { webex } from "@boxd/run"`; every parameter and response type is at `@boxd/run/webex`
- Triggers: none
- Connect: `run auth webex` (Sign in with Webex), or https://app.boxd.sh/integrations/detail/webex
- All integrations: https://boxd.sh/integrations/ (Markdown: https://boxd.sh/integrations/index.md)

## From the shell

```sh
run auth webex      # once: prints a link to connect your account
run webex           # list its commands
run webex list-teams
```

Parameters are flags (`--flag value`); object and array parameters take a JSON string. Output is YAML, or JSON with `--json`. Calls use your own connection; `--scope <name>` uses a connection shared with your team.

## From a script

```ts
import { every, webex } from "@boxd/run";

every("1 hour", async () => {
  const result = await webex.listTeams({});
  console.log(result);
});
```

Run it with `run webex.run.ts`. Webex has no triggers; `every()` polls on a schedule, keeps the script running as a job, and wakes the machine when it is due.

## Commands

Required flags are listed; `run webex <command> --help` lists the optional ones. "common" marks what `run webex` shows without `--all`.

| Command | SDK method | Required flags | Optional | Description |
|---|---|---|---|---|
| `create-team` ·common | `webex.createTeam()` | `--name` | 1 | Creates a new Webex team and automatically adds the authenticated user as a member |
| `get-team-details` ·common | `webex.getTeamDetails()` | `--teamId` | 0 | Retrieve details for a specific team by teamId |
| `list-teams` ·common | `webex.listTeams()` | — | 1 | Lists all teams the authenticated user belongs to |
| `list-webhooks` ·common | `webex.listWebhooks()` | — | 2 | Lists all webhooks registered for the authenticated user or organization |
| `messaging-create-message` ·common | `webex.messagingCreateMessage()` | — | 8 | Post a message to a Webex room or person |
| `messaging-create-room` ·common | `webex.messagingCreateRoom()` | `--title` | 6 | Creates a new Webex room for team collaboration |
| `messaging-create-team-membership` ·common | `webex.messagingCreateTeamMembership()` | `--teamId` | 3 | Add a person to a Webex team by personId or personEmail |
| `messaging-delete-membership` ·common | `webex.messagingDeleteMembership()` | `--membershipId` | 0 | Delete a Webex membership by its unique identifier |
| `messaging-delete-message` ·common | `webex.messagingDeleteMessage()` | `--messageId` | 0 | Delete a Webex message by its unique identifier |
| `messaging-delete-room` ·common | `webex.messagingDeleteRoom()` | `--roomId` | 0 | Deletes a Webex room by its ID |
| `messaging-get-membership-details` ·common | `webex.messagingGetMembershipDetails()` | `--membershipId` | 0 | Retrieve details for a specific membership |
| `messaging-get-message-details` ·common | `webex.messagingGetMessageDetails()` | `--messageId` | 0 | Retrieve details for a specific message |
| `messaging-get-team-membership-details` ·common | `webex.messagingGetTeamMembershipDetails()` | `--membershipId` | 0 | Retrieve details for a specific team membership |
| `messaging-list-memberships` ·common | `webex.messagingListMemberships()` | — | 5 | List memberships in Webex rooms |
| `messaging-list-messages` ·common | `webex.messagingListMessages()` | `--roomId` | 5 | List messages in a room |
| `messaging-list-rooms` ·common | `webex.messagingListRooms()` | — | 7 | List rooms the authenticated user belongs to |
| `messaging-list-team-memberships` ·common | `webex.messagingListTeamMemberships()` | `--teamId` | 1 | List all memberships for a specific team |
| `people-get-person` ·common | `webex.peopleGetPerson()` | `--personId` | 1 | Retrieves detailed profile information for a specific person by their ID |
| `people-list-people` ·common | `webex.peopleListPeople()` | — | 8 | List people in your organization |
| `rooms-get-room-details` ·common | `webex.roomsGetRoomDetails()` | `--roomId` | 0 | Retrieve details for a specific room |
| `update-membership` ·common | `webex.updateMembership()` | `--membershipId` | 2 | Updates a Webex room membership by ID to change moderator or monitor status |
| `update-room` ·common | `webex.updateRoom()` | `--roomId` `--title` | 2 | Update a room's title, lock status, or team association |
| `update-team` ·common | `webex.updateTeam()` | `--name` `--teamId` | 0 | Update a team's name by teamId |
| `webhooks-create-webhook` ·common | `webex.webhooksCreateWebhook()` | `--event` `--name` `--resource` `--targetUrl` | 4 | Creates a Webex webhook to receive real-time event notifications via HTTP POST requests to your specified URL |
| `webhooks-delete-webhook` ·common | `webex.webhooksDeleteWebhook()` | `--webhookId` | 0 | Delete a specific webhook |
| `webhooks-get-webhook` ·common | `webex.webhooksGetWebhook()` | `--webhookId` | 0 | Retrieves detailed information about a specific Webex webhook by its ID |

## Docs

- [run CLI](https://docs.boxd.sh/cli/run): Call connected integrations from the shell, connect new ones, and run automations.
- [Quickstart](https://docs.boxd.sh/guides/integrations/quickstart): Connect an integration, call it from the shell, and turn a script into an automation.
- [Connections](https://docs.boxd.sh/guides/integrations/connections): Connect an account once, for yourself or for your whole organization.
- [Scripts](https://docs.boxd.sh/guides/automations/scripts): Typed integrations, triggers, schedules and state in a .run.ts file.
- [Jobs](https://docs.boxd.sh/guides/automations/jobs): How a script becomes a background job: states, retries, sleep and wake.
- [Beyond the catalog](https://docs.boxd.sh/guides/automations/beyond-the-catalog): Reach your own APIs, databases and cloud accounts from a script.
