2Chat
MessagingRun WhatsApp and SMS conversations through a 2Chat account, sending messages and media and managing contacts and WhatsApp groups. Agents handle routine threads and hand off the ones that need a person.
What This Integration Enables
2Chat treats WhatsApp numbers as infrastructure you administer rather than as a channel you post into, and the connector reflects that honestly. You register a number with Create WhatsApp Connection, which starts a QR code pairing. You bring it online or take it offline with Execute Channel Command. You read its live state with Get Channel Status, which reports initializing, qr-received, loading, ready or disconnected. This is a session gateway rather than an approved Business API sender, and that difference is worth understanding before you build: there is no template approval step and no 24 hour window to work around, and equally the channel depends on a session staying connected. 2Chat itself recommends creating a contact before messaging someone new, to reduce the risk of the sending number being restricted by WhatsApp, and the connector surfaces that as a real step rather than a footnote.
What you get in exchange for that posture is reach into the parts of WhatsApp that a Business API sender cannot touch. Groups are first class: create them, list participants, add and remove members, promote and demote administrators, set the description and picture. The number's public face is programmable through Set Profile Picture and Set Text Status. And SMS sits alongside WhatsApp in the same account, with its own channels and conversations, which gives a flow a genuine fallback when the WhatsApp session is down rather than a queue that silently grows. Two real triggers complete it, so inbound messages and channel status changes both start Flow conversations rather than being polled for.
Without FlowRunner
With FlowRunner
Use Case Scenarios
Order updates with a fallback that actually fires
An order ships in Shopify. Before sending, the agent calls Get Channel Status on the number it intends to use. Ready, so Send WhatsApp Message goes out with the tracking link and a map pin for the pickup point, combining text, media and location in a single call. When the status comes back disconnected instead, the flow does not queue and hope. It calls Send SMS from a 2Chat SMS number with the same tracking information, notes the fallback on the order record, and posts the disconnected channel to Slack so someone rescans the QR code. Bear in mind that messages over 160 characters are split into segments and billed accordingly, and that A2P messaging to United States numbers is not supported, so the fallback needs its own copy rather than a copy and paste of the WhatsApp text.
A cohort group, assembled correctly
A course cohort starts on Monday. The agent takes the enrolment list from Typeform and runs Check Number On WhatsApp against each entry, which returns not just whether the account exists but country, region, carrier, business status and verification level. It creates each verified person with Create Contact, supplying the channel identifier so the contact is written to the WhatsApp account behind the sending number too. Then it calls Create Group with up to ten initial participants and Add Group Participants for the rest, ten at a time. Worth planning for: WhatsApp applies an undocumented daily limit on group creation, so a flow that builds many groups needs to expect failures and retry after the window resets rather than treating the first error as fatal.
The number that tells you when it falls over
On WhatsApp Event is subscribed to number status changes on every connected channel. When a session drops, the trigger fires, the agent reads which number and how long it has been down, and raises an incident in PagerDuty routed to whoever owns that line. It also calls List WhatsApp Conversations for the affected number and counts how many customers wrote in during the outage window, so the recovery message goes to the right people rather than to everyone. A disconnected WhatsApp number is an unstaffed support channel that looks fine from the outside, and this is the difference between finding out in minutes and finding out from a complaint.
Human-in-Loop Highlight
Group operations are where this connector needs a person, because they are the operations that are public and simultaneous. Send WhatsApp Group Message reaches every member of a group in one call, with no per-recipient suppression and no way to retract the message from the people who have already read it. Remove Group Participants and Demote Group Participants are performed by the connected number in front of the whole group, so the change is visible to everyone including the person it happened to. So the agent assembles the full change set and stops: the group name and current size from List WhatsApp Groups, the participant delta from List Group Participants, the exact message text, and the numbers that failed Check Number On WhatsApp and would therefore be added but unreachable. "Cohort 14, 38 current members. I would add 9 verified numbers, skip 2 with no WhatsApp account, and send the welcome message to all 47. Go, or change the list?" The cohort owner answers and the flow releases. Separately, Delete Channel permanently removes a connected number and its connection from the account, which no flow should ever run unattended.
Agent Capabilities
41 actionsWhatsApp Messaging
7- Send WhatsApp Message Sends a WhatsApp message to a phone number from one of your connected numbers, combining text, a media attachment referenced by public URL and a map pin in a single call. Attachments must be publicly reachable and no larger than 16 MB. 2Chat recommends creating the contact first with Create Contact to reduce the risk of the sending number being restricted.
- Send WhatsApp Group Message Sends a message to a group one of your connected numbers belongs to, combining text and a media attachment referenced by public URL. Use List WhatsApp Groups to obtain the group identifier. This reaches every member at once.
- Get WhatsApp Messages Returns messages sent and received on a connected number, 100 per page starting with the newest, optionally restricted to a single customer's number. Only messages exchanged after the number was connected to 2Chat are available.
- Get WhatsApp Group Messages Returns the messages exchanged in a group, 100 per page starting with the newest.
- Get WhatsApp Message Retrieves a single message using the chat session key and the message identifier, both of which appear in message listings and webhook deliveries.
- Delete WhatsApp Message Deletes a message from a conversation using its session key and message identifier.
- List WhatsApp Conversations Returns the conversations on a connected number, one entry per contact with its most recent message. Used to find the chats that need attention, including after an outage.
WhatsApp Numbers
9- List WhatsApp Numbers Returns the WhatsApp numbers connected to the account with their identifiers, friendly names, connection status and platform. Every send operation needs one of these numbers.
- Get WhatsApp Number Retrieves the details of a single connected number by its channel identifier.
- Get Channel Status Returns the live connection state of a connected number and its most recent status events, across initializing, qr-received, loading, ready and disconnected. Agents check it before a broadcast so a flow does not send into a disconnected session.
- Create WhatsApp Connection Registers a new WhatsApp number on the account and starts a QR code connection for it. Pairing is completed by running Execute Channel Command with Connect and reading the resulting status.
- Execute Channel Command Brings a connected number online or takes it offline. Connect triggers a new QR code that must be scanned; Disconnect takes the number offline without removing it from 2Chat.
- Delete Channel Permanently removes a connected WhatsApp number from the account along with its connection. This is not recoverable from within a flow.
- Check Number On WhatsApp Checks whether a phone number has a WhatsApp account and returns what is publicly known about it, including country, region, carrier, business status and verification level. Agents call it before messaging so a send is not wasted on an unreachable number.
- Set Profile Picture Replaces the WhatsApp profile picture of a connected number with an image fetched from a public URL.
- Set Text Status Publishes an ephemeral text status update from a connected number, shown to contacts in the same way as a story, with background colour and font styling available.
Groups
9- List WhatsApp Groups Returns every group a connected number participates in with group names, subjects, sizes and owners. The returned identifiers are what the other group operations and Send WhatsApp Group Message expect.
- List Group Participants Returns the members of a group with their phone numbers, push names, devices, and whether each is an administrator or the group owner.
- Create Group Creates a group owned by one of your connected numbers with up to 10 initial participants. WhatsApp applies an undocumented daily limit on group creation, so bulk creation can fail until the window resets.
- Add Group Participants Adds up to 10 phone numbers to an existing group in one call. 2Chat recommends creating each person as a contact first to reduce the risk of the sending number being restricted.
- Remove Group Participants Removes members from a group. The connected number performing the change must be a group administrator, and the change is visible to the whole group.
- Promote Group Participants Grants group administrator rights to members, letting them manage the group and its participants.
- Demote Group Participants Removes group administrator rights from members, returning them to ordinary participants.
- Set Group Description Replaces the description text shown in a group's information panel.
- Set Group Picture Replaces a group's profile picture with an image fetched from a public URL.
Contacts
7- List Contacts Returns the contacts stored in the 2Chat directory with their names, profile picture and the phone numbers, emails and addresses recorded against each one, optionally restricted to contacts tied to one connected number.
- Search Contacts Finds contacts by phone number or by name, which is the reliable way to check for an existing record before creating a duplicate.
- Get Contact Retrieves a single contact by identifier, including every phone number, email address and physical address recorded against it.
- Create Contact Adds a contact to the directory with a first name and at least one contact detail. Supplying a channel identifier also writes the contact to the WhatsApp account behind that number, which 2Chat recommends before messaging someone new.
- Update Contact Changes the stored details of an existing contact, and with a channel identifier supplied creates or updates the contact on the WhatsApp account behind that number as well.
- Delete Contact Removes a contact from the 2Chat directory.
- Build Contact Detail Builds one entry for the Contact Details list used by Create Contact and Update Contact, mapping a readable detail type to the short code the API expects. Used when a flow assembles contact details step by step rather than passing a ready-made list.
SMS
6- Send SMS Sends an SMS from one of your 2Chat SMS numbers. Messages longer than 160 characters are split into segments and billed accordingly, and A2P messaging to United States numbers is not supported.
- List SMS Channels Returns the SMS-enabled numbers on the account, whose identifiers the SMS read operations require.
- Get SMS Channel Retrieves a single SMS channel by identifier with its number and configuration.
- List SMS Conversations Returns the conversations on an SMS channel, one entry per contact with its latest message, newest first.
- Get SMS Messages Returns the SMS messages exchanged between one of your SMS channels and a specific contact number.
- Get SMS Message Retrieves a single SMS message by identifier with its text, direction and delivery status.
Account
3- Get Account Information Returns the account behind the configured API key with its name, trial and blocked status, expiry date and the request rate limit that applies. Trial accounts are limited to 10 API requests per minute, so a flow can confirm its credentials and its headroom in one call.
- List Webhooks Returns every enabled webhook subscription on the account with the event it listens for, the channel it belongs to and the URL 2Chat calls, including subscriptions created outside this connection.
- List Webhooks By Channel Returns the webhook subscriptions attached to one connected number, which narrows an audit to a single channel.
Triggers
2 triggersEvent Triggers
2- On WhatsApp Message Received Fires when a customer sends a WhatsApp message to the chosen connected number. 2Chat creates the webhook subscription for the message received event and the trigger runs your flow with the message body, any attached media and the sender's details.
- On WhatsApp Event Fires when one of the selected 2Chat events occurs on the chosen connected number, covering sent and edited messages, reactions, orders, calls, delivery receipts, group activity and number status changes. One webhook subscription is created per selected event. The number status change events are the ones to wire into alerting, because a session that drops takes the channel with it.
Frequently Asked Questions
What can FlowRunner do with 2Chat?
FlowRunner agents can run Send WhatsApp Message, Send WhatsApp Group Message, and Get WhatsApp Messages in 2Chat, plus 38 more actions.
Does connecting 2Chat to FlowRunner require OAuth?
No. 2Chat connects to FlowRunner with an API key, no OAuth flow required.
Can 2Chat trigger a FlowRunner workflow automatically?
Yes. 2Chat supports 2 triggers that can start a FlowRunner workflow automatically.
Start building with 2Chat
$100 in credits. No card required. Connect in minutes.