Integration

2Chat integration

2Chat connects WhatsApp Business API (WABA) numbers, SMS numbers and virtual phone numbers to one account. Send WABA template and session messages and SMS, read conversations and messages, check the 24-hour WABA window, create, sync and delete WABA templates, manage contacts and webhooks, search, reserve and buy virtual numbers, and read call history and call prices. Every API call deducts one credit from the plan's pool, reads included; trial accounts are limited to 30 requests per minute. Not offered: 2Chat's WhatsApp Web channels (personal or WhatsApp Business app numbers linked by QR code, an unofficial access to WhatsApp) with their messaging, number checks, groups, catalogs, statuses, profile and Slack links; minting Voice SDK tokens (short-lived browser JWTs); and the separate MCP server. Webhook deliveries carry no signature, so they cannot be verified. Authentication is an API key sent in the X-User-API-Key header; create it in the 2Chat app under Developers, API access.

Ask it in chat

Say what should happen.
The workflow builds itself.

When this happens, do that in 2Chat.Built from the 46 2Chat tools below, on the connection you add once.

What you can do with 2Chat

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.

Contact, 6 operations

  • create_contactCreate contactPOSTAgents: ask firstCreates a contact in your 2Chat directory. A contact needs a first name and at least one detail such as a phone number or an email.
  • delete_contactDelete contactDELETEAgents: ask firstPermanently deletes a contact from your 2Chat directory.
  • get_contactGet contactGETAgents: ask firstReturns one contact of your 2Chat directory by its UUID: names, picture, associated channel and last update time.
  • list_contactsList contactsGETAgents: ask firstLists the contacts of your 2Chat directory with their details (emails, phones, addresses), page by page, optionally only those associated with one connected number.
  • search_contactsSearch contactsGETAgents: ask firstSearches the contacts of your 2Chat directory by phone number or name, optionally only those associated with one connected number; returns them with their details.
  • update_contactUpdate contactPUTAgents: ask firstUpdates a contact of your 2Chat directory. Leave a field out to keep its current value.

Waba template, 5 operations

  • create_waba_templateCreate waba templatePOSTAgents: ask firstCreates a WABA message template and submits it to WhatsApp review; it starts PENDING (some are APPROVED at once). Poll get_waba_template or use the template status webhook.
  • delete_waba_templateDelete waba templateDELETEAgents: ask firstPermanently deletes a WABA template and all its language variants from 2Chat and WhatsApp; its name stays reserved about 30 days. Refused (409) while a campaign still uses it.
  • get_waba_templateGet waba templateGETAgents: ask firstReturns one WABA template with its approval status, the params values send_waba_message needs (required_params) and a ready example_payload. Poll it after create_waba_template until status is APPROVED.
  • list_waba_templatesList waba templatesGETAgents: ask firstLists the message templates of a WABA number with their UUID, name, status, category and text, page by page; use the UUID with get_waba_template and send_waba_message.
  • sync_waba_templatesSync waba templatesPOSTAgents: ask firstStarts a background refresh of the templates of a WABA number from WhatsApp; list_waba_templates shows the result after a few seconds. Capped at 20 per hour per number.

Waba message, 4 operations

  • get_waba_messageGet waba messageGETAgents: ask firstReturns one WABA message by its UUID within its conversation, with its origin flags and delivery state (sent, received, read); delivery fields appear once WhatsApp reports them.
  • list_waba_conversation_messagesList waba conversation messagesGETAgents: ask firstReturns the conversation between your WABA number and one contact, newest first; empty (not an error) for a contact never messaged. Page while has_more is true.
  • list_waba_messagesList waba messagesGETAgents: ask firstReturns the messages sent and received on your WABA number across all its conversations, newest first; page while has_more is true.
  • send_waba_messageSend waba messagePOSTAgents: ask firstSends a real WhatsApp message from your WABA number: an APPROVED template (template_uuid with params) or, inside the 24-hour window, a text. Queued and answered with 202 and a message_uuid.

Webhook, 4 operations

  • delete_webhookDelete webhookDELETEAgents: ask firstDeletes a webhook subscription; 2Chat stops posting its events.
  • list_channel_webhooksList channel webhooksGETAgents: ask firstLists the enabled webhook subscriptions of one channel (a WABA number or a virtual number).
  • list_webhooksList webhooksGETAgents: ask firstLists every enabled webhook subscription of the account: event, channel, target URL and creation time.
  • subscribe_webhookSubscribe webhookPOSTAgents: ask firstCreates a webhook: 2Chat posts every occurrence of the event to hook_url. WABA events (whatsapp.waba.*) take on_number, phone call events (call.*) take channel_uuid.

Reservation, 3 operations

  • cancel_number_reservationCancel number reservationDELETEAgents: ask firstCancels an active reservation; the number goes back to the available pool.
  • list_number_reservationsList number reservationsGETAgents: ask firstLists the active phone number reservations of the account; the vendor does not document the shape of each reservation.
  • reserve_numberReserve numberPOSTAgents: ask firstHolds a phone number from a group for a limited time before buying it with purchase_numbers; without number a random one of the group is reserved.

