Webex Calling
With Webex Calling features, connecting with people is easier than ever.
anchorOverview
anchorWebex Calling provides advanced telephony services for its users. The Webex Calling APIs provide an interface for third-party provisioning, which can be used to provision Webex Calling users. Call Controls provides information about active and past calls and can be used to perform call actions.
For more information about Webex Calling, see the Webex Calling Help site.
What's possible with Webex Calling Provisioning APIs?
- Retrieve a Webex Calling license
- Retrieve Locations
- Create a Webex Calling user & assign phone number, extension, location
- Delete a Webex Calling user
- Assign Webex Calling license to existing Webex user & specify phone number, extension, location
- Update phone number, extension for existing Webex Calling user
- Retrieve Webex Calling user with phone number, extension and location
- Query Webex Calling users by Location
What's possible with Webex Calling Call Controls?
- Place a call (dial)
- Answer a call (answer)
- Reject an incoming call (reject)
- Hangup a call (hangup)
- Divert an incoming call (divert)
- Hold a call (hold)
- Resume a held call (resume)
- Transfer an active call (transfer)
- Park an active call (park)
- Retrieve a parked call (retrieve)
- Start Recording on a call (Start recording)
- Stop Recording on a call (Stop recording)
- Pause Recording on a call (Pause recording)
- Resume Recording on a call (Resume recording)
- List active calls
- Get the details for a specific active call
- Get the Call History
What's possible with Webex Calling Call Events?
Webex Calling uses webhooks to allow applications to receive real-time data concerning call status changes. The callIds and information in the Webhook notifications can be used in conjunction with the Webex Calling Call Controls API to build feature rich calling applications. For more information about Webhooks usage, see the Webex for Developers Webhooks Guide.
Postman Collection
In addition to the Call Controls API Reference, we've also put together a Webex Calling Postman collection which demonstrates the use of the Webex Calling API.
anchorProvisioning
anchorUsage Notes
When creating, updating, or retrieving Webex Calling users:
- The
callingData
query parameter must be set to "true" to retrieve Webex Calling details for the user when using the People API
When creating users:
- To create a Webex Calling user, include the
phoneNumber
orextension
, a Webex Calling license, and (optionally) the user'slocationId
- If a
locationId
is not specified when creating a user with aphoneNumber
orextension
, or both, then the organization's default location will be used - If the phone number is invalid, neither the phone number nor the extension will be created and associated with the person
When updating users:
- You can only add a
locationId
when applying a new Calling license to an existing user - If you do not specify a
locationId
when adding a new Calling license to an existing user, the default will be used - You cannot update the
locationId
for an existing Webex Calling user
Working with Phone Numbers:
- Webex Calling APIs only support the primary phone number and not alternate phone numbers
- For US Phone Numbers use the format without country code ([area code][number]), e.g. 5715551212. The following are not supported: e.g. +15715551212, 15715551212, 571-555-1212.
- Non-US numbers must use E.164 format ([country code][area code][number]), e.g. +335715551212
Authorization Scopes
Authorization scopes are required to provision users and work with Locations. For instructions on how to add these scopes to your app and for a full list of all available authorization scopes see the Integrations & Authorization Guide.
spark-admin:licenses_read
spark-admin:organizations_read
spark-admin:people_read
spark-admin:people_write
anchorCall Controls
anchorWebex Calling users can perform the telephony actions listed above directly in the Webex Teams clients. The Call Controls API provides the ability to create clients and applications which implement the same functionality.
Authorization Scopes
Authorization scopes are required to read call information and perform call actions. For instructions on how to add these scopes to your app and for a full list of all available authorization scopes see the Integrations & Authorization Guide.
spark:calls_read
spark:calls_write