8x8 integration for AI agents.
8x8 integration for AI agents with secure authentication and server-side credential injection. Open Connector runs the OAuth, seals the token in an encrypted vault, and serves 8x8 tools to your agent over MCP or a typed API — credentials injected server-side, every call audited, nothing leaving your infrastructure. Open source (AGPL-3.0) and self-hostable.
Real 8x8 actions, managed and audited.
Your user connects 8x8 once; your agent can then secure AI-agent actions — scoped to the OAuth permissions you grant and the tool allowlist you configure. Every action is least-privilege and written to a tamper-evident audit trail.
- 1
Your user grants 8x8 access once (OAuth) — the token lands in the vault.
- 2
Your agent calls a tool over MCP or the typed API; Open Connector injects the credential server-side.
- 3
Every routed call appends a hash-chained audit record — nothing leaves your infra.
Supported 8x8 tools.
239 tools are generated from the published 8x8 catalog. Descriptions are plain text; each action remains subject to its configured authentication and tool allowlist.
Showing 239 tools. All published catalog entries are included in this page's server-rendered HTML.
- Create address
- Create a new address
- Addresses
- Delete address
- Delete a specific address by its ID
- Addresses
- Get address by ID
- Retrieve a specific address by its ID
- Addresses
- List addresses
- List addresses with optional filtering, sorting, and pagination. Uses infinite scroll pagination with scrollId for efficient navigation.
- Addresses
- Create Detailed Report
- This endpoint initializes Detailed Report Access. For step-by-step instructions on using the Historical Metrics API refer to the [CC Historical Analytics Detailed Report](/analytics/docs/cc-historical-analytics-detailed-report) Guide. A report can be either defined as filtering, metrics, time interval, or another type.
- Report Access
- Detailed Report Data
- This method returns the actual detailed report data. The returned report is paginated and the data is returned if the report has a DONE status. The report page size and numbering can be specified.
- Report Access
- Report Format Details
- This method obtains grouping, filtering, and metrics information about a specific report type.
- Report Defintions
- List Report Types
- This method obtains the list of valid report-types, along with the options for grouping, filtering, or applying metrics that are specific for each report type. The list includes `script-paths` from v8 onward.
- Report Defintions
- Create Report
- This endpoint initializes Report Access. For step-by-step instructions on using the Historical Metrics API refer to the [CC Historical Analytics Summary Report](/analytics/docs/cc-historical-analytics-summary-report) Guide. A report can be either defined as grouping, filtering, metrics, time interval, or another type. **Script Paths variant** (`type: script-paths`, v8+) uses a dedicated request shape (`ScriptPathsReportDefinitionRequest`). See [Script Paths Report](/analytics/docs/cc-historical-analytics-summary-report#9-script-paths-report) in the guide for its request shape, restrictions, and CSV output format.
- Report Access
- Report Data
- This method returns the actual report data. The returned report is paginated and the data is returned if the report has a DONE status. The report page size and numbering can be specified. **Not supported for `script-paths` reports** — such requests return **400 Bad Request**. Use `/{id}/download` instead.
- Report Access
- Report Details
- This method provides information associated with a previously created report request. It includes all the parameters specified in the request. The value specified as {id} identifies which report request is displayed.
- Report Access
- Report Download
- This method returns report data as a downloadable file. Data can only be downloaded if the report has a DONE status. The first entry in the returned file specifies the names of the columns. For `script-paths` reports, the response is CSV only (XLSX is not supported). Columns: `Path ID`, `Parent Path ID`, `Script ID`, `Script Name`, `Node Type`, `Node Label`, `Depth`, `Count`, `Terminal`.
- Report Access
- Report Links
- This method returns all available links related to a previously created report. A link to the Report Status is always included in the return. If the status of the report is DONE, links to Report Data and Report Download are also included. For `script-paths` reports, only the Report Download link is included when status is `DONE` (no Report Data link).
- Report Access
- Report Status
- After a report is created, the status of the report can be checked periodically. The report can be either classified as IN_PROGRESS, DONE, or FAILED.
- Report Access
- Retrieve all agents with all specified metrics within a tenant.
- Retrieve all agents with all specified metrics within a tenant.
- Agents
- Individual Agent Statistics by Group
- This method retrieves real-time metrics for a specific agent in a group. The agent ID, agent name and a list of metric objects. A metric object contains a `key` field with a label (description) of the metric and a `value`. The response is paginated.
- Agents
- Individual Agent Statistics by Queue
- This method retrieves real-time metrics for a specific agent in a queue. The agent ID, agent name and a list of metric objects. A metric object contains a `key` field with a label (description) of the metric and a `value`. The response is paginated.
- Agents
- Agent Statistics by Group
- This method retrieves real-time metrics for a list of agents in a selected group. By default, all agents from the given group will be returned. The response can be further filtered and is paginated.
- Agents
- Agent Statistics by Queue
- This method retrieves real-time metrics for a list of agents in a select queue. By default, all agents from the given queue will be returned. The response can be further filtered and is paginated.
- Agents
- Individual Group Statistics
- This method retrieves real-time metrics for a specific group. The response returns an object which contains the group ID, group name and a list of metric objects. The metric contains a key field with a label or description as well as a value field.
- Groups
- Group Statistics
- This method retrieves real-time metrics for a list of groups. By default, the metrics for all groups are returned. The result can be filtered and paginated.
- Groups
- Individual Queue Metrics
- This method retrieves real-time metrics for a specific queue. The response returns an object which contains the queue ID, queue name and a list of metric objects. The metric contains a key field with a label or description as well as a value field.
- Queues
- Queue Statistics
- This method retrieves real-time metrics for a list of queues. By default, the metrics for all queues are returned. The result can be filtered and paginated.
- Queues
- Retrieve realtime metrics for all agents in multiple queues.
- Retrieve realtime metrics for all agents in multiple queues.
- Agents
- Get audit records.
- Retrieve audit records in JSON format
- Audit
- Create a new workflow definition
- Use this resource to create and activate a new workflow definition.
- Workflow Definition Management
- Delete workflow definition
- Use this resource to delete workflow definitions. Specify the version of the definition to delete in the query parameter. If no version is specified, all versions of the definition will be deleted. Deleting a definition cancels any active event subscriptions, terminates all active workflows, and deletes workflow execution logs that are based on the definition that is being deleted. Once a workflow is deleted, there is no way to reverse the operation.
- Workflow Definition Management
- Retrieve a list of active workflow definitions.
- Use this resource to explore currently active definitions. Workflows are started based on these definitions when the trigger conditions are met. Use the parameters `limit` and `offset` to paginate through the definitions list.
- Workflow Definition Management
- Retrieve a list of supported JavaScript functions
- Automation supports scripting in inputs, outputs and select next steps using JavaScript (supports most features of ECMAScript 2023). On top of standard functions, we have added some custom functions to make scripting easier for you. Use this resource to explore our custom functions.
- Miscellaneous
- Retrieve a list of errors for a workflow instance
- Use this resource to retrieve a list of runtime errors for a workflow instance. If the workflow definition is not working as expected, workflow errors help you figure out what went wrong.
- Workflow Instance Management
- Retrieve workflow instance status
- Use this resource to view the status of a workflow instance.
- Workflow Instance Management
- Retrieve the version history of a workflow definition.
- Use this resource to explore different versions of a workflow definition. Results are ordered in the descending order of the version.
- Workflow Definition Management
- Retrieve a list of supported time zones
- Use this resource to explore supported time zones. Time zones are used as parameters in some of our time related JavaScript helper functions like `IsTimeOfDayBetween(time, start, end, timeZone)`.
- Miscellaneous
- Retrieve the allowed workflow counts and current usage
- API which can be used to fetch usage and billing-related information for Automation service
- Miscellaneous
- Retrieve a list of executed workflow counts by yearly
- API which can be used to fetch usage historical data for Automation service
- Miscellaneous
- Retrieve a list of workflow instances
- Use this resource to explore workflows created based on a specific workflow definition. If the definition version is not specified, workflows for the latest version are returned. Results are ordered in descending order of their creation time. Use parameters `limit` and `offset` to paginate through the list.
- Workflow Instance Management
- Trigger workflows using an external event
- Use this resource to trigger workflows from an external system. Inbound SMS and chat apps message triggers are managed by the automation service. However, if you would like to trigger workflows from an external system like your CRM or ERP application or even a 3rd party system, you can use the `http_request` trigger to do so.
- Workflow Triggers
- Update workflow instance status
- Use this resource to control the state of a workflow instance. For example, you can suspend a workflow to be resumed later or terminate a workflow due to an error.
- Workflow Instance Management
- Test workflow definition
- Use this resource to test workflow definition by starting workflow instances. This endpoint is useful for testing your workflows without involving external triggers like inbound messages.
- Workflow Definition Management
- Update workflow definition
- Use this resource to update an existing workflow definition. Updating a workflow definition creates and registers a new version of the definition and preserves the old definition in version history. This ensures that any workflows that have already been started from the old version runs to completion while new workflows are started based on the latest version of the workflow definition.
- Workflow Definition Management
- Add Viber template
- This endpoint is used to register a new Viber message template. Viber message templates are pre-approved message formats for sending transactional messages and OTPs to customers via Viber. Templates support dynamic parameters using the `{{parameter_name}}` syntax that can be substituted at send time. Currently, only `Transactional` and `OTP` categories are supported. Creating Viber templates requires an admin role on the account.
- Management API
- Create or Replace webhooks
- Sending a POST request on this endpoint allows to **add a new webhook for an account or modify the configuration of an existing one** . Webhooks can be given an account-wide and/or a type-wide scope using the \* character For example: if a webhook is created with subAccount=\* , this webhook will receive events across all the subaccounts of an account.
- Webhook Configuration API
- Add WhatsApp template
- This endpoint is used to register new WhatsApp message template. Please note that special html entities should be unescaped. WhatsApp Message Templates are message formats for common reusable messages a business may want to send. Businesses must use Message Templates for sending notifications to customers. Any message sent outside the 24h customer service window, needs to be a template message, to be delivered. Advertising, marketing, or promotional messages are not permitted.
- Management API
- Cancel the log export job
- * Sending a **DELETE** request on this endpoint allows to **cancel a Messaging Apps Logs export job**. ## URL To define which SMS logs export you want to retrieve, you need to enter the Job ID generated by XXXXX in the path as well as the 8x8 SMS subaccountid you used in the previous request. `https://chatapps.8x8.com/api/v1/subaccounts/{subAccountID}/messages/exports/{jobId}` *You must replace `{jobID}` and `{subAccountId}` in the URL above with the jobID and subaccountid from the start SMS logs export job request*
- Reporting API
- Cancel batch of scheduled message
- - Sending a DELETE request on this this endpoint allows to **cancel a batch of scheduled messages** that has not been sent yet. - This method should be used to cancel a batch of scheduled messages sent by previously submitting a POST request to either the "many" or "many compact" endpoint. - To cancel a batch of scheduled messages, use its *batchId* to target it. ### URL * In the original POST request used to schedule the batch of messages, you used a specific subaccountid and the API responded with a batchID. * You need to use both as path parameters in order to send your DELETE request successfully as shown below: `https://chatapps.8x8.com/api/v1/subaccounts/{subAccountId}/messages/batch/{batchId}` > You must replace `{subAccountId}` and `{batchId}` in the URL above with the subaccountid you used to schedule the messages in the first place and the batchId you got in response.
- Send Message API
- Cancel the scheduled message
- This resource can be used to cancel a scheduled message that has not been sent yet using the *unique message identifier* (`UMID`) of the message. ### URL You need to specify the *sub-account id* and the *umid* of the message in place of `{subAccountId}` and `{umid}` respectively. `umid` is the unique identifier you received when you submitted the message to the API.
- Send Message API
- Create WhatsApp Flow
- This endpoint is used to create a new WhatsApp Flow. WhatsApp Flows are interactive experiences that businesses can use to collect information from customers through WhatsApp conversations. Flows provide a structured way to guide users through multi-step processes like booking appointments, collecting feedback, or processing orders.
- Management API
- Delete webhooks
- Sending a DELETE request on this endpoint allows to **remove a configured webhook for an account or a subaccount** .
- Webhook Configuration API
- Delete WhatsApp Flow
- This endpoint is used to delete a WhatsApp Flow. Only flows that are not published can be deleted. If a flow has been published, it cannot be deleted and the API will return an error. This operation is permanent and cannot be undone.
- Management API
- Deprecate WhatsApp Flow
- This endpoint is used to deprecate a WhatsApp Flow. Deprecating a flow marks it as no longer recommended for use, but keeps it accessible for existing integrations. This allows you to phase out a flow gracefully without breaking active implementations. Once deprecated, the flow status will be updated to reflect its deprecated state.
- Management API
- Download file
- Download file
- File Upload API
- Get Call Permission Status
- This endpoint is used to check the status of call permission for a specific destination on WhatsApp. It returns whether the business is allowed to initiate voice calls to the specified phone number.
- Management API
- Retrieve message details
- This resource can be used to query message details like delivery status using the UMID of the message. You need to specify the sub account id and the umid of the message in place of *{subAccountId}* and *{umid}* respectively. *umid* is the unique identifier (in the form of a uuid) you received when you submitted the message to the api. ### API Rate Limiting To protect the platform from being overloaded and maintain a high quality of service to all customers, we enforce API rate limits for this API endpoint. The limit is set to 1 request/second per subaccount. > To safeguard your privacy, sensitive data such as message content and phone numbers are masked by default. Access to this information can be requested by contacting our support team.
- Reporting API
- Get log export job result
- * Sending a **GET** request on this endpoint allows to **check the status of an Messaging Apps Logs export job** and to **get a download link** if its generation has succeeded. ## URL To define which SMS logs export you want to retrieve, you need to enter the Job ID generated by XXXXX in the path as well as the 8x8 SMS subaccountid you used in the previous request. `https://chatapps.8x8.com/api/v1/subaccounts/{subAccountID}/messages/exports/{jobId}` *You must replace `{jobID}` and `{subAccountId}` in the URL above with the jobID and subaccountid from the start SMS logs export job request* > To safeguard your privacy, sensitive data such as message content and phone numbers are masked by default. Access to this information can be requested by contacting our support team.
- Reporting API
- Get message usage
- Returns monthly per-message usage totals for the specified billing period. Results can be filtered and grouped by subaccount, business account, channel, pricing category, and destination country. Currently, only WhatsApp is supported. **Constraints:** - Data is available from **February 2026** onwards - Only **closed billing periods** can be queried - Maximum lookback: **6 months** **Grouping behavior:** - If `groupBy` is omitted, a single aggregated total is returned - `pricing` is included when `groupBy` contains `channel`, `businessAccountId`, `pricingCategory`, and `country`
- Reporting API
- Get all Webhooks for Account
- Sending a GET request on this endpoint allows to **retrieve a list of all the webhooks or a specific webhook configured for an account**.
- Webhook Configuration API
- Get WhatsApp Flow details
- This endpoint is used to retrieve details of a specific WhatsApp Flow. WhatsApp Flows are interactive experiences that businesses can use to collect information from customers through WhatsApp conversations. This endpoint returns comprehensive information about a flow including its current status, validation errors, and flow JSON URL.
- Management API
- Get WhatsApp Flows
- This endpoint is used to retrieve the list of WhatsApp Flows and their status for the channel.
- Management API
- Get WhatsApp templates
- This endpoint is used to get your registered WhatsApp message template and their approval status. WhatsApp Message Templates are message formats for common reusable messages a business may want to send. Businesses must use Message Templates for sending notifications to customers. Any message sent outside the 24h customer service window, needs to be a template message, to be delivered. Advertising, marketing, or promotional messages are not permitted.
- Management API
- Mark message as read
- This endpoint is used to indicate to end users that a message has been read by the respective brand or official account. Current channel support: - WhatsApp Business account (two blue ticks on customers message).
- Send Message Event API
- Preview WhatsApp Flow
- This endpoint is used to generate a preview URL for a WhatsApp Flow. The preview allows you to visualize and interact with your flow before publishing it. You can force regeneration of the preview by setting the `refresh` query parameter to `true`. For interactive previews with custom parameters, you can add query parameters to the generated preview URL. For a list of supported query parameters, refer to the 'Visualizing and interacting with your Flow using the Web Preview' section of the [WhatsApp Flows API documentation](https://developers.facebook.com/docs/whatsapp/flows/reference/flowsapi).
- Management API
- Publish WhatsApp Flow
- This endpoint is used to publish a WhatsApp Flow. Publishing a flow makes it available for use in WhatsApp conversations. Once published, the flow can be sent to customers through WhatsApp messages(Template message and Interactive messages). A flow must be in DRAFT status and pass all validations before it can be published.
- Management API
- Remove WhatsApp template
- This endpoint is used to remove an existing WhatsApp message template. WhatsApp Message Templates are message formats for common reusable messages a business may want to send. Businesses must use Message Templates for sending notifications to customers. Any message sent outside the 24h customer service window, needs to be a template message, to be delivered. Advertising, marketing, or promotional messages are not permitted.
- Management API
- Send Line Notification message
- This endpoint is used to send Messaging Apps messages individually (1 request per message). It is ideal to send single personalized messages for use-cases like notifications or alerting for example.
- Send Message API
- Send Line Notification message batch
- * This endpoint is used to send Messaging Apps messages by batches (1 request for multiple messages) with personalized contents/properties. * It is ideal to send any kind of massive personalized announcement. * Using this API, it is possible to send up to 1,000 messages per request.
- Send Message API
- Send message
- This endpoint is used to send Messaging Apps messages individually (1 request per message). It is ideal to send single personalized messages for use-cases like notifications or alerting for example. **For WhatsApp:** When sending a 'text' type message, we will try to match it with registered WhatsApp templates under your account If matching is successful, the message will be submitted as a template to WhatsApp, if not as a normal message To bypass the template matching and send template only, you can select type 'template' In this case, you need to provide template name, language and parameters **WhatsApp Call Permission Request:** You can request permission to call a customer using either: - **Interactive message**: Set type to 'interactive' with interactive.type as 'call_permission_request'. The body field is optional. - **Template message**: Set type to 'template' with your approved Call Permission Request template name and language. **WhatsApp Request Contact Info:** You can request a customer to share their contact information using either: - **Interactive message**: Set type to 'interactive' with interactive.type as 'request_contact_info'. The body field is optional. - **Template message**: Set type to 'template' with your approved Request Contact Info template name and language. **WhatsApp Business-Scoped User ID (BSUID):** You can address a recipient using their `channelUserId` (BSUID) instead of, or alongside, their phone number (`msisdn`). Format: `<COUNTRY-CODE>.<alphanumeric>` where the country code is an uppercase ISO 3166-1 alpha-2 code (e.g. `US.13491208655302741918`). If both are provided, `msisdn` takes precedence. More examples on how this endpoint can be used are available here: [Usage examples](/connect/docs/whatsapp/whatsapp-over-8x8-api)
- Send Message API
- Send message batch
- * This endpoint is used to send Messaging Apps messages by batches (1 request for multiple messages) with personalized contents/properties. * It is ideal to send any kind of massive personalized announcement. * Using this API, it is possible to send up to 1,000 messages per request.
- Send Message API
- Send Typing Indicator
- This endpoint is used to send typing indicators to messaging channels. This allows brands to provide real-time feedback to end users, showing that a response is being composed. The `umid` parameter should reference the unique message ID of an inbound message that you are responding to. **Important:** Typing indicators can only be sent for inbound messages received within the last 2 hours.
- Send Message Event API
- Start log export job
- * Sending a **POST** request on this endpoint allows to **request an Messaging Apps logs file**. ## URL The 8x8 Messaging Apps `subAccountId` needs to be provided in the URL as shown below: `https://chatapps.8x8.com/api/v1/subaccounts/{subAccountID}/messages/exports` *You must replace `{subAccountId}` in the URL above with the subaccountid that you want to use.*
- Reporting API
- Submit WhatsApp Direct Send Sample
- This endpoint is used to submit a sample of a WhatsApp Direct Send message to Meta for review and classification. Direct Send auto-creates WhatsApp templates on the fly and matches incoming messages against them. Submitting sample messages will ensure that the messages you send through Direct Send are accurately classified and transformed into templates that are useful for your use cases. The response indicates whether the sample was processed successfully and the category Meta assigned to it. Possible categories are `UTILITY`, `MARKETING`, and `AUTHENTICATION`. Samples can be of two types: * `text` — a plain text body. * `interactive` — an interactive message with a call-to-action URL (`cta_url`) or reply buttons (`button`).
- Management API
- Update WhatsApp Flow
- This endpoint is used to update an existing WhatsApp Flow. The flow must be in draft state. WhatsApp Flows are interactive experiences that businesses can use to collect information from customers through WhatsApp conversations. This endpoint allows you to update flow properties including name, categories, flow JSON definition, endpoint URI, and application ID. At least one property must be present in the request body.
- Management API
- Upload file
- Upload file
- File Upload API
- Fetches messages for a room. Defaults to `CHAPI sandbox` room.
- Fetches a list of messages from the room.
- chat
- Send a message to a public chat room.
- This will send a message to a room. If the room does not exist Chapi will create the room, then send the message to it. This endpoint is unable to send messages if the room is private.
- chat
- Cancel a running bulk download job by zip file name.
- This method cancels a running bulk download job by the zip file name.
- Bulk Downloads
- Removes tasks from a download request.
- This method clears your task queue for bulk download requests.
- Bulk Downloads
- Request bulk download by .zip filename.
- This method enables access to a single zipped file that was generated from a bulk download request and is ready for retrieval.
- Bulk Downloads
- Download content for the given metadata.
- This method retrieves an object using the objectId specification for a given record.
- Objects
- Download content for the given metadata.
- This method retrieves an object using the **`objectId`** specification for a given record.
- Objects
- Returns the status of a single bulk download job request by zip filename.
- This method returns the status of a single bulk download job request by zip filename.
- Bulk Downloads
- Returns the status of all bulk download job requests.
- This method returns the status of all bulk download job requests.
- Bulk Downloads
- Returns the content of a specified bucket.
- This method returns all of the contents contained within a specific bucket.
- Buckets
- Find an object by it's ID.
- Use this method to retrieve an object by its ID.
- Objects
- Remove existing objects.
- This method enables you to bulk delete object metadata along with associated content.
- Bulk Downloads
- Search all buckets.
- A bucket is a resource that is used to store data objects and their associated metadata. This method returns all content within existing buckets.
- Buckets
- The list of all objects that meet the filter rule criteria.
- **Tagging** The CSS API features a generic tagging methodology. The tags on each object are determined either systematically or by customer definition. Systematic tags are generated by the underlying provider system. The following object types are supported: * **`callrecording`** * **`callcenterrecording`** * **`screenrecording`** * **`meeting`** The tag types vary depending on the provider. **`callrecording`** * **pbxname** The human readable name of the PBX system. * **extensionId** The machine readable ID of the telephone extension which generated the object. * **pbxId** The machine readable ID of the PBX system. * **callId** The ID which describes the voice interaction. * **direction** The direction of the interaction. * **relativePath** The relative path of the object in storage. * **callerId** The calling line ID generated by the telecom provider. * **startTime** The date/time stamp when the voice interaction was established. * **duration** The duration of the voice interaction in milliseconds. * **extensionNumber** The human readable PBX extension number. * **endTime** The date/time stamp when the voice interaction was terminated. **`callcenterrecording`** * **direction** The direction of the interaction. * **agentId** The agent identifier. * **callId** The call identifier. * **callSnippetId** The identification call for snippets. * **callerId** The caller's phone number. * **calleeId** The called phone number. * **callerName** The caller name. * **calleeName** The called name. * **address** The called phone number. * **queueNumber** The VCC queue number. * **queueName** The VCC queue name. * **channelName** The VCC channel name. * **transactionId** VCC transaction identifier. * **holdDuration** The hold duration. * **billingTelephoneNumber** The phone number used for billing (internal use). * **startTime** The interaction start time. * **duration** The duration of the voice interaction in seconds. * **ipbxid** The PBX name. * **agentName** The agent name. * **tenantId** The tenant identifier. * **extensionNumber** The agent extension number (e.g., 1000). * **mediaUrl** The NFS file name (internal use). * **branchId** The branch (site) identifier. **`screenrecording`** * **agentId** The agent identifier. * **callId** The call identifier. * **startTime** The call start time. * **tenantId** The tenant identifier. * **transactionId** The VCC transaction identifier. **`meeting`** * **duration** The duration of the meeting in milliseconds. * **meetingUrl** The URL which was used for the meeting. * **sessionId** The unique machine readable session ID of the meeting.
- Objects
- Start bulk download.
- This method starts downloading multiple objects in bulk. The objects are zipped and transferred as one file.
- Bulk Downloads
- Obtain the status for tenant agents. Agents can be filtered by group. Pagination is currently not available.
- Obtain the status for tenant agents. Agents can be filtered by group. Pagination is currently not available.
- Agent status
- Obtains the status for a specific agent.
- Obtains the status for a specific agent.
- Agent status
- The bulk operation for setting the status for multiple agents.
- Setting the status for multiple agents at the same time.
- Agent status
- Sets the agent status for a specific agent.
- Sets the agent status for a specific agent.
- Agent status
- Ammends the transaction codes for both an interaction and the associated agent.
- Ammends the transaction codes for both an interaction and the associated agent.
- Phone calls
- Ends a phone call based on the interactionId.
- Ends a phone call based on the interactionId.
- Phone calls
- Hangs up the call for an agent. If the call is a conference or call was transferred it will not hang up for the other participants.
- Hangs up the call for an agent. If the call is a conference or call was transferred it will not hang up for the other participants.
- Phone calls
- Frees up a telephone line for the specified agent in preparation for the next call.
- Frees up a telephone line for the specified agent in preparation for the next call.
- Phone calls
- Frees up the agent lines in preparation to take the next call.
- Frees up the agent lines in preparation to take the next call.
- Phone calls
- Creates an agent assigned outbound phone interaction for calling the desired number.
- Creates an agent assigned outbound phone interaction for calling the desired number.
- Phone calls
- Creates a new conversation.
- Creates a new transaction in the Contact Center and returns a conversation Id as an identifier that can be used later on to send messages to agent and also close the ongoing transaction.
- Conversations
- Creates a channel.
- Create a new channel for a customer.
- Channels
- Creates a new customer webhook.
- Creates a new customer webhook.
- WebHooks
- Customers leaves conversation.
- When customers leave a conversation. It translates to a current interaction that is being terminated by the customer.
- Conversations
- Delete ChatAPI channel by Id.
- Deletes ChatAPI channel by the provided Id.
- Channels
- Deletes the webhook by Id.
- Deletes the webhook by Id.
- WebHooks
- Retrieves conversation details.
- Retrieves conversation details.
- Conversations
- Returns all conversations belonging to the customer.
- Returns a list of all conversations belonging to the customer that comply with the provided filters.
- Conversations
- Get ChatAPI channel by Id.
- Retrieves ChatAPI channel by Id.
- Channels
- Retrieves all customer Chat API channels.
- Retrieves all customer Chat API channels based on the provided access token information.
- Channels
- Returns the public JWK.
- Returns the public JWK that can be used to validate the message signature.
- JwkKeys
- Retrieves the conversation messages.
- Retrieves the conversation messages that took place during the lifepan of the conversation.
- Conversations
- Retrieve the conversation participants.
- Retrieves all the participants that joined during the lifespan of the conversation.
- Conversations
- Get webhook by Id.
- Retrieves the webhook by the provided Id.
- WebHooks
- Retrieves all customer webhooks based on the associated token information.
- Retrieves all customer webhooks based on the associated token information.
- WebHooks
- Send a message.
- Send a message to a conversation represented by the provided ID.
- Conversations
- Update ChatAPI channel by Id.
- Update ChatAPI channel by Id.
- Channels
- Updates the full webhook resource by Id.
- Updates the full webhook resource by Id.
- WebHooks
- The endpoint used to validate that the webhook is working and reachable.
- Validates the webhook URL endpont from the connectivity point-of-view by sending a hello message and a 2xx success status code.
- WebHooks
- Add a new customer to an existing campaign
- Add a new customer to an existing campaign **Note: the campaign must be have dynamic campaign enabled to leverage this feature**
- Record Management
- The change status for an existing campaign.
- The change status for an existing campaign. **Note: the campaign must be have dynamic campaign enabled to leverage this feature**
- Campaign Control
- This method deletes customers from an existing campaign.
- This method deletes a customer from an existing campaign. You can delete new, queued, or scheduled customers. You should not delete customers that have received, completed, or already deleted offers. If the customer has been offered the delete method it will fail and if the agent rejects the call it be re-queued again. The delete method can then be called again. **Note: the campaign must be have dynamic campaign enabled to leverage this feature**
- Record Management
- Add records to campaign
- Add one or more records (1-100) to a dynamic campaign. Records are validated, CRM data is queried, and phone numbers are checked against DNC lists. Operation is atomic - all records succeed or all fail.
- External Campaign API
- Modify campaign state
- Change campaign state. State transitions are validated and must follow allowed state machine rules.
- External Campaign API
- Add a contact to a group
- Add a contact to a group
- Groups API
- Copy contacts between groups
- Copy contacts from ony group to another one.
- Batch API
- Batch delete contacts
- Use this endpoint to delete multiple/all contacts in batch. Provide `ids` or `msisdns` to remove specific contacts, or set `"all": true` to delete all contacts in your account.
- Batch API
- Batch delete groups
- Batch delete groups
- Batch API
- Move contacts between groups
- Move contacts from one group to another one. This operation will delete contacts in the original group.
- Batch API
- Batch create contacts
- Batch create contacts using file. The file can be either CSV or Excel. The CSV file can contain a header row (the mapping of the columns will be automatic in this case), or not. For files without a header, the `fileColumns` property should be specified for a columns mapping.
- Batch API
- Blacklist msisdn for a specific account
- Blacklist msisdn for a specific account
- Contacts API
- Search contacts
- Search for contacts
- Contacts API
- Create contact
- Create a new contact
- Contacts API
- Create a group
- Create a group
- Groups API
- Remove contacts from a group
- Delete contacts from group
- Groups API
- Delete group
- Delete group
- Groups API
- Delete single contact
- Delete single contact by id
- Contacts API
- Get batch information by id
- Get batch information by id
- Batch API
- Get batch job list
- Get batch job list
- Batch API
- Get contact information by id
- Get contact information by contact id
- Contacts API
- Get group information by id
- Get group information by id
- Groups API
- Search for groups
- Search for groups
- Groups API
- Update contact information
- Update contact information
- Contacts API
- Update group information
- Update group information
- Groups API
- Get interaction insights
- Retrieves interaction insights for a tenant, including interactions list and speech analytics. Supports four search strategies: - `contactId` + `crmId` (both required) - `accountId` (crmId optional) - `email` (crmId must not be provided) - `phoneNumber` (crmId must not be provided) If `startTime` and `endTime` are omitted, a default time window is applied (1 year).
- interactions-insight
- Get transcript summaries
- Retrieves transcript summaries for one or more interaction IDs. Pass one or more `interactionId` query parameters. The API returns successfully retrieved summaries and lists any IDs that could not be retrieved as partial failures. A maximum of 50 interaction IDs can be provided per request.
- transcript-summaries
- Get phone number lookup data
- * Sending a **GET** request on this endpoint allows retrieving information about a phone number * 3 phone number lookup types are available with this endpoint: 1. `format`: identifies the phone number country and type (mobile, landline, etc..) and returns the number in E.164 format. 2. `operator`: retrieves information about the current mobile operator associated to the number. The information comes from 8x8 mobile number portability data. The object returned also includes the "Format" information described in (1). 3. `live`: performs a live lookup to retrieve the current roaming and presence status of a number. The objet returned also includes the "Format" and "Operator" information from (1) and (2). * `format` lookup requests are **free of charge**, but `operator` and `live` lookup requests are paid. * `operator` and `live` lookups are only available upon request. To get access to these lookup types, contact your account manager. ## URL `https://lookup.8x8.com/api/v1/subaccounts/{subAccountID}/phones/{phoneNumber}` > *You must replace `{subAccountID}` in the URL above with the subacccount for which the lookup service was provisioned.* > *You must replace `{phoneNumber}` in the URL above with the phone number you wish to perform a lookup on.*
- Number Lookup API
- Check Virtual Number
- Should the request be authenticated successfully and the specific number is assigned to your subaccount, the response will contain a Number object with health details for the given number.
- Virtual Number Management API
- Create a new recording push config
- Create a new recording push config
- Recording API
- Create a new webhook
- Create a new webhook
- Webhooks API
- Delete a specific type of webhook
- Delete a specific type of webhook
- Webhooks API
- Delete recording push config
- Delete recording push config
- Recording API
- Get recording push config for your account
- Get recording push config for your account
- Recording API
- Get recording status
- Get recording status
- Recording API
- Get webhook information for your account
- Get webhook information for your account
- Webhooks API
- Get My Virtual Numbers
- The Number Health Service provides insights about the reachability/availability for the numbers assigned to your subaccount.
- Virtual Number Management API
- Get operation by ID
- Retrieves the current status and details of an asynchronous operation. Operations are used to track the progress of resource creation, updates, and deletions. The operation status is polled from the underlying service and updated in real-time.
- Operations
- Get phone number by ID
- Retrieve a specific phone number by its value. The phone number must be in E.164 format (e.g., +14085551234).
- PhoneNumbers
- List phone numbers
- List phone numbers with optional filtering, sorting, and infinite scroll pagination. Uses scrollId-based pagination for efficient navigation through large datasets. Phone numbers must be in E.164 format (e.g., +14085551234).
- PhoneNumbers
- The Speech Analytics category count
- Retrieves the category count
- Speech Analytics
- Deletes a single interaction.
- Removes the interaction and all associated metadata. This action cannot be undone.
- Interactions
- Deletes custom field data
- Updates or removes the custom field contained data for user customizable fields. Only the custom fields **1** to **15** are editable.
- Interactions
- The evaluation details specified by ID.
- Retrieves a single evaluation which consists of the template section and answered questions.
- Evaluations
- Evaluation collection
- Retrieves evaluations collection
- Evaluations
- The evaluation count
- Retrieves the evaluation count
- Evaluations
- The requested interaction media file download
- Retrieves audio, video, mixed audio (MP3), and video (MP4) Transcoding (bit rate, sample rate and channel) options are available for audio files
- Interactions
- This method queries a single interaction transcription record.
- Retrieves available transcriptions for the selected interaction
- Interactions
- The Interaction collection
- This method retrieves interaction collections.
- Interactions
- Interaction count.
- This method retrieves the interactions count for the specified interaction type. Unless the interaction type is specified, all the interaction types are retrieved.
- Interactions
- Query a single interaction attached label
- Retrieves the collection of labels attached to the interaction
- Interactions
- The Speech Analytics category list
- Retrieves the category count
- Speech Analytics
- Query the attached notes for a single interaction
- Retrieve the notes attached to an interaction
- Interactions
- This method purges a single interaction.
- Removes the interaction and all associated metadata. **This action cannot be undone.**
- Interactions
- Query supervisor values
- Retrieves the user's supervisor collection
- Users
- Queries a single interaction for matched topics
- Retrieves the list of detected topics within the transcriptions
- Interactions
- The Speech Analytics topic count
- Retrieves the topics count within the specified category
- Speech Analytics
- The Speech Analytics topics list
- Retrieve the categories count
- Speech Analytics
- Trainer values.
- Retrieves the user's trainer collection
- Users
- This method updates custom fields.
- This method either updates or removes the custom field contained data for user customizable fields. Only custom fields **1** to **15** can be edited.
- Interactions
- User details.
- Retrieve user details
- Users
- Query user details
- Retrieve the users collection
- Users
- Query user count
- Retrieve the total number of users registered in the system. You can also count only the active users.
- Users
- Webpage redirect
- Advanced customers can use this method to integrate systems. 8x8 recommends contacting your account representative for more details.
- Interactions
- Create a ring group
- Creates a new ring group asynchronously. Returns an operation object to track the creation progress.
- RingGroups
- Delete a ring group
- Deletes an existing ring group asynchronously. Returns an operation object to track the deletion progress.
- RingGroups
- Get ring group by ID
- Retrieves a specific ring group by its unique identifier.
- RingGroups
- List ring groups
- List ring groups with optional filtering, sorting, and pagination. Uses infinite scroll pagination with scrollId for efficient navigation.
- RingGroups
- Update a ring group
- Updates an existing ring group asynchronously. Returns an operation object to track the update progress.
- RingGroups
- Update ring group members
- Atomically applies an add/update/remove delta to a ring group's member list. Returns an operation object to track progress; poll the operation to completion. Only the members supplied are changed. At least one of `add`, `update`, or `remove` must be non-empty, each accepts up to 200 members, and an `extensionId` or `extensionNumber` must not appear in more than one array within a single request.
- RingGroups
- Create a new site
- Creates a new site. Returns an Operation object that can be polled to track the creation progress.
- Sites
- Delete site
- Deletes an existing site. Returns an Operation object that can be polled to track the deletion progress.
- Sites
- Get site by ID
- Retrieve a specific site by its ID
- Sites
- List sites
- List sites with optional filtering, sorting, and pagination. Filter by site name using RSQL expressions with wildcards.
- Sites
- Update site
- Updates an existing site. Returns an Operation object that can be polled to track the update progress.
- Sites
- SMS Success Feedback
- ### About SMS Feedback Most of the time, programmatic SMS are meant to trigger a specific outcome (_ex: authenticate a user via OTP_). When the outcome does not happen it can have any number of user-related cause but what we seek to avoid is for SMS deliverability or latency to be the reason for failure. To avoid this, use this endpoint to transmit the outcome to 8x8 and let 8x8 monitor your SMS performance for you. It benefits you by allowing 8x8 to: - **Monitor your application QoS for any SMS-related failure** happening in your workflows - **Act faster to restore the quality** of service you experiment - **Prevent any further issue** - Provide more advanced analytics by displaying **SMS outcome performance and latency metrics** ### About the API endpoint / method * Sending a POST request on this endpoint allows to **convey the outcome of an SMS to 8x8**. * Sharing that feedback with 8x8 is straightforward, your POST request only has to contain: 1. The 8x8 **UMID - Unique Message ID** (included in the API response when sending the SMS) 2. A status for **the outcome** 3. For more accuracy and to get latency information: the **timestamp of the event triggered by the SMS** ### URL Complete endpoint URL:`https://sms.8x8.com/api/v1/subaccounts/{subAccountId}/messages/{umid}/feedback` > You must replace `{subAccountId}` in the URL above with the subaccountid that you used originally to send the SMS.
- Send SMS API
- Remove Personally Identifiable Information (PII)
- Remove Personally Identifiable Information (PII) for particular message from 8x8 SMS database.
- Reporting API
- Get account balance
- * Sending a **GET** request on this endpoint allows to **get account balance**. > Note: this resource is available for prepaid customers only.
- Reporting API
- Get SMS price list
- * Sending a **GET** request on this endpoint allows to **get prices** based on different criteria.
- Reporting API
- Send SMS Engage survey
- ### About SMS Engage * **SMS Engage** combines the reach of SMS and the power of interactive web surveys * Using the API endpoint lets you send SMS containing special links to surveys for any use case: * Satisfaction feedback (NPS, CSAT, CES..) * Interactive marketing landing page * E-commerce confirmations (Order, Delivery, Payment) * and much more: reach out to learn more! * SMS Engage surveys are linked to your 8x8 account: each individual survey response can be tracked back to the original SMS or SMS campaigns: get individual response logs and aggregated analytics in your 8x8 Customer Portal * You can also retrieve the SMS Engage response programmatically using the dedicated webhook ### About the API endpoint / method * Sending a POST request on this endpoint allows to **send SMS Engage individually (1 message per request)**. * It is ideal when you want to integrate surveys as part of your customer experience and trigger an SMS Engage following an event occurring in your application (_eg: NPS survey sent after customer support interaction_) ### URL The 8x8 SMS subaccountid to use is defined in the URL where you send your POST request as shown below: `https://sms.8x8.com/api/v1/subaccounts/{subAccountId}/surveys/{surveyId}/messages` > You must replace `{subAccountId}` in the URL above with the subaccountid that you want to use. ### Before you start * You must have your account activated to use SMS Engage and at least one SMS Engage form created for you by 8x8. SMS Engage forms are created based on your use-cases. Once they are created, 8x8 will provide you a **surveyid** and **url**. * Please note that the variable **url** is your default SMS Engage link which 8x8 has set up for you (e.g. http://smstoweb.net?sid=1234). The url is shortened once the message has been sent. * The shortened url is always 21 characters in length. * If you want to get the data via Webhooks, simply provide us a specific url where we will post the data. * For more information please contact <a href='mailto:sales-cpaas@8x8.com'>your account manager</a> or <a href='mailto:cpaas-support@8x8.com'>customer support team</a>.
- Engage API
- Send SMS Engage surveys as batch
- * Sending a POST request on this endpoint allows to **send SMS Engage surveys by batch (multiple messages per request)**. * It is ideal when you want to send a batch of surveys on a recurring manner or based on time parameters (_eg: Order collection at the end of the month_) ### URL * The 8x8 subaccountid to use is defined in the URL where you send your POST request as shown below: `https://sms.8x8.com/api/v1/subaccounts/{subAccountId}/surveys/{surveyId}/messages/batch`
- Engage API
- Create user
- Create a new user. This operation is asynchronous and returns an Operation object to track progress.
- Users
- Delete user
- Delete a specific user by their ID. This operation is asynchronous and returns an Operation object to track progress.
- Users
- Get user by ID
- Retrieve a specific user by their ID
- Users
- List users
- List users with optional filtering, sorting, and infinite scroll pagination. Uses scrollId-based pagination for efficient navigation through large datasets.
- Users
- Update user
- Update an existing user by their ID. This operation is asynchronous and returns an Operation object to track progress.
- Users
- Validate verification
- This method allows you to check the status of a verification request or to validate a code submitted by one of your user.
- Verification API
- SMA coverage check
- This method allows you to check if user's device is supported by Silent Mobile Authentication (SMA). Could be used to perform pre-check before initiating SMA verification as SMA only support devices using a mobile data connection and does not support all phone numbers.
- Verification API
- Initiate verification
- This method allows you to: - Generate and send a message containing a one-time password - Place a Voice call containing a one-time password - Initiate Silent Mobile Authentication (SMA) verification
- Verification API
- Detail call
- This API endpoint enables information retrieval related to a specific past call. You need to use the Token API first to create an Authorization Token. You can retrieve all information related to a specific call using the CallId.
- Reporting API
- Call Logs
- This API endpoint allows to retrieve information related to past calls. You need to use the Token API first to create an Authorization Token. You can to list the calls during a time period or with a specific Call_Reference or Phone_Number. Example 1: ``` curl -X POST https://video-agent.8x8.com//api/v1/call-logs \ -H "Content-Type: application/json" \ -H x-token: YourAuthToken' \ ``` Example 2: ``` curl -X POST https://video-agent.8x8.com/api/v1/call-logs?from=yyyy-mm-dd&to=yyyy-mm-dd&q=12345&cursor=5757 \ -H "Content-Type: application/json" \ -H x-token: YourAuthToken' \ ```
- Reporting API
- Retrieve Image
- This operation allows you to download an image from a conversation.
- Reporting API
- Token creation
- This API endpoint allows the creation of a bearer token. The API endpoint can also be used to create a new room, once a room is created, participants can join it, creating a conference. Once a room is created, the validity period is 15 minutes. More example on this API usages can be found [here](/connect/docs/token-example-creation). ### Authentication: - 8x8 Video Interaction API utilizes an 8x8 API Key for authentication. - You can create a API key directly from the Connect Portal. The process to create an API key is documented [here](/connect/docs/authentication) and a direct link to the API Keys page can be found [here](https://connect.8x8.com/messaging/api-keys). - You need to include the following header in your requests: Authorization: Bearer {API key} - NB: (replace the {API key} placeholder with your API key from Connect)
- Management API
- Get speech profiles for your account
- Get speech profiles for your account
- Voice Profile API
- Send Callflow
- **Note:** For all API requests that include a `source` parameter, CLID whitelisting is mandatory. Please contact your account manager or email cpaas-support@8x8.com if you have a voice account with 8x8 CPaaS. ## Use Cases The Callflows API enables you to build sophisticated voice solutions: **Interactive Voice Response (IVR)** Create interactive menu systems with DTMF capture, conditional routing, and voice prompts. - [Simple IVR Guide](/connect/docs/voice/ivr/simple-ivr-guide) - Basic IVR implementation - [Advanced IVR Guide](/connect/docs/voice/ivr/advanced-ivr-guide) - Complex IVR with conditional logic **Voice Messaging** Deliver automated voice messages using text-to-speech (TTS) or pre-recorded audio files. - [Voice Messaging Guide](/connect/docs/voice/voice-messaging/voice-messaging-guide) **Custom Call Scenarios** Build tailored call flows by combining multiple actions (makeCall, say, playFile, sayAndCapture, hangup) to meet your specific business requirements. --- ## API Examples ### Example 1: IVR with DTMF Capture ```json { "callflow": [ { "action": "makeCall", "params": { "source": "+6588000000", "destination": "+6590000000" } }, { "action": "sayAndCapture", "params": { "promptMessage": "Press 1 for Sales, Press 2 for Support", "voiceProfile": "en-US-Neural2-C", "minDigits": 1, "maxDigits": 1, "digitTimeout": 5000, "completeOnHash": false } } ] } ``` ### Example 2: Voice Message (Text-to-Speech) ```json { "callflow": [ { "action": "makeCall", "params": { "source": "+6588000000", "destination": "+6590000000" } }, { "action": "say", "params": { "text": "Hello, this is a reminder about your appointment tomorrow at 2 PM.", "voiceProfile": "en-GB-Emma", "repetition": 1, "speed": 1 } }, { "action": "hangup" } ] } ``` ### Example 3: Voice Message (Audio File) ```json { "callflow": [ { "action": "makeCall", "params": { "source": "+6588000000", "destination": "+6590000000" } }, { "action": "playFile", "params": { "fileUrl": "https://example.com/audio/notification.mp3", "repetition": 1 } }, { "action": "hangup" } ] } ```
- Voice Messaging
- Get Aggregated Calls
- This endpoint returns the summary of calls for selected time period and pbx
- Call Queue Data Table
- Returns the list of agents for the given pbx.
- Returns the list of agents for the given pbx.
- Agents
- Returns the list of queues for the given pbx.
- Returns the list of queues for the given pbx.
- Queues per PBX
- Returns the list of queues for the given pbx and site.
- Returns the list of queues for the given pbx and site.
- Queues Per Site
- Returns the list of sites of a pbx
- Returns a list of sites of a pbx.
- Sites
- Returns all pbxes of a customer
- This endpoint returns all the PBXes available for a customer
- Pbxes
- Get Call Details
- This endpoint returns the journey of a single interaction in the specified timeframe.
- Call Details
- Get Active Calls
- Returns the calls that are currently active (in progress) for the given PBX at the moment of the query. This is a real-time snapshot, so no date-range filtering applies. The same endpoint is also served under `/analytics/work/v2/pbxes/{pbxId}/calls/active`.
- Active Calls
- Get Agent Activity Metrics
- This endpoint returns the agent activity metrics for the selected pbx, grouped by agent. The response can be further filtered by a list of queues, sites, agents, user statuses. If no date range is provided, the metrics reflect the agent activity in the last 24 hours.
- Agent Activity
- Get Agent Activity Metrics per Queues
- This endpoint returns the agent activity metrics for the selected pbx, grouped by queue and agent. The response can be further filtered by a list of queues, sites, agents, user or queue statuses. If no date range is provided, the metrics reflect the agent activity in the last 24 hours.
- Queue Agent Activity
- Get Call Queue Metrics
- This endpoint returns the call queue metrics, for the selected PBX. The response can be further filtered by a list of queues, sites. If no date range is provided, the metrics reflect the activity on queues in the last 24 hours.
- Call Queue Metrics
- Get Ring Group Agent Activity
- Returns per-agent activity for the members of a ring group on the given PBX, identified by the ring group id. Each row reports an agent's extension and the requested metrics — how long the agent was logged in to, and logged out of, the ring group over the reporting window. If no date range is provided, the metrics reflect the last 24 hours.
- Ring Group Agent Activity
- Get Ring Group Agent Activity by Extension
- Returns per-agent activity for the members of a ring group on the given PBX, identified by the ring group **extension** instead of its id. Behaves identically to `GET /ring-group-agent-activity/{ringGroupId}` and returns the same response shape.
- Ring Group Agent Activity
- Get Unreturned Call Callees
- Returns the distinct callees (the parties that were called but not reached) that appear in the unreturned calls for the given PBX. Useful for populating a callee filter on the unreturned-calls report. The same endpoint is also served under `/v2`.
- Unreturned Calls
- Get Unreturned Call Callers
- Returns the distinct callers whose calls were not returned for the given PBX, optionally scoped to the callees they tried to reach. Useful for populating a caller filter on the unreturned-calls report. The same endpoint is also served under `/v2`.
- Unreturned Calls
- Get Unreturned Calls
- Returns unreturned calls for the given PBX, aggregated per caller — calls into the PBX that were not answered and have not been called back. Each row groups a caller with the callee they last tried to reach, the number of unreturned attempts and the most recent attempt time. The same endpoint is also served under `/analytics/work/v2/pbxes/{pbxId}/calls/unreturned`.
- Unreturned Calls
- Get Detailed Unreturned Calls
- Returns the individual unreturned call records for the given PBX and the requested caller addresses — the per-call drill-down behind the aggregated unreturned-calls view. The same endpoint is also served under `/v2`.
- Unreturned Calls
- Authentication
- Generate Bearer token for use with subsequent requests
- Authentication
- (DEPRECATED) Call Detail Record Legs
- [Call Detail Record Legs](/analytics/reference/call-detail-record-legs) and [Call Detail Records](/analytics/reference/call-detail-records) should be used. This endpoint is deprecated.
- Analytics
- Call Detail Record Legs
- The Analytics for 8x8 Work Call Detail Record (CDR) Legs endpoint enables you to see the entire journey for a subject call from start to finish across multiuple legs. See [CDR Glossary](https://docs.8x8.com/8x8WebHelp/8x8analytics-virtual-office/Content/VOA/call-detail-record.htm) for details. For a single row per call use the [Call Detail Records](/analytics/reference/call-detail-records) endpoint
- Analytics
- Call Detail Records
- **Not currently Testable from here** The Analytics for 8x8 Work Call Detail Record (CDR) endpoint enables you to see the entire journey for a subject call from start to finish. See [CDR Glossary](https://docs.8x8.com/8x8WebHelp/8x8analytics-virtual-office/Content/VOA/call-detail-record.htm) for details.
- Analytics
- Company Summary
- With the Analytics for 8x8 Work Company Summary (/compsum) endpoint you can obtain summary information about call activity that occurred within your enterprise for a given time period. The service returns a single record with key call metrics see [Company Summary Glossary](https://docs.8x8.com/8x8WebHelp/8x8analytics-virtual-office/Content/VOA/company-summary-beta.htm#Glossary) for details
- Analytics
- (DEPRECATED) Extension Summary v1
- [Extension Summary V2](/analytics/reference/extension-summary-v-2) should be used. This endpoint is deprecated.
- Analytics
- Extension Summary v2
- The Extension Summary (/extsum) report provides a detailed summary of call activity for any user’s extension in your enterprise’s phone system. When you integrate with the /extsum endpoint you can see aggregate call volume and how calls were handled at every user level regardless of how the call arrived at the extension. Using this report, you can track an employee’s number of answered, abandoned, and missed calls for productivity evaluation. You can sort historical data according to the total number of received calls and compare it to the users who are handling them. See [Extension Summary Glossary](https://docs.8x8.com/8x8WebHelp/8x8analytics-virtual-office/Content/VOA/extensions-summary-beta.htm#Glossary) for details
- Analytics
- Ring Group Member Summary
- **Not currently Testable from here** The Analytics for 8x8 Work Ring Group Memberssummarized performance metrics for individual members of a ring group including Answered and Advanced counts. See [Ring Group Member Summary Glossary](https://docs.8x8.com/8x8WebHelp/8x8analytics-virtual-office/Content/VOA/ring-group-summary.htm#Glossary-rg-member) for details
- Analytics
- Ring Group Summary
- The Analytics for 8x8 Work Ring Group Summary endpoint enables automated access to summarized call metrics for each ring group. See [Ring Group Summary Glossary](https://docs.8x8.com/8x8WebHelp/8x8analytics-virtual-office/Content/VOA/ring-group-summary.htm#Glossary) for details
- Analytics
- (DEPRECATED) Ring Group Summary
- [Ring Groups Summary](/analytics/reference/ring-group-summary) and [Ring Group Members Summary](/analytics/reference/ring-group-members-summary) should be used. This endpoint is deprecated.
- Analytics
- Get Detailed Unreturned Calls (POST)
- Same result as `GET /calls/unreturned/detailed`, but the filters, time range, sorting and paging are supplied in a JSON request body instead of query parameters — convenient when the caller-address list is long. Any value present in the body overrides the equivalent query parameter; query parameters supplied alongside the body are used only as fallbacks. Returns the same `DetailedUnreturnedCallsResponse` as the GET variant. The same endpoint is also served under `/v2`.
- Unreturned Calls
8x8 integration, answered
- How do AI agents use 8x8 through Open Connector?
- Your user connects 8x8 once with one of its cataloged authentication methods. Open Connector stores the credential in an encrypted vault and exposes 8x8 tools to your agent over MCP or a typed API, with credentials injected server-side on each call.
- Is this a 8x8 MCP server?
- Yes. Open Connector can serve 8x8 as a named MCP server with a scoped allowlist and a per-user connection URL, so any MCP client can call 8x8 actions with credentials injected server-side.
- Where do 8x8 credentials live?
- In your own infrastructure. Open Connector keeps credentials in its own vault and injects them at call time, so they never leave your environment.
Give your agents 8x8 — keep the keys.
Open source, self-hostable, with 8x8 credentials that never leave your infrastructure. Run it from source today.