Sms message, 3 operations

  • get_sms_messageGet sms messageGETAgents: ask firstReturns one SMS message of the account by its UUID: numbers, text, direction, price and segments (outbound only).
  • list_sms_messagesList sms messagesGETAgents: ask firstReturns the SMS thread between your SMS channel and one contact, oldest to newest; to go further back pass the timestamp of the earliest message as before_ts.
  • send_smsSend smsPOSTAgents: ask firstSends a real SMS from your 2Chat SMS number to any phone number; billed per 160-character segment. Messages to US numbers (A2P) are not supported. Queued and answered with a message_uuid.

Call, 2 operations

  • get_callGet callGETAgents: ask firstReturns one call detail record with its cost breakdown and the 2Chat user who handled it.
  • list_call_historyList call historyGETAgents: ask firstLists the call detail records of the account (direction, numbers, status, duration, recording, cost), page by page, optionally by direction and number.

Phone number, 2 operations

  • list_available_numbersList available numbersGETAgents: ask firstLists the phone numbers you can buy in a number group (when the group allows number selection), optionally only those containing some digits.
  • purchase_numbersPurchase numbersPOSTAgents: ask firstBuys a phone number from a group and charges the account (setup and monthly price, see search_number_groups); without number a random one is assigned. Check get_number_requirements first.

Sms channel, 2 operations

  • get_sms_channelGet sms channelGETAgents: ask firstReturns one SMS channel of the account: phone number, friendly name, send and receive support and whether it is enabled.
  • list_sms_channelsList sms channelsGETAgents: ask firstLists the SMS channels (numbers) of the account, with their UUID, phone number and whether they can send and receive.

Virtual number, 2 operations

  • delete_virtual_numberDelete virtual numberDELETEAgents: ask firstDeletes one of the virtual phone numbers of the account: it stops receiving calls and messages.
  • list_virtual_numbersList virtual numbersGETAgents: ask firstLists the virtual phone numbers of the account with their UUID, number, type, status, incoming call price and expiry.

Account, 1 operation

  • get_account_infoGet account infoGETAgents: ask firstReturns the account (name, uuid, trial and blocked flags, expiry), its rate limit per minute and the API usage counters: requests made and allowed in the plan, number checks made and allowed. Use it to test the API key.

Call price, 1 operation

  • get_call_priceGet call priceGETAgents: ask firstReturns the estimated price per minute, in USD, of calling a destination number, with the matched dialing prefix and location.

Caller id, 1 operation

  • list_caller_idsList caller idsGETAgents: ask firstLists the caller IDs (numbers shown to the people you call) of the account: virtual numbers (VN), WhatsApp (WW), WABA (WA) or imported numbers (CI), and whether each is verified.

City, 1 operation

  • list_number_citiesList number citiesGETAgents: ask firstLists the cities of a country, optionally in one region, to narrow a phone number search; pass a city id to search_number_groups.

Conversation window, 1 operation

  • get_waba_conversation_windowGet waba conversation windowGETAgents: ask firstTells whether the 24-hour customer service window is open between your WABA number and a contact: while open a free text can be sent, otherwise only an approved template.

Phone number group, 1 operation

  • search_number_groupsSearch number groupsGETAgents: ask firstSearches the groups of phone numbers you can buy in a country, with monthly and setup price, features and requirements. Pass the group id to list_available_numbers or purchase_numbers.

Phone number requirement, 1 operation

  • get_number_requirementsGet number requirementsGETAgents: ask firstReturns the documents a country requires before buying a number there (identity, address, proof); the fields vary by country and the US needs none.

Phone number type, 1 operation

  • list_number_typesList number typesGETAgents: ask firstLists the phone number (DID) types used to filter number searches, such as local, mobile or tollfree.

Region, 1 operation

  • list_number_regionsList number regionsGETAgents: ask firstLists the regions of a country to narrow a phone number search (available for US, CA and GB; needed for US). Pass a region id to list_number_cities or search_number_groups.

Sms conversation, 1 operation

  • list_sms_conversationsList sms conversationsGETAgents: ask firstLists the conversations of an SMS channel, one per contact number with its latest message and message count, newest first.

User, 1 operation

  • list_usersList usersGETAgents: ask firstLists the active users of the 2Chat account (uuid, first and last name, email). Pending invites, suspended and deleted users are left out.

Waba conversation, 1 operation

  • list_waba_conversationsList waba conversationsGETAgents: ask firstLists the conversations of your WABA number, most recently active first, within its 1000 most recent, optionally only contacts whose number contains some digits.

Waba number, 1 operation

  • get_waba_numberGet waba numberGETAgents: ask firstReturns the details of one WhatsApp Business API number of the account: phone number, verified name, provider, Meta ids and connection status.

Use 2Chat from Claude Code, Cursor or Codex

Connect 2Chat in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its 2Chat operations become tools the client can call, next to every other integration you connected.

Claude Code
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"
Codex (~/.codex/config.toml)
[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"

[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"
Cursor, Claude Desktop and other JSON configs
{
  "mcpServers": {
    "livecontext": {
      "type": "http",
      "url": "https://livecontext.ai/mcp",
      "headers": {
        "X-API-Key": "YOUR_API_KEY"
      }
    }
  }
}

Set up the MCP server step by step

How to connect 2Chat

  1. Create your workspace

    Sign up free. Nothing to install.

  2. Connect 2Chat once

    Add your 2Chat connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.

  3. 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.

2Chat integration FAQ

What can you do with the 2Chat integration?

LiveContext exposes 46 operations on 2Chat, covering contact, waba template, waba message and webhook.

Popular integrations

Browse the whole catalog