Webex Calling Provisioning APIs
The Webex Calling platform includes a wide range of APIs and webhook events for a complete integrative experience. Developers can leverage these flexible APIs to build powerful applications that automate and extend all aspects of Webex Calling.
There are three pillars for Webex Calling APIs that encapsulate the actions taken before, during, and after phone calls. One pillar is the user-level Call Control APIs which represents the actions during active calls. These Call Control endpoints also provide information about current and previous calls for users, that can be used to power agent dashboards, call widgets, and more. The other two pillars of the Calling APIs are on the administrator level. The analytics & report APIs are for actions made after phone calls are finished. These APIs can be leveraged by admins to automatically retrieve rich historical call data and generate call detail reports. The remaining pillar and the focus of this guide are the Provisioning APIs, which contain the actions to get everything set up before phone calls happen.
anchorThe Purpose of Provisioning APIsanchor
In broad terms, the Provisioning APIs automate bulk administrator tasks for Webex Calling that would otherwise be done manually, one at a time, in Webex Control Hub. These APIs can be used to create reliable and scalable integration solutions for a variety of use cases for Webex Calling administration. Some of the more popular solutions built with these APIs are for automated user on-boarding or 3rd party migration applications, where configurations must be applied consistently and accurately in high volumes. For example, check out the UCentric integration in the Webex App Hub, which utilizes the Provisioning APIs in intuitive ways for a seamless migration solution.
Let us take a closer look at this comprehensive collection of Provisioning APIs to find out what is available for developers. Please note, most of the embedded hyperlinks will either navigate to an official API reference page or the relevant Webex help article for more information on the individual features.
anchorExploring the Provisioning APIsanchor
Since there are many components to Webex Calling, the collection of Provisioning APIs is quite extensive. There are endpoints for configuring and managing users, devices, phone numbers, locations and much more. To examine the endpoints in more detail, we can group them into some basic categories:
User Management APIs
Some of the most widely utilized Calling APIs are for user management, to automate the provisioning of new users and the configuration of user calling settings. This category of APIs can optimize workflows for onboarding users quickly and efficiently. For example, an administrator integration that uses the People APIs to create a batch of new users and assign them Webex Calling licenses, then leverages the User Calling Settings API to configure each of their custom calling preferences. The API endpoints in this group are as follows:
- People APIs are used to create and manage user accounts inside an organization. These endpoints support the automation of adding user accounts in Control Hub that will have Webex Calling services enabled.
- User Call Settings APIs control the Webex Calling settings for specific user accounts. This diverse set of endpoints supports the automation of variety of different individual user settings for: application services, barge-in, forwarding, intercept, call queue, recording, call waiting, caller ID, behaviors, DND (Do Not Disturb), executive assistant, hoteling, monitoring, permissions, phone numbers, answer endpoints, privacy, push-to-talk, receptionist client, schedules, shared-line appearance members, andvoicemail.
Location Settings APIs
The management of locations and the corresponding Webex Calling settings for those locations can be automated with this group of APIs. In this context, "locations" are physical places (office building, retail center, warehouse, etc.) that "users" and "workspaces" are assigned to. For example, these APIs can be used to create a script that would automatically configure the calling settings for all users in a new location. This script could be run whenever a new location is created, ensuring that all users in the location have the correct calling settings. The API endpoints in this category are as follows:
- Locations APIs are used to create and manage locations in Webex and correlate users & workspaces to locations.
- Location Call Settings APIs are used to retrieve and/or update the following call configurations within a specific location: location details, announcement language, dial patterns, emergency callback numbers, validate extensions, music on hold,private network connect, and routing choices.
- Location Call Settings: Call Handling APIs can be leveraged to read/write Webex Calling location settings pertaining to call permissions and intercepting of inbound & outbound calls in an organization.
- Location Call Settings: Schedules APIs are used to create business schedules and manage scheduled events for specific locations.
- Location Call Settings: Voicemail APIs are for retrieving and modifying voicemail groups to organize a shared mailbox by workgroup or department, and voice portal settings for IVR (Interactive Voice Response) configuration.
Workspace Calling and Device APIs
This next category of APIs are for managing workspaces and the associated devices in Webex Calling. Workspaces help organize specific areas inside a "location" (such as conference rooms, meeting spaces, lobbies, lecture halls, etc.) and have individual call settings or specific devices assigned to them. The API endpoints in this group are as follows:
- Workspaces APIs are for creating and managing workspaces in Webex, which represent where people work.
- Workspace Call Settings APIs are for retrieving and modifying various call settings for a specific workspace, such as forwarding, call waiting, callerID, monitoring, numbers, permissions & access codes, intercepts, and transfer numbers.
- Devices APIs are activating and managing devices that can be associated with a workspace.
- Device Call Settings APIs are for managing various call settings when configuring a device.
Phone Numbers & Service Settings APIs
Organizations that maintain a large amount of phone numbers need a dynamic approach to how they are administered. Integrations can use the Phone Numbers APIs to manage inbound phone numbers in a variety of ways, including by location, type, and routing. The management of virtual lines (allows a user to have multiple numbers without additional licensing) and voicemail configurations within an organization can also be automated.
The API endpoints in this group are as follows:
- Numbers APIs are used to add, activate, and remove phone numbers at a location, and also validate and manage phone numbers in the organization.
- Virtual Line Call Settings API has a single endpoint for retrieving a list of virtual lines in an organization.
- Calling Service Settings APIs are for retrieving and modifying voicemail settings, rules, and announcement languages.
Local Gateway APIs
There are also APIs for retrieving and modifying the local gateway configuration for on-premises deployments inside an organization. These endpoints can create and manage the rules for routing to a local gateway, for handling calls between Webex Calling hosted users and on-premises PBX users. The API endpoints in this category are:
- Call Routing APIs can be used to configure various settings on a local gateway, such as dial plans (custom prefixes, extension lengths, outbound preferences), trunks (connection between cloud calling and premises), and route groups (allow Webex Calling to distribute calls over multiple trunks).
Calling Features APIs
The last category of Provisioning APIs is for managing a range of Webex Calling features inside an organization. Each specific feature has its own set of APIs for creating and managing the settings. Most of these settings are for improving the efficiency of call handling, compliance, and to ensure that callers are routed to the right agents. Automating these actions becomes particularly imperative for companies that have a large staff to manage. The API endpoints in this group are as follows:
- Features: Auto Attendant APIs are for creating and managing greetings, menus, forwarding rules, and other features in auto-attendants.
- Features: Call Park APIs allow the creation and management of call park services, that allows users to keep active calls assigned to their extension while they are free to make & receive other calls.
- Features: Call Pickup APIs allow the creation and management of call pickup groups, that can answer calls for others when their line is busy.
- Features: Call Queue APIs allow the creation and management of call queues, for routing callers to the proper agents to help with a particular issue or question.
- Features: Call Recording APIs provide access to call recordings settings and compliance announcements.
- Features: Hunt Group APIs allow the creation and management of hunt groups, that route incoming calls to specific agents based on a predetermined pattern. This ensures inbound calls are answered by the proper agent or routed to a specific voicemail.
- Features: Paging Group APIs allow the creation and management of paging groups, where users can send an audio message to a person, a department, or a team by dialing an assigned number or extension.
- Features: Receptionist Client APIs are for creating and modifying receptionist clients, who are users that can screen inbound calls for certain people within their organization.
Since the Provisioning APIs require an administrator role, start by requesting a free Webex Developer Sandbox, which provides exclusive access to a licensed organization. Once logged in as the sandbox administrator, follow these instructions to configure the sandbox organization for Webex Calling. Additionally, this helpful Vidcast shows how to set up basic Webex Calling extension dialing on the sandbox. Do note that these instructions explain how to set things up manually in Control Hub. Developers can also utilize the Provisioning APIs that correspond to the actions in Control Hub to configure the sandbox.