Teletype integration
Teletype (teletype.app) is an omnichannel customer-support inbox that gathers a project's website chat, email, Telegram, WhatsApp, Instagram, VK, Avito, MAX, Viber, SMS and KakaoTalk conversations. Work the inbox: list and filter dialogs, their sessions and messages; mark dialogs read, answered or unanswered, assign operators (by hand or automatically) and categories; read and update clients and their tags, custom fields and notes; list channels, operators, tags, categories and quick-reply templates; manage operator groups (members, channels, supervisors, visibility); send an approved WhatsApp Business template on an Edna channel; read the balance and the Public API status and set the webhook. Client profiles, messages and phone numbers are personal data. Left out: sending, editing and deleting ordinary messages, starting dialogs, and closing dialogs (closing can make Teletype send the client a rating request): all of them act through whatever channel a dialog is on, which can be Teletype's WhatsApp by phone number channel, a regular WhatsApp account linked by QR code as a device, an unofficial gateway the catalog does not drive. Also left out: the tariff breakdown, and the Poster and MoySklad integration templates (automatic messages to clients). Every answer comes back with HTTP 200: check success, and read errors and errorsType when it is false. Each tool's details give its rate limit (most allow 2 or 3 calls per second per project owner). Authentication: enable the Public API in the Teletype project settings (it must be included in the project's tariff) and copy the project token; it is sent in an X-Auth-Token header, does not expire, and stops working once a new token is generated.
Say what should happen.
The workflow builds itself.
What you can do with Teletype
Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.
Each badge shows the default agent permission of an endpoint (allowed: an agent calls it without asking; ask first: you are asked before an agent calls it, when the agent or chat asks permission for sensitive actions; never: no agent may call it), which every user can change endpoint by endpoint in their credential settings.
Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.
Dialog, 5 operations
get_dialogGet dialogGETAgents: ask firstReturns a dialog's last session: sessionId, operator, client, open, group, unanswered and seen flags, unread count, channel id, category id and channel-specific data (such as an Avito listing). Personal data.list_dialogsList dialogsGETAgents: ask firstLists dialogs (conversations with clients), most recently active first, one page at a time (pageSize 1 to 100, default 15), with their last message; filter by status, channel and tags. Personal data.mark_dialog_answeredMark dialog answeredPOSTAgents: ask firstMarks a dialog as answered (unanswered false) on its sessions that are not closed and marks their messages read; closed sessions are not changed. data is true even when nothing changed.mark_dialog_seenMark dialog seenGETAgents: ask firstMarks a dialog's messages as read in its sessions that have an operator or are closed (it changes state, although a GET). data false means the last session has no operator assigned.mark_dialog_unansweredMark dialog unansweredPOSTAgents: ask firstMarks a dialog as unanswered (unanswered true) on its sessions that are not closed; closed sessions are not changed. data is true even when nothing changed.
Client, 3 operations
get_clientGet clientGETAgents: ask firstReturns a client's full profile: contacts, social profiles, tags, UTM and referrer, custom fields, notes, device, browser, IP and location, visited pages and dialog history. Personal data.list_clientsList clientsGETAgents: ask firstLists clients (short profiles: name, phone, email, online state, rating) a page at a time, or returns one short profile in data when clientId is set; filter by phone fragment and tags. Personal data.update_clientUpdate clientPOSTAgents: ask firstChanges a client's name, phone, email or additional data (merged unless force_additional_payload is 1) and returns the full profile. Phone is locked on phone-number channels, email on email channels. Personal data.
Client note, 3 operations
create_client_noteCreate client notePOSTAgents: ask firstCreates a note about a client (non-empty text), linked to the client's session Teletype finds, and returns its id.delete_client_noteDelete client noteGETAgents: ask firstDeletes a note about a client (it changes state, although a GET) and returns whether it was deleted. Irreversible.list_client_notesList client notesGETAgents: ask firstLists the notes operators left about a client, newest first, with the author operator and creation time. No pagination. Personal data.
Operator group channel, 3 operations
add_group_channelAdd group channelPOSTAgents: ask firstAdds a channel (from list_channels) to an operator group; set_group_channel_visibility then sets what its regular members see on it. This changes team access. Needs the operator groups option.remove_group_channelRemove group channelPOSTAgents: ask firstRemoves a channel from an operator group. This changes team access. Needs Teletype's operator groups option (paid, or during the trial).set_group_channel_visibilitySet group channel visibilityPOSTAgents: ask firstSets whether regular members of an operator group see, on one of its channels, the dialogs assigned to other operators (supervisors always do). Needs Teletype's operator groups option (paid, or during the trial).
Client custom field, 2 operations
get_client_custom_fieldsGet client custom fieldsGETAgents: ask firstReturns a client's custom field values keyed by the fields' public names (an empty array when no custom fields are set up). Personal data.set_client_custom_fieldsSet client custom fieldsPOSTAgents: ask firstWrites a client's custom field values (values: an object keyed by the fields' public names, the keys get_client_custom_fields returns) and returns the current set. Only the fields sent change. Personal data.
Client tag, 2 operations
add_client_tagAdd client tagPOSTAgents: ask firstAdds a tag (from list_tags) to a client. The tag sits on the merged client card, so it also shows on the client's profiles in the project's other channels.remove_client_tagRemove client tagPOSTAgents: ask firstRemoves a tag from a client. The tag sits on the merged client card, so it also leaves the client's profiles in the project's other channels.
Dialog operator, 2 operations
assign_dialog_operatorAssign dialog operatorPOSTAgents: ask firstAssigns an operator (from list_project_operators) to the dialog's last session; answers success false when the dialog has no session.auto_assign_dialog_operatorAuto assign dialog operatorPOSTAgents: ask firstQueues Teletype's automatic operator pick for a dialog's last session and stops the dialog's bots. data true means queued, not assigned: check get_dialog later. A closed session is refused.
Dialog session, 2 operations
get_sessionGet sessionGETAgents: ask firstReturns one session (single request) of a dialog: open state, channel, category, opened and closed times (closedAt null while open), rating, and the dialog's current operator.list_dialog_sessionsList dialog sessionsGETAgents: ask firstLists the sessions (single requests) of a dialog, newest first, one page at a time: open state, channel, category, opened and closed times and rating; operator is the dialog's current operator.
Operator group, 2 operations
get_operator_groupGet operator groupGETAgents: ask firstReturns one operator group: name, description, color, member and supervisor operator ids, and its channels with whether regular members see dialogs assigned to other operators.list_operator_groupsList operator groupsGETAgents: ask firstLists the project's operator groups: name, description, color, member and supervisor operator ids, and channels with whether regular members see dialogs assigned to others. No pagination.
Operator group member, 2 operations
add_group_memberAdd group memberPOSTAgents: ask firstAdds an operator (from list_project_operators) to an operator group. This changes team access. Needs Teletype's operator groups option (paid, or during the trial).remove_group_memberRemove group memberPOSTAgents: ask firstRemoves an operator from an operator group. This changes team access. Needs Teletype's operator groups option (paid, or during the trial).
Api status, 1 operation
get_api_statusGet api statusGETAgents: ask firstReturns the project's Public API settings: project id, the webhook URL, the enabled webhook events and the webhook transport error counter. Read it before set_webhook_settings and send back what you keep.
Category, 1 operation
list_categoriesList categoriesGETAgents: ask firstLists the dialog categories (id, name, description, project id) in alphabetical order, without pagination; use the id with set_dialog_category.
Channel, 1 operation
list_channelsList channelsGETAgents: ask firstLists the project's channels newest first, a page at a time: id, name, type, enabled flag, state, open dialog count and the channel's phone, username or email. Active channels only unless onlyActive is 0.
Client dialog, 1 operation
get_client_last_dialogGet client last dialogGETAgents: ask firstReturns a client's last dialog: its id, its last session id and its panel link, optionally on one channel or channel type (active channels only by default). sessionId and url are false with no session.
Dialog category, 1 operation
set_dialog_categorySet dialog categoryPOSTAgents: ask firstSets the category (from list_categories) of a dialog's last session.
Group dialog client, 1 operation
list_group_dialog_clientsList group dialog clientsGETAgents: ask firstLists the participants (clients) of a group dialog: id, name, avatar and phone. A one-to-one dialog answers success false. Personal data.
Message, 1 operation
list_messagesList messagesGETAgents: ask firstLists the project's messages newest first, one page at a time (pageSize 1 to 100, default 15), filtered by dialogId, channelId and clientId combined. Message texts and client details are personal data.
Message template, 1 operation
list_message_templatesList message templatesGETAgents: ask firstLists the quick-reply templates, in folders and without a folder, with their text in message. WABA templates (typeName edna_waba_operator_template, forChannel) are the ones send_edna_whatsapp_template takes.
Operator, 1 operation
list_project_operatorsList project operatorsGETAgents: ask firstLists the project's operators (support agents): id, first and last name, email, status code, panel language and roles. No pagination. Operator emails are personal data.
Operator group supervisor, 1 operation
set_group_supervisorSet group supervisorPOSTAgents: ask firstGrants (isSupervisor true) or removes (false) supervisor rights of a member of an operator group; supervisors always see the group's dialogs assigned to others. Needs Teletype's operator groups option (paid, or during the trial).
Project, 1 operation
get_projectGet projectGETAgents: ask firstReturns the project's id, owner id, name, domain, page URL and creation date.
Project balance, 1 operation
get_project_balanceGet project balanceGETAgents: ask firstReturns the Teletype project's balance in kopecks (hundredths of a rouble), the date it lasts until at the current use, the trial days left, the trial end date and the promised-payment amount.
Tag, 1 operation
list_tagsList tagsGETAgents: ask firstLists the project's client tags (id, name, color, description) in alphabetical order, without pagination. Use the ids with add_client_tag, remove_client_tag and the tagIds[] filters.
Template folder, 1 operation
list_template_foldersList template foldersGETAgents: ask firstLists the quick-reply template folders (id, name, description, project id), without the templates; list_message_templates returns those.
Webhook settings, 1 operation
set_webhook_settingsSet webhook settingsPOSTAgents: ask firstREPLACES the project's webhook URL and enabled events together: a value left out deletes the URL or turns every event off. Read get_api_status first and send both. Teletype then POSTs every event to that one URL.
Whatsapp template message, 1 operation
send_edna_whatsapp_templateSend edna whatsapp templatePOSTAgents: ask firstSENDS an approved WhatsApp Business template to the client of an existing dialog on a whatsapp_edna channel: it messages a real person, and Meta or the provider may charge for it. Returns message ids, not delivery.
Use Teletype from Claude Code, Cursor or Codex
Connect Teletype in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its Teletype operations become tools the client can call, next to every other integration you connected.
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"
[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"{
"mcpServers": {
"livecontext": {
"type": "http",
"url": "https://livecontext.ai/mcp",
"headers": {
"X-API-Key": "YOUR_API_KEY"
}
}
}
}How to connect Teletype
- Create your workspace
Sign up free. Nothing to install.
- Connect Teletype once
Add your Teletype connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.
- Describe the job in chat
The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.
Teletype integration FAQ
What can you do with the Teletype integration?
LiveContext exposes 42 operations on Teletype, covering dialog, client, client note and operator group channel.
