Connectors · Email & messaging
8x8 MCP server for AI agents.
actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to 8x8 and the rest of your systems. It gives your agent 134 8x8 actions (82 reads, 37 writes and 15 that wait for a confirmation) and holds the 8x8 credential itself, so the agent never does. It paces 8x8's limits and records every call.
100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.
claude mcp add --transport http actionlake https://connect.actionlake.com/mcpdo { action: "eight_by_eight.users.list", intent: "check which 8x8 account is connected"}# List users · read · 1 upstream call- 134actionsin one signed file
- 82readlook, never change
- 37writecreate and update
- 15wait for a yesdestructive, confirmed first
Set up
Connect 8x8 in three steps.
- 01
Add actionlake to Claude.
Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.
https://connect.actionlake.com/mcp - 02
Connect 8x8.
Session login. actionlake opens the session and renews it when it expires. actionlake stores what you paste write-only, sealed under your tenant's key.
api_key8x8 Admin Console API key (Key): admin.8x8.com > API Keys > your app > Key (starts with eght_)api_secretThe Secret shown beside that Key (click the eye icon in Admin Console > API Keys)
account { op: "connections.requirements", service: "eight_by_eight" } # free: exactly what to paste, and what is found for you - 03
Make the first call. Check before a write.
Ask in plain words; Claude picks the action. Before anything changes,
checkvalidates the call and prices it, for free.do { action: "eight_by_eight.users.list" }# list users · read · 1 upstream callcheck { action: "eight_by_eight.users.create", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent
8x8 at a glance
- Sign-in
- Session login. actionlake opens the session and renews it when it expires.
- You provide
api_keyapi_secret- Limits we pace to
- 50 calls a second, per connection
- API covered
- 8x8 Work / Contact Center (XCaaS administration, contact center analytics, chat, recordings, quality management) API 8x8 XCaaS public APIs (developer.8x8.com OpenAPI documents, 8x8Cloud/public-developer-docs)
api.8x8.com - Built from
- 8x8's documentation, read 23 October 2026GitHubdeveloper.8x8.com
- Service file
- Version 1.0.0, signed (Ed25519)
- Cached reads
- 82 of 82 reads, for up to 5 minutes; a write clears what it affects
- Shared entities
- 3, so ask can line 8x8 up with your other systems
- Data
- Processed and stored in Sydney, Australia. No US region yet
Capabilities
What an AI agent can do in 8x8.
134 actions in 52 areas. Every one carries its effect, so a key can allow the reads and hold the rest.
- 82readlook, never change
- 37writecreate and update
- 15destructivewait for a confirmation
Chat gateway conversations
92 read · 7 write · 0 destructive
Creates a new conversation. · Returns all conversations belonging to the customer. · Sends a read receipt for a conversation. · Sends a thinking indicator for a conversation.
CC chat webhooks
62 read · 3 write · 1 destructive
Creates a new customer webhook. · Retrieves all customer webhooks based on the associated token information. · The endpoint used to validate that the webhook is working and reachable. · Get webhook by Id.
Chat gateway webhooks
62 read · 3 write · 1 destructive
Creates a new customer webhook. · Retrieves all customer webhooks based on the associated token information. · Updates the full webhook resource by Id. · Get webhook by Id.
Ring groups
62 read · 3 write · 1 destructive
Create a ring group · List ring groups · Get ring group by ID · Update a ring group
Storage objects
64 read · 1 write · 1 destructive
The list of all objects that meet the filter rule criteria. · Find an object by its ID. · Restore an archived object. · Download content for the given object.
CC chat channels
52 read · 2 write · 1 destructive
Creates a channel. · Retrieves all customer Chat API channels. · Get ChatAPI channel by Id. · Update ChatAPI channel by Id.
CC historical reports
54 read · 1 write · 0 destructive
Create Report · Report Links · Report Details · Report Data
Chat gateway channels
52 read · 2 write · 1 destructive
Creates a channel. · Retrieves all customer Chat API channels. · Get ChatAPI channel by Id. · Update ChatAPI channel by Id.
44 more areas · 86 actions
- Sites 5
- Storage bulk downloads 5
- Users 5
- Addresses 4
- QM interactions 4
- CC chat conversations 3
- Chat gateway messages 3
- QM evaluations 3
- QM users 3
- CC chat conversation participants 2
- CC chat messages 2
- CC detailed reports 2
- CC group agent metrics 2
- CC group metrics 2
- CC historical report types 2
- CC queue agent metrics 2
- CC queue metrics 2
- Chat gateway attachments 2
- Chat gateway conversation participants 2
- Chat messages 2
- Phone numbers 2
- QM interaction custom fields 2
- QM speech categories 2
- QM speech topics 2
- Storage buckets 2
- Audit records 1
- Campaign records 1
- Campaigns 1
- CC agent metrics 1
- CC agents in queue groups 1
- CC chat JWKS 1
- Chat gateway cards 1
- Chat gateway conversation interactions 1
- Chat gateway JWKS 1
- Customer interactions insight 1
- Operations 1
- QM interaction labels 1
- QM interaction notes 1
- QM interaction topics 1
- QM interaction transcriptions 1
- QM user supervisors 1
- QM user trainers 1
- Storage regions 1
- Transcript summaries 1
Top actions
The 8x8 API, shaped for agents.
The ids your agent types, what each does, and the one name it shares with other systems. 14 of 8x8's 14 action names are shared with at least one other connector, so an agent learns them once.
| Action | What it does | Effect | Same name in |
|---|---|---|---|
eight_by_eight.users.listList users | List users. | read | identity.user.list474 connectors |
eight_by_eight.users.createCreate user | Create user. | write | identity.user.create262 connectors |
eight_by_eight.users.deleteDelete user | Delete user. | destructive | identity.user.delete253 connectors |
eight_by_eight.audit_records.listGet audit records. | Get audit records. | read | identity.audit_event.list51 connectors |
eight_by_eight.chat_gateway_webhooks.createCreates a new customer webhook. | Creates a new customer webhook. | write | automation.webhook.create209 connectors |
eight_by_eight.chat_gateway_webhooks.listRetrieves all customer webhooks based on the associated token information. | Retrieves all customer webhooks based on the associated token information. | read | automation.webhook.list202 connectors |
eight_by_eight.storage_objects.listThe list of all objects that meet the filter rule criteria. | The list of all objects that meet the filter rule criteria. | read | comm.call_recording.list9 connectors |
eight_by_eight.sites.listList sites | List sites. | read | this connector |
eight_by_eight.cc_queue_metrics.listQueue Statistics | Queue Statistics. | read | this connector |
eight_by_eight.storage_objects.getFind an object by its ID. | Find an object by its ID. | read | comm.call_recording.get9 connectors |
eight_by_eight.campaigns.updateModify campaign state | Modify campaign state. | write | comm.campaign.update38 connectors |
eight_by_eight.sites.createCreate a new site | Create a new site. | write | this connector |
Try it
Prompts to paste into Claude.
Each one names the 8x8 actions it will call, so you know what it reads and what it changes before you send it.
- Readread
Who has access in 8x8? List every user and their role.
calls
eight_by_eight.users.list - Writewrite
Create user in 8x8. Show me exactly what you will send before you save it.
calls
eight_by_eight.users.create
Governance for 8x8
Destructive actions wait for a yes.
15 8x8 actions are destructive. These are all of them:
- Delete user
eight_by_eight.users.delete - Deletes the webhook by Id.
eight_by_eight.chat_gateway_webhooks.delete - Delete site
eight_by_eight.sites.delete - Delete a ring group
eight_by_eight.ring_groups.delete - Remove existing objects.
eight_by_eight.storage_objects.bulk_delete - Removes tasks from a download request.
eight_by_eight.storage_bulk_downloads.clear - Cancel a running bulk download job by zip file name.
eight_by_eight.storage_bulk_downloads.cancel - Delete address
eight_by_eight.addresses.delete - This method purges a single interaction.
eight_by_eight.qm_interactions.purge - Deletes a single interaction.
eight_by_eight.qm_interactions.delete - Delete ChatAPI channel by Id.
eight_by_eight.cc_chat_channels.delete - Deletes the webhook by Id.
eight_by_eight.cc_chat_webhooks.delete - Delete ChatAPI channel by Id.
eight_by_eight.chat_gateway_channels.delete - Deletes custom field data
eight_by_eight.qm_interaction_custom_fields.delete - Customers leaves conversation.
eight_by_eight.cc_chat_conversation_participants.remove_customer
A destructive action runs only with confirm: true. Under the human policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.
Delete user?
intent: the user asked me to delete user
account { op: "keys.create", name: "eight-by-eight-agent", allowed_actions: ["eight_by_eight.*"], cap_calls: 2000, confirm_policy: "human_for_writes", approval_rules: [ { match: "eight_by_eight.users.delete", approver: "[email protected]" }, { match: "eight_by_eight.chat_gateway_webhooks.delete", approver: "[email protected]" }, { match: "eight_by_eight.sites.delete", approver: "[email protected]" } ]}Cost
What 8x8 costs on actionlake.
Every 8x8 action is one upstream call, the only thing actionlake bills. Searching, check, cost, account and any call 8x8 refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.
- 1upstream call per actionall 134 8x8 actions
- 134actions pageeach page of a long list is one call
- 82reads can be cacheda cache hit costs nothing
- 100,000calls a month, freepaid plans from US$49 a month for 250,000
Action index
Every 8x8 action.
134 actions by area: the id your agent calls, what it does, and its effect.
Chat gateway conversations9
eight_by_eight.chat_gateway_conversations.createCreates a new conversation.writeeight_by_eight.chat_gateway_conversations.getRetrieves conversation details.readeight_by_eight.chat_gateway_conversations.listReturns all conversations belonging to the customer.readeight_by_eight.chat_gateway_conversations.replaceUpdate a conversation details.writeeight_by_eight.chat_gateway_conversations.send_read_receiptSends a read receipt for a conversation.writeeight_by_eight.chat_gateway_conversations.send_thinkingSends a thinking indicator for a conversation.writeeight_by_eight.chat_gateway_conversations.send_typingCreates a typing indicator for a conversation.writeeight_by_eight.chat_gateway_conversations.set_post_agent_assignmentCreates a post agent assignment for a conversation.writeeight_by_eight.chat_gateway_conversations.updatePatch a conversation details.write
CC chat webhooks6
eight_by_eight.cc_chat_webhooks.createCreates a new customer webhook.writeeight_by_eight.cc_chat_webhooks.deleteDeletes the webhook by Id.destructiveeight_by_eight.cc_chat_webhooks.getGet webhook by Id.readeight_by_eight.cc_chat_webhooks.listRetrieves all customer webhooks based on the associated token information.readeight_by_eight.cc_chat_webhooks.updateUpdates the full webhook resource by Id.writeeight_by_eight.cc_chat_webhooks.verifyThe endpoint used to validate that the webhook is working and reachable.write
Chat gateway webhooks6
eight_by_eight.chat_gateway_webhooks.createCreates a new customer webhook.writeeight_by_eight.chat_gateway_webhooks.deleteDeletes the webhook by Id.destructiveeight_by_eight.chat_gateway_webhooks.getGet webhook by Id.readeight_by_eight.chat_gateway_webhooks.listRetrieves all customer webhooks based on the associated token information.readeight_by_eight.chat_gateway_webhooks.updateUpdates the full webhook resource by Id.writeeight_by_eight.chat_gateway_webhooks.verifyThe endpoint used to validate that the webhook is working and reachable.write
Ring groups6
eight_by_eight.ring_groups.createCreate a ring groupwriteeight_by_eight.ring_groups.deleteDelete a ring groupdestructiveeight_by_eight.ring_groups.getGet ring group by IDreadeight_by_eight.ring_groups.listList ring groupsreadeight_by_eight.ring_groups.updateUpdate a ring groupwriteeight_by_eight.ring_groups.update_membersUpdate ring group memberswrite
Storage objects6
eight_by_eight.storage_objects.bulk_deleteRemove existing objects.destructiveeight_by_eight.storage_objects.getFind an object by its ID.readeight_by_eight.storage_objects.get_content_urlDownload content for the given object.readeight_by_eight.storage_objects.get_metadataDownload metadata for the given object.readeight_by_eight.storage_objects.listThe list of all objects that meet the filter rule criteria.readeight_by_eight.storage_objects.restoreRestore an archived object.write
CC chat channels5
eight_by_eight.cc_chat_channels.createCreates a channel.writeeight_by_eight.cc_chat_channels.deleteDelete ChatAPI channel by Id.destructiveeight_by_eight.cc_chat_channels.getGet ChatAPI channel by Id.readeight_by_eight.cc_chat_channels.listRetrieves all customer Chat API channels.readeight_by_eight.cc_chat_channels.updateUpdate ChatAPI channel by Id.write
CC historical reports5
eight_by_eight.cc_historical_reports.createCreate Reportwriteeight_by_eight.cc_historical_reports.getReport Detailsreadeight_by_eight.cc_historical_reports.get_dataReport Datareadeight_by_eight.cc_historical_reports.get_statusReport Statusreadeight_by_eight.cc_historical_reports.list_linksReport Linksread
Chat gateway channels5
eight_by_eight.chat_gateway_channels.createCreates a channel.writeeight_by_eight.chat_gateway_channels.deleteDelete ChatAPI channel by Id.destructiveeight_by_eight.chat_gateway_channels.getGet ChatAPI channel by Id.readeight_by_eight.chat_gateway_channels.listRetrieves all customer Chat API channels.readeight_by_eight.chat_gateway_channels.updateUpdate ChatAPI channel by Id.write
Sites5
eight_by_eight.sites.createCreate a new sitewriteeight_by_eight.sites.deleteDelete sitedestructiveeight_by_eight.sites.getGet site by IDreadeight_by_eight.sites.listList sitesreadeight_by_eight.sites.updateUpdate sitewrite
Storage bulk downloads5
eight_by_eight.storage_bulk_downloads.cancelCancel a running bulk download job by zip file name.destructiveeight_by_eight.storage_bulk_downloads.clearRemoves tasks from a download request.destructiveeight_by_eight.storage_bulk_downloads.getReturns the status of a single bulk download job request by zip filename.readeight_by_eight.storage_bulk_downloads.listReturns the status of all bulk download job requests.readeight_by_eight.storage_bulk_downloads.startStart bulk download.write
Users5
eight_by_eight.users.createCreate userwriteeight_by_eight.users.deleteDelete userdestructiveeight_by_eight.users.getGet user by IDreadeight_by_eight.users.listList usersreadeight_by_eight.users.updateUpdate userwrite
Addresses4
eight_by_eight.addresses.createCreate addresswriteeight_by_eight.addresses.deleteDelete addressdestructiveeight_by_eight.addresses.getGet address by IDreadeight_by_eight.addresses.listList addressesread
QM interactions4
eight_by_eight.qm_interactions.countInteraction count.readeight_by_eight.qm_interactions.deleteDeletes a single interaction.destructiveeight_by_eight.qm_interactions.listThe Interaction collectionreadeight_by_eight.qm_interactions.purgeThis method purges a single interaction.destructive
CC chat conversations3
eight_by_eight.cc_chat_conversations.createCreates a new conversation.writeeight_by_eight.cc_chat_conversations.getRetrieves conversation details.readeight_by_eight.cc_chat_conversations.listReturns all conversations belonging to the customer.read
Chat gateway messages3
eight_by_eight.chat_gateway_messages.getRetrieves the conversation messages.readeight_by_eight.chat_gateway_messages.listRetrieves the conversation messages.readeight_by_eight.chat_gateway_messages.sendSend a message.write
QM evaluations3
eight_by_eight.qm_evaluations.countThe evaluation countreadeight_by_eight.qm_evaluations.getThe evaluation details specified by ID.readeight_by_eight.qm_evaluations.listEvaluation collectionread
QM users3
eight_by_eight.qm_users.countQuery user countreadeight_by_eight.qm_users.getUser details.readeight_by_eight.qm_users.listQuery user detailsread
CC chat conversation participants2
eight_by_eight.cc_chat_conversation_participants.listRetrieve the conversation participants.readeight_by_eight.cc_chat_conversation_participants.remove_customerCustomers leaves conversation.destructive
CC chat messages2
eight_by_eight.cc_chat_messages.listRetrieves the conversation messages.readeight_by_eight.cc_chat_messages.sendSend a message.write
CC detailed reports2
eight_by_eight.cc_detailed_reports.createCreate Detailed Reportwriteeight_by_eight.cc_detailed_reports.get_dataDetailed Report Dataread
CC group agent metrics2
eight_by_eight.cc_group_agent_metrics.getIndividual Agent Statistics by Groupreadeight_by_eight.cc_group_agent_metrics.listAgent Statistics by Groupread
CC group metrics2
eight_by_eight.cc_group_metrics.getIndividual Group Statisticsreadeight_by_eight.cc_group_metrics.listGroup Statisticsread
CC historical report types2
eight_by_eight.cc_historical_report_types.getReport Format Detailsreadeight_by_eight.cc_historical_report_types.listList Report Typesread
CC queue agent metrics2
eight_by_eight.cc_queue_agent_metrics.getIndividual Agent Statistics by Queuereadeight_by_eight.cc_queue_agent_metrics.listAgent Statistics by Queueread
CC queue metrics2
eight_by_eight.cc_queue_metrics.getIndividual Queue Metricsreadeight_by_eight.cc_queue_metrics.listQueue Statisticsread
Chat gateway attachments2
eight_by_eight.chat_gateway_attachments.getGet an attachment from Conversation.readeight_by_eight.chat_gateway_attachments.listGet attachments in Conversation.read
Chat gateway conversation participants2
eight_by_eight.chat_gateway_conversation_participants.listRetrieve the conversation participants.readeight_by_eight.chat_gateway_conversation_participants.remove_userUser leaves conversation.write
Chat messages2
eight_by_eight.chat_messages.listFetches messages for a room. Defaults to `CHAPI sandbox` room.readeight_by_eight.chat_messages.sendSend a message to a public chat room.write
Phone numbers2
eight_by_eight.phone_numbers.getGet phone number by IDreadeight_by_eight.phone_numbers.listList phone numbersread
QM interaction custom fields2
eight_by_eight.qm_interaction_custom_fields.deleteDeletes custom field datadestructiveeight_by_eight.qm_interaction_custom_fields.updateThis method updates custom fields.write
QM speech categories2
eight_by_eight.qm_speech_categories.countThe Speech Analytics category countreadeight_by_eight.qm_speech_categories.listThe Speech Analytics category listread
QM speech topics2
eight_by_eight.qm_speech_topics.countThe Speech Analytics topic countreadeight_by_eight.qm_speech_topics.listThe Speech Analytics topics listread
Storage buckets2
eight_by_eight.storage_buckets.getReturns the content of a specified bucket.readeight_by_eight.storage_buckets.listSearch all buckets.read
Audit records1
eight_by_eight.audit_records.listGet audit records.read
Campaign records1
eight_by_eight.campaign_records.addAdd records to campaignwrite
Campaigns1
eight_by_eight.campaigns.updateModify campaign statewrite
CC agent metrics1
eight_by_eight.cc_agent_metrics.listRetrieve all agents with all specified metrics within a tenant.read
CC agents in queue groups1
eight_by_eight.cc_agents_in_queue_groups.listRetrieve realtime metrics for all agents in multiple queues.read
CC chat JWKS1
eight_by_eight.cc_chat_jwks.getReturns the public JWK.read
Chat gateway cards1
eight_by_eight.chat_gateway_cards.listRetrieves the list of conversation message cards.read
Chat gateway conversation interactions1
eight_by_eight.chat_gateway_conversation_interactions.listReturns all conversations belonging to the customer.read
Chat gateway JWKS1
eight_by_eight.chat_gateway_jwks.getReturns the public JWK.read
Customer interactions insight1
eight_by_eight.customer_interactions_insight.getGet interaction insightsread
Operations1
eight_by_eight.operations.getGet operation by IDread
QM interaction labels1
eight_by_eight.qm_interaction_labels.listQuery a single interaction attached labelread
QM interaction notes1
eight_by_eight.qm_interaction_notes.listQuery the attached notes for a single interactionread
QM interaction topics1
eight_by_eight.qm_interaction_topics.listQueries a single interaction for matched topicsread
QM interaction transcriptions1
eight_by_eight.qm_interaction_transcriptions.listThis method queries a single interaction transcription record.read
QM user supervisors1
eight_by_eight.qm_user_supervisors.listQuery supervisor valuesread
QM user trainers1
eight_by_eight.qm_user_trainers.listTrainer values.read
Storage regions1
eight_by_eight.storage_regions.listList available regions.read
Transcript summaries1
eight_by_eight.transcript_summaries.listGet transcript summariesread
Questions
The 8x8 MCP server, answered.
Is there a 8x8 MCP server for Claude?
Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 134 8x8 actions across chat gateway conversations, CC chat webhooks, chat gateway webhooks and ring groups, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by 8x8.
What do I need to connect 8x8?
8x8 Admin Console API key (Key): admin.8x8.com > API Keys > your app > Key (starts with eght_) and The Secret shown beside that Key (click the eye icon in Admin Console > API Keys). The free call account { op: "connections.requirements", service: "eight_by_eight" } lists exactly what to paste.
Can an AI agent delete or change things in 8x8?
Only if its key allows it, and only with an explicit confirmation. 15 8x8 actions are destructive, including delete user, deletes the webhook by Id. and delete site. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.
Will an AI agent use up my 8x8 API limit?
actionlake paces every call to the limits in the 8x8 service file: 50 calls a second per connection. Repeated reads are answered from cache (82 8x8 actions can be), which never reaches 8x8.
What does a 8x8 action cost?
One upstream call, the only unit actionlake bills. A list that pages bills one call per page (134 8x8 actions page). Cache hits, searches, dry runs and calls 8x8 refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.
Which 8x8 API does it cover?
The 8x8 Work / Contact Center (XCaaS administration, contact center analytics, chat, recordings, quality management) API 8x8 XCaaS public APIs (developer.8x8.com OpenAPI documents, 8x8Cloud/public-developer-docs) at api.8x8.com. It is built from 8x8's documentation as read on 23 October 2026. 134 actions in 52 areas, each one in the signed service file (version 1.0.0).
Does actionlake keep my 8x8 data, and where?
actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to 5 minutes, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your 8x8 credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.
Which AI clients can use it?
Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.
Give your agent 8x8 today.
Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.