call-control

Control Webex Calling calls, telephony webhooks, and conferences via the wxcli CLI.

3|Updated Mar 20, 2026
One-click install
npx skills add https://github.com/achobgood/wxops --skill call-control-achobgood
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: call-control
Source: https://github.com/achobgood/wxops/tree/main/.claude/skills/call-control
Command: npx skills add https://github.com/achobgood/wxops --skill call-control-achobgood

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Real-time call control and telephony event monitoring in Webex Calling require navigating token-type restrictions, scope requirements, and API distinctions that commonly cause 400 authorization errors and misconfigured webhooks. This Skill encodes the correct procedures so calls, webhooks, and conferences are set up without hitting those landmines. ## Core Features & Use Cases - Call Control Operations: Dial, answer, hold, transfer, park, record, mute, divert, and hang up calls through the Call Control API, including Service App Members API variants for admin-side control. - Telephony Webhooks: Create, filter, verify, and manage webhook subscriptions for call events, with HMAC signature verification and interest registrations for gated telephony resources. - Conference Controls: Start conferences, add participants, mute/deafen participants, and merge two active calls into a three-way conference. - Use Case: A developer building a click-to-dial integration uses this Skill to verify their user-level OAuth token has spark:calls_write scope, initiate a call with wxcli call-controls create, and monitor call state transitions through a telephony_calls webhook. ## Quick Start Ask the agent to set up a webhook that notifies your HTTPS endpoint whenever a Webex call starts or ends, verifying your token scopes first.

Frequently Asked Questions about call-control

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I control Webex calls programmatically with the Call Control API?

Use wxcli call-controls commands with a user-level OAuth token that has spark:calls_read and spark:calls_write scopes. Operations include dial, answer, hold, transfer, park, record, and hangup, each invoked with the target call ID.

How do I set up a webhook for Webex telephony call events?

Create a webhook with wxcli webhooks create using resource telephony_calls, event all, and a publicly accessible HTTPS target URL. Verify no duplicate webhooks exist first, and use the secret parameter for HMAC signature verification of incoming events.

Why does the Webex Call Control API return 400 Target user not authorized?

This error occurs when using an admin token instead of a user-level OAuth token. The Call Control API requires spark:calls_read and spark:calls_write scopes on a user token; Service Apps must use the Members API endpoints with spark-admin scopes instead.

Can a Service App control calls on behalf of Webex users?

Yes, Service Apps with spark-admin:calls_read and spark-admin:calls_write scopes control calls through the Members API at /v1/telephony/calls/members/{memberId}/*. Use wxcli commands like create-dial-members and list-calls-members with the member ID.

Why did my Webex webhook stop receiving call events?

Webhooks that repeatedly fail delivery are automatically set to inactive by Webex. Fix the target URL, then reactivate with wxcli webhooks update setting status to active; resource, event, and filter fields cannot be changed after creation.

What are the limitations of Webex call transfer and recording controls?

Unanswered incoming calls cannot be transferred; use divert instead. Recording start and stop only work in On Demand mode, while pause and resume also work in Always with Pause/Resume mode.