Inboxes & Channels
By Conversa Labs
By Conversa Labs
WhatsApp Web and Cloud, Coexistence, groups/communities Hub, templates/flows/calls, website, email, social, voice and API.
Inboxes and channels overview
Overview In Conversa Labs, an inbox is where conversations from a channel arrive for your team to handle. Each inbox represents one connected channel β for example, a WhatsApp number, your website widget, an email account or a social media page. You can have as many inboxes as you need, each with its own assignment rules, business hours and responsible team. Centralizing every channel into inboxes means your agents handle everything in a single screen, with a unified history per contact, no matter where the message came from. Prerequisites - An active Conversa Labs account. - An administrator role to create and configure inboxes (agents only handle conversations). - For each channel, its specific requirements (a WhatsApp number, a Meta account, an email server, etc.), detailed in each channel's article. Step by step 1. Go to the account Settings area. 2. Open the Inboxes section and start creating a new inbox. 3. Choose the channel type you want to connect (WhatsApp, Website, Email, social, Voice, API). 4. Follow the connection wizard specific to the chosen channel. 5. Assign the agents and teams that will handle this inbox. 6. Adjust the settings (business hours, auto-assignment, greeting, CSAT) as needed. Settings & options The platform offers the following channel types, each with its own article in this category: | Channel | What it's for | | --- | --- | | WhatsApp Web (WazMeow) | Connect a number via QR pairing, no official API | | WhatsApp Cloud (Embedded Signup) | Official number via Meta's API | | Coexistence | Sync history and contacts from the official app into Cloud | | WhatsApp Hub | Groups, communities, channels and status | | WhatsApp Inbox Suite | Templates (HSM), Flows and Calls inside the inbox | | Website / Widget | Live chat on your website | | Email | Email support via forwarding or IMAP/SMTP | | Social | Facebook Messenger, Instagram and TikTok | | Voice | Voice calls and AI calls | | API | Generic channel for custom integrations | Use cases - Run multiple WhatsApp numbers and the website on the same screen, without switching apps. - Split inboxes by team (Sales, Support) with distinct assignment rules. - Connect a number via WhatsApp Web to get started fast, then migrate to the Cloud API later. Tips, limits & best practices - Start with one well-configured channel before connecting all the others. - Name each inbox clearly (e.g. "WhatsApp Sales", "Website Support"). - Some channels and features depend on permission, plan or activation β check the prerequisites in each article. Troubleshooting - I can't create an inbox: confirm your user is an administrator. - I don't see a channel type: the channel may not be enabled for your account β talk to whoever runs the operation. See also - Connect WhatsApp Web via QR (WazMeow) - WhatsApp Cloud with Embedded Signup - Website channel with chat widget - Inbox settings
Connect WhatsApp Web by QR pairing
Overview The WhatsApp Web channel connects a WhatsApp number without using Meta's official API: you pair the number by scanning a QR code with the phone app, exactly like you do with WhatsApp Web in the browser. It's the fastest way to start handling WhatsApp, ideal for personal numbers or small operations that don't yet have an official account (Cloud API). Once paired, every incoming and outgoing message starts appearing in the platform's conversations, with media, delivery/read receipts and real-time replies. Prerequisites - An administrator role to create the inbox. - A phone with WhatsApp installed and the number you want to connect. - The WhatsApp Web channel depends on a connection service enabled for your account (provisioned by the operator). If you don't see this channel type, talk to whoever runs the operation. - The phone needs internet to keep the session alive (just like WhatsApp Web in the browser). Step by step 1. In Settings β Inboxes, create a new inbox and choose WhatsApp. 2. Select the WhatsApp Web provider (QR pairing). 3. Give the inbox a name (e.g. "WhatsApp Sales"). 4. The platform shows a QR code on the setup screen. 5. On the phone, open WhatsApp β Linked devices β Link a device and point the camera at the QR. 6. Wait for the pairing confirmation β the real number is detected automatically and the inbox moves to the connected state. 7. Assign agents/teams and finish. Send a test message to validate. Settings & options - Connection states: the inbox shows the session's current state: - Waiting to pair: the QR has been generated and is waiting to be scanned. - Connected: the session is active and the number handles messages normally. - Disconnected: the session dropped temporarily (e.g. no internet on the phone); it reconnects on its own when possible. - Logged out: the session was terminated. The inbox reports the cause β logged out from another device (the normal case when Coexistence is activated on that number), primary device was logged out (phone switch or a number ban) or logged out for unknown reason. In all three the fix is the same: pair again by scanning a new QR on the inbox's connection screen β and nothing is lost. - Re-pair: if the session expires or is disconnected, generate a new QR on the inbox screen and scan again. - Optional exit routes: managed proxy and your own device appear on the Connection tab only when the matching account feature is enabled. If neither is enabled, the inbox uses the server exit and the screen does not show inactive route controls. - Real-time activity: the panel shows when the contact is typing or recording audio. In groups, it shows the participant performing the action. - Media: images, videos, audio, documents and other files can be up to 100 MB on WhatsApp Web. This device-connection limit does not change WhatsApp Cloud limits. Private notes continue to follow the installation's general attachment limit. - History sync: after pairing or reconnecting, large batches are imported incrementally in the background. Your team can keep handling conversations while history appears. - Group contacts (Features tab): two independent options control this β Sync contacts (imports the member list; off by default) and Create contacts for group/community senders (on by default). To keep no participant in your contact list, turn both off. Details β plus the per-inbox ignore list β in Ignore list and contact sync. Use cases - Start handling WhatsApp in minutes, with no Meta approval process. - Connect a personal or small-team number that isn't an official account yet. - Operate while the official account (Cloud API) is still being verified. Tips, limits & best practices - Anti-ban: respect WhatsApp's limits. Avoiding mass sends, repeated identical messages and adding many new contacts at once lowers the risk of being blocked. The platform applies a send control (throttle) per number to smooth out spikes. - Keep the phone connected to the internet; if it stays offline too long, the session drops. - Advanced interactive features (buttons, lists) may require a specific license from the connection service. - For high volume and the official green badge, consider migrating to WhatsApp Cloud. Troubleshooting - βNo WhatsApp Web service is availableβ: there is no active online connection instance available to create the inbox. This is not caused by the number or proxy choice; ask the platform operator to check the gateways and try again later. - βThe WhatsApp Web service credentials are invalidβ: the gateway rejected its operational credential. The platform operator must correct it; the account administrator should not change the number or recreate the inbox to work around the error. - The QR won't scan: generate a new QR (it expires) and try again with good lighting. - Dropped to "disconnected": check the phone's internet; the session should come back on its own. - "Logged out" state: the device was removed on the phone β pair again. - It went to "logged out" right after activating Coexistence (Cloud) on that number: this is the expected behavior β activating Coexistence unlinks every companion device from WhatsApp Business. Generate a new QR on the inbox's connection screen and pair again. Nothing is lost: the same inbox is reused β phone number, conversations, contacts and history all stay. - The inbox paired but nothing arrives: the number may be stuck on a pending placeholder because another inbox already holds that number β in the same account (same provider) or in another account. The pairing screen shows the reason. Release or remove the inbox holding the number, then pair again. - Messages don't arrive: confirm the inbox is connected and the number wasn't blocked by WhatsApp. - History is still incomplete after reconnecting: allow the background import to finish; busy accounts can arrive in several batches. Do not re-pair during the import. See also - WhatsApp Cloud with Embedded Signup - WhatsApp hybrid inbox: Coexistence (Cloud) + WhatsApp Web - WhatsApp Hub: groups, communities, channels and status - Inbox settings - Inboxes and channels overview
WhatsApp Web calls: enable, video, group, recording and AI
Overview A WhatsApp Web inbox can receive and place voice, video and group calls directly from the platform. The agent answers in an in-browser softphone (accept, reject, hang up, and two-way audio), and every call is logged in the contact's conversation, alongside the messages. Beyond traditional calls, the WhatsApp Web inbox offers two optional features you turn on in settings: recording the call (which plays back inside the conversation) and AI auto-answer, where an assistant answers the call for you. Video and group calls have their own per-inbox switch, so you can release each one at your operation's pace. This page is for administrators: how to enable calls, recording and AI on a WhatsApp Web inbox. For day-to-day usage, see the agent guide for calls. Prerequisites - An administrator role to configure the inbox. - A WhatsApp Web inbox already created and in the connected state (see Connect WhatsApp Web by QR pairing). - The voice/calls feature enabled for your account β it's optional; if the calling tab doesn't appear, confirm the enablement with the operator. - The WhatsApp Web connection service must have calls enabled. When you turn calls on, the session is reconnected so it starts signaling calls β this is normal and takes a few seconds. - For AI auto-answer, the artificial intelligence features enabled on the account. - An up-to-date browser and microphone permission granted by the agent who will answer. Step by step 1. Go to Settings β Inboxes and open the desired WhatsApp Web inbox. 2. Open the Calling tab/section. 3. Turn on Enable calls. The platform reconnects the session so it starts signaling inbound and outbound calls. 4. (Optional) Turn on Record calls to log each call's audio in the conversation. 5. Check the Video calls and Group calls switches. Both come on; turn off whichever your operation is not going to use yet. 6. (Optional) Turn on AI auto-answer and choose the call assistant that will answer. 7. Save. Make a test call and confirm it appears in the contact's conversation. Settings & options - Enable calls: turns on voice handling for the inbox. Required to receive and place calls. - Record calls: records the call audio; when it ends, the recording becomes available to listen to inside the conversation itself. - Video calls (calls.video_enabled): releases camera and screen sharing on this inbox. It shows up only on WhatsApp Web inboxes and is on by default. When off, the video button disappears for agents and an attempt to turn the camera on is refused with a notice β audio calls keep working. - Group calls (calls.group_calls_enabled): lets agents start calls on WhatsApp group conversations. It also shows up only on WhatsApp Web inboxes and is on by default. When off, the call button is not offered on group conversations. - AI auto-answer: an AI assistant answers the call automatically. Use it when you want triage or handling without depending on an available human agent. - Agent microphone: each agent grants the browser's microphone permission on the first call. Use cases - Serve customers over WhatsApp calls without leaving the conversation, with history and assignment. - Keep call recordings for review, quality or training. - Let AI answer calls after hours or during demand spikes. - Run a video demo, or bring the customer and their team together on a group call. Tips, limits & best practices - A WhatsApp call holds up to 32 people (you + 31 participants). On larger groups the agent picks a subset of up to 31 to call. - Video needs a browser with WebCodecs (Chrome, Edge or Safari 16.4+) on the agent's computer. Without it, video is unavailable for that agent and audio calls keep running normally. - Turning Video calls or Group calls off does not drop anything in progress: it applies to the next calls. - When you enable or disable calls, wait for the session to reconnect before testing. - Recording: notify participants when your policy requires it; treat recordings as sensitive data. - Keep the paired phone connected to the internet β without an active session there are no calls. - Respect WhatsApp's limits (anti-ban): avoid abnormal volumes of messages and back-to-back calls. Troubleshooting - I don't see the Calling tab: the voice feature may not be enabled for your account β talk to the operator. - I enabled it but no call rings: confirm the inbox is connected and that the session reconnected after turning calls on. - The recording doesn't appear: check that Record calls is on; the recording is only available after the call ends. - The agent doesn't see the video button: check the Video calls switch on this inbox and the agent's browser (Chrome, Edge or Safari 16.4+). - I can't call on a group conversation: check the Group calls switch; if the group has more than 32 people, the agent must select up to 31 participants. - AI doesn't answer: confirm the AI features are enabled and that AI auto-answer is on with an assistant selected. See also - Agent guide for WhatsApp Web calls - Connect WhatsApp Web by QR pairing - Voice channel: calls and AI calls - Inbox settings
Agent guide for WhatsApp Web calls
Overview When a WhatsApp Web inbox has calls enabled, you handle calls without leaving the platform, using the in-browser softphone. You can accept, reject, talk with two-way audio, and hang up β all inside the contact's conversation. Beyond voice, the platform supports video calls, group calls (on WhatsApp group conversations), screen sharing, in-call reactions and raised hand, and a live panel with the participants' video mosaic β which you can take fullscreen and rearrange by spotlighting whoever is speaking. This page is for agents: how to use calls day to day. To enable calls, recording and AI, see the setup guide. Prerequisites - A WhatsApp Web inbox with calls enabled by the administrator. - Microphone permission granted to the browser (the platform asks on the first call). - Being online on the platform to receive calls. - A headset with microphone is recommended for better quality. Step by step 1. Receive a call: when the contact calls, a ringing call prompt appears with accept and reject buttons. 2. Accept: click Accept. The first time, allow the browser's microphone. 3. Talk: audio flows both ways. The call is tied to the contact's conversation. 4. Hang up: click Hang up to end the call. 5. Reject: if you can't take it, click Reject β the call is logged as rejected. 6. Listen to the recording: if recording is on, when the call ends the recording appears in the conversation and you can play it right there. 7. Call the contact: open the contact's conversation and use the call action to start an outbound call through the WhatsApp Web inbox. 8. Video call: use the video button next to the call button to dial with your camera; on a live voice call, open the live panel and turn the camera on to upgrade to video. 9. Group call: on a WhatsApp group conversation, the call button lets you call everyone (up to 31 participants besides you) or choose participants. 10. Share your screen: during a call, use the screen share control in the live panel β it replaces your camera while active. 11. View fullscreen: in the video panel, use View fullscreen to fill the screen with the mosaic and the controls. Exit fullscreen or the Esc key returns the panel to its normal size; with the panel open, the F key also toggles fullscreen (except while you are typing). 12. Spotlight a participant: on the tile of the person you want to follow, use Spotlight β the mosaic becomes a layout with that person large and the others as thumbnails. The spotlighted tile keeps a highlighted border; use Leave spotlight to return to the grid. 13. Recover a frozen video: if someone's picture freezes while their audio continues, use Recover video on that person's tile β the picture returns on the next keyframe. 14. Ring someone who didn't answer: on a group call, open the Call participants panel. Each person shows their state (On the call, Ringing or Left) and, for anyone not on the call yet, a Ring again action rings only them. Settings & options - Accept / Reject / Hang up: softphone controls during the ringing or in-progress call. - Participants panel: lists who is on the call, who is still ringing and who left, with a per-person ring again action. - Fullscreen and spotlight: two ways of watching the video β fullscreen enlarges the whole panel; spotlight picks one person for the main area. Both are yours alone; nobody else sees the change. - Recording in the conversation: when enabled by the administrator, an ended call leaves an audio to listen to inside the conversation. - Outbound call: start a call from the contact's conversation. - Logging: every call (answered, rejected or missed) is logged in the conversation and the reports. Use cases - Solve a question by voice in the middle of a text conversation, without switching tools. - Return a missed call directly from the contact's conversation. - Review later what was agreed by listening to the call recording. - Follow whoever is presenting on a group call, using spotlight and fullscreen. - Insist with someone who missed the first ring, without ending the group call. Tips, limits & best practices - Video needs a browser with WebCodecs (Chrome, Edge or Safari 16.4+); without it the video button explains why and audio calls keep working. - WhatsApp calls hold up to 32 people (you + 31 participants); larger groups require picking a subset. - If a participant's video freezes while their audio continues, use Recover video on that participant's tile β the picture returns on the next keyframe. - Missed call: if nobody answers (or everyone rejects), it's logged as missed in the conversation; agree with the team who returns it. - Respect WhatsApp's limits (anti-ban): avoid long sequences of messages and mass calling. WhatsApp has soft limits (for example, around ~240 messages per hour per number) that, if exceeded, raise the risk of being blocked. - Use a quiet environment and a headset with microphone for a clearer call. - Keep the paired phone connected to the internet β without an active session, calls won't work. Troubleshooting - The call doesn't ring for me: confirm you are online and that the WhatsApp Web inbox is connected. - No audio or muted microphone: check the browser's microphone permission and the selected audio device. - I can't call the contact: confirm calls are enabled on the inbox and that the session is connected. - The recording doesn't appear: recording may be off β confirm with the administrator; it only shows up after the call ends. - I don't see the video or group call button: the administrator may have turned Video calls or Group calls off on that inbox. - A participant stays "Ringing" and never joins: use Ring again in the participants panel; if they show up as Left, their call dropped or was ended on their side. - Fullscreen doesn't enlarge the picture: video keeps its original aspect ratio β on wide screens there are bars on the sides. Spotlighting the participant uses the space better. See also - WhatsApp Web calls: enable, recording and AI - Connect WhatsApp Web by QR pairing - Voice channel: calls and AI calls - Inboxes and channels overview
Ignore list and contact sync on WhatsApp Web
Overview Three tools give you full control over what a WhatsApp Web inbox imports. Two of them live on the Features tab and are independent β they are different contact-creation paths, and turning one off does not turn the other off: - Sync contacts (Features tab): imports the member list of the groups and communities the number belongs to as platform contacts. It ships off by default β no member list is imported unless you ask for it. When enabled, contacts are created with their real name and phone; community participants with hidden data are created as a "Private contact" and completed automatically once their number becomes known. - Create contacts for group/community senders (Features tab): controls the other path β the person who sends a message inside a group or community. It ships on, so no already connected inbox changes behavior. If participants keep becoming contacts even with "Sync contacts" off, this is the option you need to uncheck. With it off the message still arrives and the bubble still shows the sender's name and phone number β only the contact is not created. - Ignore list (Ignored tab): numbers, groups and channels that must never create a contact, conversation or message on this inbox β nor receive outbound sends. Perfect for announcement groups, bot numbers and channels outside your support flow. Prerequisites - Administrator profile. - An existing WhatsApp Web inbox (paired or not). Step by step Control group contact import 1. Open Settings β Inboxes β your WhatsApp Web inbox β Features. 2. Toggle Sync contacts (member list). 3. Toggle Create contacts for group/community senders. 4. Click Save changes. To keep no group participant in your contact list, turn both off. Ignore numbers, groups and channels 1. Open the inbox Ignored tab. 2. To add one entry, type the value in the Add field β the type is auto-detected: - Number/contact: 5511999999999, +55 11 99999-9999 or 5511999999999@s.whatsapp.net - Group: 120363043211123456@g.us - Channel: 120363144038483540@newsletter 3. To add many at once, click Import: paste the list (one per line, or comma-separated) or upload a .txt/.csv file. The report shows how many were created, duplicated and invalid (with a per-line reason). Settings & options - Types: each entry gets a badge β Contact, Group or Channel. - Search and filter: search by number/ID and filter by type. - Removal: delete entries individually or select several and use Delete selected. Use cases - Keep announcement groups and communities from generating thousands of irrelevant contacts. - Block bot/spam numbers before they create conversations. - Keep news channels out of the support flow. Tips, limits & best practices - Blocking works both ways: inbound messages from an ignored entry are dropped and outbound sends to it are refused with a clear error. - Detection works even when WhatsApp delivers the event with a LID address (anonymous identifier): the platform resolves the LID to the real number automatically. - Adding a rule does not delete existing contacts and conversations β it only blocks new traffic. Remove manually anything you don't want to keep. - Ignoring a community does not ignore its sub-groups β add each group you want blocked. - Both contact options apply only to groups and communities. One-to-one chats, channels and status keep creating contacts as usual β without one the conversation would have no owner. - Turning Create contacts for group/community senders off does not delete contacts already created: it only prevents new ones. Remove manually anything you don't want to keep. - With no participant contact, the click-through to a profile from a group bubble goes away and rules that depend on the sending contact in a group conversation find nobody. To block a specific person, use the Ignored tab. Troubleshooting - An entry was rejected on import: check the format β numbers need country code + area code (8 to 15 digits); groups end with @g.us; channels with @newsletter. - Messages from an ignored number still appear: confirm the rule was created on this inbox (the list is per inbox) and the value matches the real number with country code. - Group contacts keep being created: Sync contacts only covers the member list. Whoever sends a message in the group arrives through a different path β also uncheck Create contacts for group/community senders on the Features tab. See also - Connect WhatsApp Web via QR pairing - WhatsApp Hub: groups, communities, channels and status
When WhatsApp looks connected but nothing arrives
Overview There is a classic silent failure on WhatsApp Web: the session stays up, the panel says Connected, and yet no new message reaches the inbox. The channel goes mute without ever looking sick. Until now the Account health panel could not show this, because its indicators were not measuring delivery: - Last activity was the moment the channel record was last saved β and it gets saved for several reasons that have nothing to do with receiving a message. The timestamp looked fresh even when the channel had been silent for days. - The panel never showed the state of the event subscription, which is exactly the link that can break without taking the session down with it. The panel now has an Event delivery row, Last activity is the last message actually received, there is an amber connected but no traffic warning, and there is a button to reconnect event delivery without leaving the screen. Prerequisites - A WhatsApp Web inbox that is already paired. - Access to Settings β Inboxes β (the inbox) β Account health. - Any agent can read the panel. Only administrators can use the reconnect event delivery button. Step by step 1. Open Settings β Inboxes and pick the WhatsApp Web inbox. 2. Go to the Account health tab. 3. Read these three indicators, in this order: - Connection β is the session up? - Event delivery β is the path to this inbox registered? - Last activity β when did the last real message arrive? 4. If Event delivery is red (Not registered), or if Last activity is amber, click Reconnect event delivery. 5. Wait for the confirmation. The panel refreshes itself with the result in the same action. 6. Ask someone outside (another phone, not the paired device) to send a message to the number and confirm it shows up in the inbox. 7. If the test message arrives, the channel is delivering. If it does not, go to the troubleshooting section. The panel refreshes itself every 30 seconds while the tab is open and shows the time of the last refresh. There is also a manual refresh button. Settings & options Each row answers a different question. Reading them as if they all meant the same thing is what created the false sense of health. | Indicator | What it actually measures | When it deserves attention | | --- | --- | --- | | Phone number | The number paired to this inbox | Shows pending until pairing completes | | Connection | Whether the WhatsApp Web session is online right now | Disconnected, Banned, Reauth required or Pending pairing | | Service reachable | Whether the WhatsApp Web service is responding | No means an infrastructure issue, not a problem with your number | | Logged in | Whether the account has an active, paired session | No means pairing has to be redone | | Ban status | Whether WhatsApp applied a temporary ban to the device | Any value other than clear | | Reauthorization | Whether WhatsApp invalidated the session (e.g. remote logout) | Yes β you must pair again | | Event delivery | Whether the path for incoming events into this inbox is registered | Not registered β nothing will arrive until you reconnect | | Last activity | Date and time of the last message received in this inbox | Turns amber when the channel is connected and has been silent longer than expected | | Connection ID | Internal identifier of this connection | Only useful when contacting support | Colors always follow the same logic: green is normal, amber asks for a look, red is a problem that requires action. The reconnect event delivery button - It re-presents this inbox's delivery address to the WhatsApp Web service. - It is idempotent: click it as many times as you like, with no side effects. Reconnecting twice is the same as reconnecting once. - It does not disconnect the session, does not log out, does not ask for the QR code again, does not erase conversations and does not discard messages already received. - When it finishes, the panel comes back with refreshed values. Use cases - The team reports that "messages stopped arriving", but the screen says Connected. This is exactly the scenario the Event delivery section exists to reveal. - After maintenance, an upgrade or a restart of the WhatsApp Web service. That is when the delivery registration is most likely to be lost without the session dropping along with it. - A weekly check on low-volume numbers. On those numbers silence is common, so a failure takes a long time to be noticed through normal support traffic. - Before escalating a customer complaint. Confirming whether the message arrived at all is the first step, before investigating queues, routing or agent handling. Tips, limits & best practices Be honest about what this warning is β and above all about what it is not. - The warning is based on time without a received message, and nothing else. It measures silence, not integrity. It does not test the connection and does not try to deliver anything to verify. A channel flagged as silent may be perfectly healthy and simply quiet. - The opposite is also true: green only means something arrived recently. It is not a guarantee that the next message will arrive. - Only received messages count. Messages sent by your team do not count. A number used only for outbound campaigns will look silent even while working. - The warning takes about two days. It does not appear after a few minutes of silence, and it only appears while the connection reads Connected. - A brand-new inbox is never flagged. An inbox less than two days old does not get the warning, precisely so it does not accuse a channel that has simply not received its first message yet. - The lookup covers the last 30 days. If there is no message in that window, the panel reports at least 30 days β an honest floor, not the exact date. The silence may be much older. - Normal silence exists. Weekends, holidays, overnight hours, low season and seasonal numbers all produce amber without anything being broken. Treat the warning as an invitation to check, not as a diagnosis. - The definitive confirmation is always the test message. No indicator replaces sending a message from another device and watching it show up. - Reconnecting does not fix everything. It repairs a lost delivery registration. It does not fix a powered-off phone, an unpaired number, an invalidated session or a ban. Troubleshooting | Symptom | Likely cause | What to do | | --- | --- | --- | | Event delivery shows Not registered | The delivery registration was lost (common after service maintenance) | Click Reconnect event delivery and test from another phone | | Connected, Last activity amber, weekend or low-volume number | Normal silence | Confirm with a test message; if it arrives, ignore the amber | | Connected, amber, and the test message does not arrive | Delivery interrupted even with the session up | Reconnect delivery, wait a few seconds, test again; if it persists, contact support with the connection ID | | Connection shows Reauth required | WhatsApp invalidated the session (e.g. logged out from linked devices on the phone) | Pair again; delivery cannot work without a valid session | | Connection shows Banned | Temporary ban applied by WhatsApp | No delivery action fixes this; wait out the period and review sending volume and pace | | Connection shows Pending pairing | The inbox was never paired | Complete pairing by scanning the QR code on the phone | | Service reachable: No | The WhatsApp Web service is not responding | This is not about your number; contact whoever operates the installation | | The reconnect button returns an error | You are not an administrator, or the service is down | Ask an administrator; if it fails for them too, check Service reachable | | Everything green, but the customer swears they sent it | They may have written to a different number, or the sender is on the ignored list | Confirm which number the customer used and review the inbox ignored list | See also - WhatsApp Web with WazMeow - WhatsApp Web ignored list - Inbox settings - Inboxes and channels overview
Managed proxies for WhatsApp Web inboxes
Overview When the Managed WhatsApp Web proxy feature is enabled, Conversa Labs reserves a proxy route before creating the inbox. Provider credentials remain under platform-operator control and are never shown to account administrators or agents. Automatic is the recommended option. The platform selects a healthy route using region, provider priority, latency and capacity. After pairing, the phone's country code (DDI) may cause one soft reconnect to refine the region. The assignment remains fixed for the inbox, and residential gateways use a sticky session identity. The flow is fail-closed: if no healthy proxy has capacity, creation is blocked before pairing. The inbox never connects directly without notice. After a later failure, failover tries another approved route; without a safe replacement, the session is held. Prerequisites - The platform operator has added and tested at least one active proxy connection. - The Managed WhatsApp Web proxy feature is enabled for your account. - An account administrator can create a WhatsApp Web inbox. - The phone is available to scan a QR code or enter the pairing code. The only accepted providers are Webshare, Bright Data and a custom endpoint deliberately supplied by the operator. Plan purchase and administration take place outside Conversa Labs. Credentials by provider: - Webshare: an API key can automatically synchronize the static proxy inventory; gateway/backbone mode can use the proxy's native username and password. Use the credential type supported by the purchased connection mode. - Bright Data: use the Zone username, such as brd-customer-...-zone-..., and Zone password from Proxies β Access details. Do not use a REST API key. For HTTP mode, the defaults are brd.superproxy.io and port 44445 (older accounts and the Proxy Manager still use 33335; if a connection test fails on one, try the other). - Custom: the operator supplies the protocol, host, port, capacity/region and, when required, a username and password. Register only controlled and trusted endpoints. Step by step 1. Go to Settings β Inboxes β Add inbox β WhatsApp Web. 2. Enter the inbox name. 3. Under Managed connection proxy, keep Automatic (recommended) or choose an available country. 4. Configure the remaining options and click Create WhatsApp Web channel. 5. If the platform reports that no safe route is available, do not continue in direct mode. Ask the operator to restore capacity and try again. 6. Once the reservation is confirmed, click Connect WhatsApp and pair by QR code or phone code. 7. After pairing, the platform confirms the DDI and refines the region when needed. This does not create another inbox. Going back to direct egress (no proxy) An inbox already on a managed proxy can go back to exiting through the server IP: 1. Open Settings β Inboxes β your inbox β Connection. 2. On the network route card, choose No proxy (direct egress). 3. Click Use direct egress. The proxy reservation is released and the gateway exits directly. The option stays available even if the proxy feature is later disabled on the account β otherwise the inbox would be stuck on the old route. An inbox routed through your own device cannot be returned to direct egress here: the gateway only tears that route down by deleting the session, which disconnects WhatsApp. Settings & options - Automatic: chooses the best healthy route using geography, priority, health, latency and capacity. - Country selection: requests a region. Another approved region may be chosen when the preferred one is unavailable; without any safe route, creation is blocked. - Fixed assignment: a static or dedicated endpoint remains reserved for the inbox. - Sticky gateway: rotating/residential providers receive a stable session identity for the inbox. - Automatic failover: repeated health failures move the inbox to another approved endpoint. A cooldown avoids rapid route changes. - Safe hold: if the approved pool is unavailable, the connection is held; there is no automatic direct fallback. Use cases - Keep the WhatsApp Web session close to the phone number's country. - Give each inbox a stable dedicated IP or sticky residential identity. - Distribute many inboxes across approved subscriptions without exposing credentials. - Fail over between trusted routes without allowing silent direct egress. Tips, limits & best practices - Prefer stable, dedicated/static endpoints when your provider offers them. Avoid unnecessary region or identity changes. - A proxy improves routing isolation but does not bypass WhatsApp policies, messaging limits or account quality controls. - Never paste provider credentials into the inbox wizard. Account administrators only choose the routing preference. - For Bright Data, the required password belongs to the proxy Zone, not the account password or an API key. - For Webshare, immediately revoke any API key exposed in a screenshot, chat or log. - If you choose a country manually, use the country where the number is normally operated. - Pausing a provider prevents new assignments. Without an approved replacement, affected routes are held. - In a hybrid inbox (WhatsApp Web paired with Cloud), the route only applies to traffic leaving through WhatsApp Web. Messages sent through the Cloud API always exit from the server's own IP, whichever proxy is selected. The route is managed on the Connection tab of the pair's WhatsApp Web inbox β the Cloud inbox's Hybrid tab shows the current route and links to it. Troubleshooting - The proxy section is not visible: ask the operator to enable the feature for your account. - No countries are listed: inventory may be synchronizing or have no healthy capacity. Wait for it to recover; creation will not use a direct connection. - Creation was blocked because no route was available: this is intentional. The operator must test provider credentials, health, capacity and regions before you try again. - Bright Data asks for credentials: copy the Zone username and password from Proxies β Access details. Do not create an API key for this adapter. - Webshare does not synchronize static proxies: confirm the API key and selected plan. For gateway/backbone mode, check the native username, password, host and port. - A custom endpoint fails: check protocol, DNS/host, port, authentication, capacity and whether the Conversa Labs server can reach it safely. - The session reconnects once after pairing: the phone's DDI differed from the initial estimate and the route was refined. This is expected. - Repeated disconnections: check provider health. Failover uses only approved endpoints; if all are offline, the inbox is held. See also - Connect WhatsApp Web by QR pairing - WhatsApp hybrid inbox - WhatsApp Inbox Suite
Connect WhatsApp Web through your phone: step by step
Overview This is the hands-on guide to the phone connection for WhatsApp Web: the whole path, in the order it really happens, for someone doing it for the first time. If you would rather first understand what the feature is, what it promises and what it does not do, read Use your phone connection for WhatsApp Web. The work has two halves, and they are usually two different people: 1. Prepare the network connection β once per account. This is whoever owns the Tailscale account: an administrator of this account, or the platform operator when the network is shared by them. 2. Enrol the phone and route the inbox β always an administrator of this account, with the phone in hand. This feature is in a closed development pilot and ships disabled. It has no SLA and is not approved for production. There are two different QR codes in this flow. The first one puts the phone on the network. The second one pairs the WhatsApp session under Linked devices. One does not replace the other. Prerequisites Go through this list before opening the wizard. Every item below has already sunk an entire enrolment three screens away from the real error β checking now costs two minutes. - A Tailscale personal access token β required, not optional. Tailscale publishes no OAuth scope that covers invitations. An OAuth client alone reads devices and creates route keys, but can never invite a phone. Without the token the connection can be saved, the test can partly pass, and enrolling the phone fails later. The token expires in 90 days and has to be replaced before that. - The "Network name (tailnet)" field wants the Tailnet ID, not the display name. The Tailnet ID is the identifier Tailscale uses for API calls. The display name usually works, but contains characters that are easy to mistype β when the screen says the network does not exist, this is almost always why. - The tag has to be authorised in the policy file. The wizard shows a snippet ready to paste into the tagOwners section. Without that authorisation, the keys that put the account on the network are refused, and the failure surfaces far from this screen. - The plan has to allow the people who join the network. Tailscale's Personal plan is free but allowed for non-commercial use only. Business use starts on a paid plan, billed per person who joins the network β one person per phone you enrol. - The phone has to be sharing its exit. Installing the app and signing in is not enough: "Run as exit node" is a separate button, off by default. While it stays off, the device shows up on the network and the screen waits forever. - An account administrator role to create or reconfigure a WhatsApp Web inbox. - The Phone connection pilot enabled for this account by the platform operator. - An Android phone or iPhone with the official Tailscale app. - Access to the email address that will be used to sign in to Tailscale on the phone. - Stable Wi-Fi or mobile data, and preferably the device on power. Where each value comes from: | Wizard field | Where it lives in Tailscale | |---|---| | Network name (tailnet) | Settings β General β Tailnet ID | | OAuth client ID and secret | Settings β Trust credentials (the page once called "OAuth clients") | | Personal access token | Settings β Keys | | Tag snippet | copied from the wizard itself and pasted into the policy file, tagOwners section | When you create the OAuth client, grant only devices:core, devices:routes and auth_keys, and select the tag the wizard shows. Do not grant users: nothing here uses that scope, and it includes user deletion. Step by step 1. Prepare the network connection (once per account) 1. Go to Settings β Inboxes β Add inbox β WhatsApp Web and pick Use my phone as the connection source. 2. If no network is ready, the wizard opens Connect your own network account, with three steps and everything ready to copy. If your operator already provides the network, this block appears as managed and you can skip straight to step 9. 3. Create a Tailscale account, if you do not have one. 4. Add the tag to your policy file: copy the snippet shown and paste it into the tagOwners section. 5. Create an OAuth client with the three scopes listed above and select the tag. 6. Generate the personal access token under Settings β Keys. 7. Fill in Network name (tailnet), OAuth client ID, OAuth client secret and Personal access token, then click Save connection. Credentials are stored encrypted; leaving a field blank keeps the current value. 2. Test the connection before moving on 8. Click Test connection. The test no longer just counts devices: it exercises the three capabilities the enrolment depends on, and shows the result of each under What this connection can do. | Capability | What the test does | If it fails | |---|---|---| | Read the devices on the network | lists the tailnet's devices | check the Tailnet ID and the credentials | | Invite a phone | creates a throwaway invitation and revokes it right after | almost always the missing personal access token | | Create a route key | creates a key that lives 60 seconds and revokes it right after | check the auth_keys scope and the tag in the policy file | The test does not stop at the first failure: it shows the whole picture at once, with the date of the last check. A failed capability does not prevent saving the connection β but enrolling a phone will stop exactly there. Fix it before calling someone with a phone in their hand. 3. Enrol the phone 9. Read and accept the four confirmations about the network, battery and data, IP isolation and the calling limitation. They are required to continue. 10. Enter the email that will be used on the phone and click Create temporary link. 11. On the phone, scan the QR code or open the link. It is shown once only, expires in five minutes and must not be shared. 12. Install or open Tailscale, sign in with exactly that email and accept joining the network. 13. In the app, open Exit Node and tap Run as exit node. If it shows "Disabled" next to it, that is the current state β tapping is what turns it on. The five minutes are for opening the link: once the device is on the network the deadline grows, so you have time to find that button calmly. 14. Go back to the wizard and wait for Phone connected. If more than one device appears, pick explicitly the one you have just enrolled, comparing name and platform. Shortcut. If the phone is already on your network, turn Run as exit node on before creating the link. The wizard recognises the device that already advertises sharing and enrols it straight away, with no clock running. 4. Route the inbox 15. Under Your phones, click Use for this inbox on the chosen device and finish creating the channel. 16. When the WhatsApp QR appears, open WhatsApp β Linked devices β Link a device and do the normal pairing. 17. On an inbox that already exists, the path is Settings β Inboxes β your inbox β Connection β Change route, then Route through this phone. Settings & options - If the device becomes unavailable: the default is Hold messages until the device is back. The alternative, Keep sending through the default exit, keeps the inbox working, but WhatsApp starts seeing the session leave from a different IP while the phone is away β which raises the risk for the number. - One inbox per phone: the pilot's safe limit. The device stays reserved while the inbox keeps an active route. - Pause / Resume / Remove a device: under Your phones. An active route has to be released first; removing a phone means enrolling it again to use it. - Swap phones: Change route β Switch to this phone. The previous route stays in force until the new one is applied. - Check exit: shows the IP the inbox is leaving from right now. If the gateway is too old to answer, the screen says so instead of inventing a result. Taking the inbox off the phone You can now remove the phone route and return the inbox to a managed proxy or to the server's direct exit β without creating a new inbox and without pairing the number again, which is what it used to require. Do it under Connection β Change route, choosing the managed proxy. Before you confirm, know what changes: - The other side starts seeing a different IP. From the next connection on, the session leaves through whatever proxy the inbox already had configured or, when there is none, straight out through the server's internet. To WhatsApp that is a change of origin β and a change of origin weighs on how a number is judged. That is why removal is always an explicit, confirmed decision, never automatic and never a fallback: if the phone drops, the hold policy keeps holding the messages, and the platform does not swap the route on its own. - The inbox reconnects. What is removed is the network path, not the WhatsApp session: a healthy, already-paired inbox stays paired. If the inbox was stuck waiting for a QR code, the old code stops working and a new one appears β scan the new one. An inbox you had deliberately turned off stays off. - Repeating is safe. Ask twice and the second answer simply says there was no route left. If the network does not respond halfway through, try again: the operation is built to be repeated without breaking anything. Use cases - Getting the first phone-routed inbox live without discovering the prerequisites one at a time, by trial and error. - Validating a real residential route using the connection of the person who owns the number. - Swapping the device serving an inbox when the original phone will be off the air. - Returning an inbox to a managed proxy after the test, deliberately, knowing the IP WhatsApp sees changes. Tips, limits & best practices - Write down when the personal access token expires. Ninety days. When it lapses, reading the network keeps working and inviting a phone stops working β the symptom only shows up at the next enrolment. - Test the connection whenever you change any credential. It is the only place that answers "this one can invite" before you call the person with the phone. - Keep Tailscale connected, allowed to work in the background and out of aggressive battery optimisation. - Traffic uses the device's data plan. Check the allowance, roaming and the carrier's policies. - The public IP can change when switching between Wi-Fi and mobile data, through CGNAT or by carrier decision. - The vendor warns that a phone as an exit node is not performant: routing happens in user space, with no kernel optimisation. Measure before promising performance. - Voice and video calls do not go through this route and are blocked in this mode. - Do not use another account's network and do not share the temporary enrolment link. - The feature does not prevent WhatsApp blocks and does not turn the Web connection into an official Meta API. Troubleshooting Every item below starts with the sentence that appears on screen. - "Phone connection is not enabled" β the pilot is off for this account. Talk to the platform operator; there is nothing to fix in the connection. - "Your role cannot manage the phone connection" β this screen needs an administrator of this account. - "Phone connection is not set up yet" β no network is connected. Do stage 1 of this guide, or ask the operator to enable their shared network. - "The connection cannot invite phones" β the stored credentials read the network fine, but no OAuth scope covers invitations. Save a personal access token on this connection and test again. It is the one error whose remedy is exactly that. - "The network name does not exist" β no network answers to the saved name. Use the Tailnet ID from Settings β General, not the display name. - "The network credentials were not accepted" β the credential exchange returned no authorisation at all, which usually means a wrong OAuth client ID or secret. Redo stage 1; if it persists, the operator has the full response in the log. - "The invitation was not created" β the network accepted the request and returned no invitation. No phone was enrolled and nothing was left hanging: try again. - "The invitation came without its link" β the invitation exists on the network, but the one-time link did not come with it and cannot be recovered. Cancel and create another link. - "The device list could not be read" β the network returned the list in a shape this screen cannot interpret. There is nothing to fix in the connection; the operator has the full response in the log. - "The phone is not sharing its connection yet" β Run as exit node still has to be turned on in the app, on the phone itself. Turn it on and click Check connection, or wait for the automatic check. - "The route key was not issued" β without that key the inbox cannot join the network. Try again; if it repeats, check that the OAuth client has the auth_keys scope and that the tag is authorised in the policy file. - "The chosen phone is no longer there" β the device left the network between being picked and being saved. Nothing was recorded: refresh the list and pick again. - "There was not enough time to finish" β the platform stopped before starting a step it could not have finished safely, precisely so nothing was left half-done. Try again; if it always happens, tell the operator. - "The network's answer could not be read" β the network replied with something unreadable. The connection is not wrong; the operator has the status and body in the log. - "We could not identify the cause" β the screen received a failure it does not recognise, so it cannot say what to change. Send the operator the approximate time of the attempt. - "Temporary link expired" β create another one and open it on the phone within five minutes. If the device is already on the network, turn sharing on before creating the link. - "The one-time link has already been delivered" β for safety it is never shown twice. If the phone never opened it, cancel the enrolment and create another link. - "Waiting for the phone to join" that never moves β the device only appears if you signed in to the app with exactly the email you entered. Signed in with a different one? Cancel the link and create a new one with the right email. - The inbox is held or offline β keep the phone online, check Tailscale and exit sharing, then refresh devices. With the hold policy, the platform will not use the direct exit while the phone is unavailable. - I cannot pause or remove the device β first release the inbox that still uses that phone's active route. - I want to go back to a managed proxy β you can: see "Taking the inbox off the phone" above, and confirm knowing that the IP WhatsApp sees changes. See also - Use your phone connection for WhatsApp Web - Connect WhatsApp Web by QR pairing - Managed proxies for WhatsApp Web inboxes - Inbox settings
WhatsApp Hub: groups, communities, channels and status
Overview WhatsApp Web feature. The Hub works from a number connected via WhatsApp Web (WazMeow, QR pairing). It does not rely on Meta's Cloud API. The WhatsApp Hub brings together, in one place, the WhatsApp features that go beyond 1:1 conversations: groups, communities, broadcast channels and status. From a connected number, you manage these formats directly in the platform β useful for operations that use WhatsApp not only for support, but also for content distribution and relationship at scale. The Hub is especially useful to create and organize groups with automatic rotation (launch cohorts), manage communities, publish to channels and follow status. Prerequisites - A connected WhatsApp number (WhatsApp Web/QR, depending on the feature). - A role with permission to manage the inbox. - The WhatsApp Hub may depend on specific activation/permission β if it doesn't appear, talk to whoever runs the operation. - The limits and capabilities of each format follow WhatsApp's own rules (e.g. maximum group size). Step by step 1. Open the WhatsApp Hub area from the connected number. 2. Choose the format you'll work with: Groups, Communities, Channels or Status. 3. For groups: create/manage groups and, if you wish, use automatic distribution β a smart link directs new contacts to the open group and creates the next one when the current fills up. 4. For communities: organize related groups under a single community. 5. For channels: publish broadcast messages to subscribers. 6. For status: publish and follow the number's status. Settings & options - Rotating groups (launch cohorts): set the capacity and let the platform open a new group automatically when the current one hits the limit, always pointing the link to the group with open spots. - Communities: group related groups by topic, event or cohort. - Badge in the conversation list: conversations of groups linked to a community (including the announcement group) show the Community badge in the conversation list; regular groups show Group and channels show Channel. The badge carries the community name (e.g. "Community Β· Promovaweb") and the side panel tells whether the conversation is the announcement group or a linked group. The "Community conversation" advanced filter lets you save a view with only these conversations. - Channels: ideal for one-to-many communication, with no individual replies in the same flow. - Media: text, images and other attachments supported in the applicable formats. - Mention participants (@): in a group connected via device, type @ in the reply box to open the participant list and mention one or more people β the mention arrives natively on WhatsApp (highlighted, with a notification), just like the official app. - Mentions you receive: when someone mentions a participant in the group, the message shows the person's name (@Maria Silva), not the internal WhatsApp number. This also applies to mentions written in an image or video caption. - Replying to a message (quote): the quoted block shows who was replied to (or "You", for your own message) and a thumbnail of the quoted media. Clicking the quote jumps to the original message, which flashes briefly so you can spot it; if it sits further back in the history, the conversation loads the previous pages until it is found. - Participant role in the group: on group/community messages the sender shows a badge with their role β Admin or Owner (group creator) β next to the name and phone, exactly like WhatsApp. Regular members show no badge. Text formatting (bold, italic, strikethrough, monospace) Text uses WhatsApp's own syntax β what you type is what reaches the device: | You type | It arrives as | |---|---| | *text* | bold | | _text_ | italic | | ~text~ | ~~strikethrough~~ | | ```text``` | monospace | | - item | list | | > text | quote | The broadcast composer has a formatting toolbar and a live preview: what you see there is exactly what the recipient will see. The Ctrl/Cmd + B (bold) and Ctrl/Cmd + I (italic) shortcuts work in the field. Formatting applies to every destination β groups, communities, channels and status β and also to the conversation reply box, campaigns, follow-ups and automated messages. A Mixed broadcast delivers the same formatted text to all destinations. A code block (```) keeps its contents exactly as written: nothing inside it is treated as formatting. A link written as [label](address) arrives as label: address, so the label text is never lost. What each destination accepts Not every content type exists on every WhatsApp destination. The composer warns you before the broadcast is created which destinations would be skipped, and the full table is under "See what each destination accepts": | | Groups | Communities | Channels | Status | |---|---|---|---|---| | Text | Yes | Yes | Yes | Yes | | Image, video and audio | Yes | Yes | Yes | Yes | | Document | Yes | Yes | Yes | No | | Poll | Yes | Yes | Yes | No | | Interactive (buttons, list, carousel, flow) | Yes | Yes | No | No | | Mention everyone | Yes | Yes | No | No | | View once | Yes | Yes | No | No | | Status style (colour and font) | No | No | No | Yes | When no selected destination supports the content, creation is blocked with an explanation β instead of a broadcast that is created and delivers nothing. Status style (colour and font) A text status can carry a background colour, a text colour and one of WhatsApp's fonts. Pick them in the composer (there is a preview of the status canvas) and they apply to both immediate and scheduled sends. Image, video and audio statuses use a formatted caption instead of a canvas style; audio is delivered as a voice message. Use cases - Launches with multiple groups that fill quickly and need to rotate on their own. - Communities of customers, students or partners organized by topic. - Announcement and news channels for a large subscriber base. Tips, limits & best practices - Anti-ban: creating many groups or adding many members quickly raises the risk of being blocked β go at a gradual pace. - Respect the member limits per group and other WhatsApp rules. - Use automatic distribution so you don't have to update links manually every time a group fills. Troubleshooting - The link doesn't open the right group: confirm automatic distribution is active and there's a group with open spots. - I can't create groups: check the permission and the number's connection state. - Feature doesn't appear: the Hub (or a specific format) may not be enabled for your account. - A community shows as "Group" in the conversation: run the Hub sync for the number; the community link is applied to existing conversations on the next sync. See also - Connect WhatsApp Web by QR pairing - Inbox settings - Inboxes and channels overview
WhatsApp Cloud API with Meta Embedded Signup
Overview The WhatsApp Cloud channel uses Meta's official API. It's the recommended option for businesses that want the official green badge, high volume, approved templates (HSM) and full stability. The simplest way to connect is Embedded Signup: a guided flow from Meta itself, opened inside the platform, where you sign in with your Facebook Business account and authorize the number in a few steps β with no manual token copying. At the end, the inbox is connected to your official number and ready to send and receive messages. Prerequisites - An administrator role in the platform. - A Facebook Business / Meta Business Manager account. - A phone number not in use on another WhatsApp account (or ready to migrate to the Cloud API). - Access to complete the number verification (by SMS or call). - In some environments, Embedded Signup must be enabled by the operator β if it doesn't appear, talk to whoever runs the operation. Step by step 1. In Settings β Inboxes, create a new inbox and choose WhatsApp. 2. Select the WhatsApp Cloud provider and the Embedded Signup option. 3. Click Connect with Meta. A Meta window opens over the platform. 4. Sign in with your Facebook account and select (or create) the WhatsApp Business account. 5. Choose or register the phone number to be used. 6. Complete the number verification with the code received by SMS or call. 7. Authorize the requested permissions and finish. The platform creates the inbox automatically. 8. Assign agents/teams and send a test message. Settings & options - Number and profile: the display name and business profile picture are managed in Meta; the approval status appears in Business Manager. - Templates (HSM): business-initiated messages outside the 24h window require approved templates β see the WhatsApp Inbox Suite. - Webhooks: the Embedded Signup connection automatically sets up message receiving; you don't need to paste URLs manually. - Migration: you can migrate a number currently on the official app to the Cloud API. Use cases - Run an official number with the green badge and high support volume. - Send approved templates (HSM) for notifications, confirmations and campaigns. - Professionalize the operation by moving from WhatsApp Web to the official API. Tips, limits & best practices - The messaging limit starts in a tier and grows with quality and volume β track it in Business Manager. - Keep the number quality high: avoid blocks and reports to avoid dropping a tier. - Outside the 24-hour window after the customer's last message, you can only start a conversation with an approved template. Troubleshooting - The Meta window won't open: check that the browser pop-up blocker is disabled. - Number already in use: the number must be released from the old account or migrated to the Cloud API. - Verification failed: confirm the number and try the alternative method (SMS or call). - Can't start a conversation: check whether you're inside the 24h window or use an approved template. See also - WhatsApp Cloud with a manual webhook from the Meta App Dashboard - WhatsApp Inbox Suite: Templates, Flows and Calls - WhatsApp Cloud Coexistence - Connect WhatsApp Web by QR - Inboxes and channels overview
WhatsApp Cloud with a manual webhook from the Meta App Dashboard
Overview Besides Embedded Signup (Meta's guided login), the WhatsApp Cloud channel can also be connected in manual mode: you provide the credentials of your own Meta app (API key, Phone Number ID and Business Account ID) and configure the webhook directly in the Meta App Dashboard (WhatsApp β Configuration β Webhook). This mode is ideal when you already own a Meta app, need full control over the webhook subscriptions, or use a token with limited permissions. The platform provides a single app-level callback URL that serves all your numbers and WhatsApp Business Accounts (WABAs): each event is routed automatically from the payload contents. A per-number URL is also available if you prefer to configure numbers individually. Prerequisites - An administrator profile on the platform. - A Meta app with the WhatsApp product enabled and access to the App Dashboard. - The number's API key (permanent access token), Phone Number ID and Business Account ID. - Optional but strongly recommended: the Meta app's App Secret (App settings β Basic), used to validate the X-Hub-Signature-256 signature of every incoming webhook. Step by step 1. In Settings β Inboxes, create a new inbox and choose WhatsApp. 2. Select the WhatsApp Cloud provider (manual mode, without the Meta login). 3. Fill in the inbox name, phone number, Phone Number ID, Business Account ID and API key. 4. (Recommended) Provide the App Secret to enable webhook signature verification. 5. Choose whether the platform should register the webhook automatically via the Graph API. Disable it if you prefer to configure the webhook manually in the Meta App Dashboard. 6. After creating the inbox, the screen shows the callback URL (app-level and per-number) and the verify token, with copy buttons. 7. In the Meta App Dashboard, open WhatsApp β Configuration β Webhook, paste the callback URL and the verify token and click Verify and save. 8. Subscribe the webhook fields: at least messages; we recommend also subscribing the template, number quality, account and security fields to receive administrative events in real time. 9. Send a test message to the number and confirm it lands in the inbox. Settings & options - Account Health tab (inbox Settings β Account health): shows the manual webhook panel with the URL, the token (masked, with reveal/copy), the registration status, the signature verification (HMAC) state and the registration mode (automatic or manual). - Re-subscribe: re-registers the webhook via the Graph API (available when auto-register is on). - Rotate token: generates a new verify token. In manual mode, paste the new value into the Meta App Dashboard after rotating. - Recent account events: the same tab lists the latest administrative events received β template status, number quality, account alerts, business capability and security β with severity badges. Use cases - Companies with their own Meta app that don't want (or can't) use Embedded Signup. - Operations with multiple numbers and WABAs on the same Meta app: a single callback URL serves them all; multi-entry event batches are processed in full. - Tokens with limited permissions (without whatsapp_business_management): with auto-register disabled, the platform never calls Meta's subscription APIs. Tips, limits & best practices - Always configure the App Secret: without it, webhooks are accepted without signature verification (the platform logs a warning). The installation operator can enforce signatures on every inbox globally. - Subscribe the template and quality fields in the App Dashboard: template statuses (approved/rejected/paused) then reflect on the platform in real time, without waiting for the periodic sync. - If the Meta Dashboard rejects a webhook field, save with a smaller set β the indispensable minimum is messages. - When rotating the token with auto-register disabled, remember to update the value in the Meta App Dashboard, otherwise the webhook verification fails on the next validation. Troubleshooting - "Verify and save" fails on Meta: check that the callback URL was copied in full and that the verify token matches exactly what the platform shows (no spaces). - Messages don't arrive: confirm the messages field is subscribed in the App Dashboard and the number isn't listed as inactive by the operation. - Webhook flagged as mismatched in the Account Health tab: the URL registered on Meta differs from the expected one β use Re-subscribe (auto-register) or fix the URL manually in the App Dashboard. - Administrative events don't show up: the corresponding fields (templates, quality, account, security) must be subscribed on the Meta app's webhook. See also - WhatsApp Cloud with Meta Embedded Signup - WhatsApp Cloud Coexistence - WhatsApp Inbox Suite: Templates, Flows and Calls
WhatsApp Cloud call permission: edit the message and track the answer
Overview WhatsApp Cloud feature. Call permission is a Meta requirement on the WhatsApp Cloud (official API) channel. WhatsApp Web has no such step β there the call goes out directly. Before you can call a contact over WhatsApp Cloud, Meta requires the contact to allow receiving calls. When the agent clicks the call button and the contact hasn't allowed it yet, the platform opens the Request call permission dialog, where the agent edits the text the contact will receive, with a live preview of the WhatsApp permission card and a 1,024-character limit (Meta's limit). The message sent is mirrored into the conversation as a real outgoing message β the agent sees exactly what was sent and its delivery status, just like any other message. The contact's answer is fully recorded: accept (temporary, with an expiry date, or permanent) and also decline. In both cases the platform posts a line in the conversation and notifies the agent in real time. Prerequisites - A connected WhatsApp Cloud inbox. - Calls enabled on the inbox (Settings β Inboxes β (inbox) β Calling). - The contact with a valid WhatsApp number in the conversation. - The account language set in Settings β Account β Language β it defines the default text the contact reads. Step by step 1. Open the contact's conversation and click the call button. 2. If the contact already granted permanent permission, no request is sent β the call goes out directly. 3. Otherwise the Request call permission dialog opens with a message already filled in. 4. Edit the message explaining why you want to call. The counter shows usage of the 1,024-character limit, and Preview shows the card as the contact will see it ("Can {your business} call you?"). 5. Click Send request. The message appears in the conversation as an outgoing message, with delivery status. 6. Wait for the answer. When the contact replies, you get a notification and the conversation records the outcome. 7. If they accept: the status changes to allowed and you can use Call now. 8. If they decline: the conversation records the decline and you are free to send a new request immediately, without waiting the 5 minutes. Settings & options - Default text follows the account language: the suggested text follows the account language (Settings β Account β Language), not the agent's dashboard language. That way an agent running an English dashboard doesn't send an English request to a Brazilian customer. - Per-inbox default: in Settings β Inboxes β (inbox) β Calling, the Call permission request message field sets that inbox's default text. When filled, it wins over the language default. Leave it blank to use the default. - Edit at send time: the dialog's text can be changed on every request β the default is only the starting point. - 1,024-character limit: the platform refuses a longer text instead of truncating it, so your message is never sent half-finished. - Permission status shown in the conversation: | Status | Meaning | |---|---| | Calls not allowed | The contact hasn't allowed calls yet (or declined). You must request it. | | Calls allowed until (date) | Temporary permission β expires on the date shown. | | Calls always allowed | Permanent permission β you can call without requesting again. | - The permission belongs to the contact, not to the conversation: a new conversation with the same contact already knows about the permission. - WhatsApp button in the composer: on Cloud inboxes it is always available, even with no approved templates. With no templates it opens straight on the Interactive tab β the Flows, Interactive and Catalog tabs stay reachable. Use cases - Explain the reason for the call ("let's confirm the delivery address for your order") to increase the chance of acceptance. - Standardize the text per operation or brand in the inbox field, keeping the company's tone of voice. - Continue serving by message when the contact declines the call. - Call directly, with no request at all, for contacts who already granted permanent permission. Tips, limits & best practices | Limit | Value | |---|---| | Message length | 1,024 characters (Meta's limit) | | New request in the same conversation | 1 every 5 minutes | | Per-contact quota | Set by Meta β once spent, you must wait for the window to roll | - Write a short and specific text: the contact reads this message right above the permission card, and a clear reason increases acceptance. - A decline unblocks the next request right away, but that's no invitation to insist β respect the contact's choice and continue by message. - Watch the expiry date of a temporary permission: after it, you have to request again. - Meta's quota is per contact. Firing requests back to back burns the quota and blocks even the customer who would have accepted. - WhatsApp Web has no permission step β if your operation uses both channels, don't mix up the flows. Troubleshooting - "Request already sent": there is a recent request in this conversation. The dialog tells you in how many minutes you can send another β or wait for the contact to answer. - "The permission request limit for this contact has been reached": Meta's quota for that contact is spent. Re-sending won't help; wait for the window to roll. - "The permission request message is too long": shorten the text to 1,024 characters and send again. - "This contact has already allowed calls": nothing was sent because it wasn't needed β just call. - The contact declined: the conversation shows the decline and the status goes back to Calls not allowed. You can request again later. - I don't see the call button: confirm the inbox is WhatsApp Cloud and that calls are enabled on the inbox's Calling tab. - The request went out in another language: the default text follows the account language β adjust it in Settings β Account β Language or fill in the inbox default. - The message doesn't show in the conversation: the message is only posted after Meta confirms the send; if the request failed, an error is shown instead. See also - WhatsApp Inbox Suite: Templates, Flows and Calls - WhatsApp Cloud with Embedded Signup - WhatsApp Web calls: enable, recording and AI - Voice channel: calls and AI calls
WhatsApp Cloud Coexistence: history, contacts and echoes
Overview Coexistence lets a number connected via the WhatsApp Cloud API keep being used also in the official WhatsApp Business app on the phone, at the same time the platform handles conversations. It's the "coexistence" between the app and the API: what happens on one side shows up on the other. In practice, Coexistence does three things: - Syncs the history of existing conversations from the app into the platform. - Syncs the contacts from the app into the platform. - Reflects echoes β messages an agent sent from the official app also appear in the platform's conversation, keeping a complete, single history. Activation unlinks companion devices. When you activate coexistence, Meta unlinks every companion device from WhatsApp Business β including a WhatsApp Web inbox that was already paired on that number. So always connect Coexistence first, wait for Meta's synchronization (it can take up to ~24 hours), and only then connect/pair WhatsApp Web. Re-pairing loses nothing: the same inbox is reused β phone number, conversations, contacts and history all stay. Prerequisites - A WhatsApp Cloud inbox already connected (via Embedded Signup). - The number must be in coexistence mode enabled on Meta for that number. - Coexistence is a WhatsApp Cloud feature β it does not apply to WhatsApp Web (QR). - In some environments, syncing must be enabled by the operator. Step by step 1. Connect (or confirm) the WhatsApp Cloud inbox via Embedded Signup. 2. Make sure the number has coexistence enabled on Meta. 3. After connecting, the platform starts syncing the history of recent conversations. 4. The contacts from the official app are imported into the contacts base. 5. From then on, messages sent from the official app appear automatically in the conversations (echoes), and everything the team sends from the platform also reaches the app. Settings & options - History: the sync brings the recent conversations available in the app; very old messages may not come, depending on what Meta makes available. - Contacts: the import creates/updates contacts from the WhatsApp account's address book. - Echoes: messages sent from the phone are marked as outgoing in the conversation, preserving the operation's authorship. - Media: synced attachments are also available in the conversation. Use cases - Keep handling urgent cases from the phone without losing the record in the platform. - Migrate from a 100% official-app operation to the platform without losing the history. - Keep a hybrid team (some in the app, some in the platform) with a unified history. Tips, limits & best practices - The history sync is one-time (it happens at connection/activation) β new messages arrive in real time after that. - For day-to-day work, prefer handling from the platform to benefit from assignment, automations and reports. - Since history depends on what Meta makes available, treat it as best effort, not a complete backup. - Meta's initial synchronization can take up to ~24 hours; only consider the inbox ready once it is receiving and sending normally. - Open the WhatsApp Business app at least once every ~14 days on the number's phone. Without that, coexistence loses health and may stop syncing. Troubleshooting - History didn't appear: confirm coexistence is enabled on Meta for the number and wait for the sync to finish. - App messages don't appear (echoes): check that the number is truly in coexistence and the Cloud inbox is connected. - Missing contacts: the import reflects the address book available at sync time; new contacts appear as they message you. - The WhatsApp Web inbox went to "logged out" after activating coexistence: this is the expected behavior β activation unlinks every companion device. Generate a new QR on the WhatsApp Web inbox's connection screen and pair again; nothing is lost. - The Cloud inbox disappeared from the pairing list after reconnecting through Meta: fixed. Reconnecting through Embedded Signup now records the same coexistence marker that creation already recorded; it used to be lost on reauthorization and the inbox stopped being offered for pairing. Any inbox in that state repairs itself on its next reconnection β nothing needs to be recreated. - The pairing list does not show the inbox I expected: the list now offers only what pairing will actually accept. A plain Cloud API inbox (hand-pasted token, no WhatsApp Business app on the phone) is not coexistence and therefore does not appear β previously it appeared and the click ended in an unexplained error. - Connection order: connect Coexistence (Cloud) first, wait for Meta synchronization to finish, and only then connect the WhatsApp Web inbox on the same number. If you do it the other way round, the Web inbox shows a notice that the number already has another inbox β it is only a notice, and it disappears once you pair the two. See also - WhatsApp Cloud with Embedded Signup - WhatsApp hybrid inbox: Coexistence (Cloud) + WhatsApp Web - WhatsApp Inbox Suite: Templates, Flows and Calls - WhatsApp Hub: groups, communities, channels and status - Inboxes and channels overview
WhatsApp hybrid inbox: Coexistence (Cloud) + WhatsApp Web on one number
Overview The hybrid inbox joins, in a single conversation, a Coexistence (Cloud) inbox and a WhatsApp Web inbox that share the same physical number. Instead of two separate inboxes for the same contact, you work in one place and the platform automatically chooses which transport to send with. - Cloud (Coexistence) is authoritative for inbound: conversations live in the Cloud inbox. - WhatsApp Web is a send + fallback transport: used, for example, outside the 24h window to send a free session message instead of paying for a template. - Both inboxes still exist β pairing is a link, never a merge. Every outgoing message gets a transport badge ("via CoexistΓͺncia (Cloud)" or "via WhatsApp Web", with a fallback marker when applicable), so you always know which transport delivered it. The connection order matters, and there is only one that works. Connect the Coexistence (Cloud) inbox first, wait for Meta's synchronization (it can take up to ~24 hours), and only then connect/pair the WhatsApp Web inbox. Activating Coexistence unlinks every companion device from the WhatsApp Business app β including a WhatsApp Web inbox that was already paired on that number. Prerequisites - The Hybrid inbox feature enabled on the account (ask your platform operator). - A Coexistence (Cloud) inbox connected through Embedded Signup on the number β this is always the first connection. - Meta's synchronization completed for that number (it can take up to ~24 hours after activation). - The WhatsApp Business app installed on the number's phone, with internet, to scan the WhatsApp Web QR after the synchronization. - An administrator profile to create inboxes, pair/unpair and change routing. Do not connect WhatsApp Web before Coexistence. If a WhatsApp Web inbox already exists on that number, it will be logged out when Coexistence is activated and must be paired again (scan a new QR). Re-pairing loses nothing: the same inbox is reused β phone number, conversations, contacts and message history all stay. Only the gateway session is rebuilt. Step by step 1. Connect Coexistence (Cloud) β always first 1. In Settings β Inboxes, create a WhatsApp inbox and choose the WhatsApp Cloud provider with Embedded Signup. 2. In Meta's flow, select the number already used in WhatsApp Business and complete the coexistence activation for that number. 3. On activation, Meta unlinks every companion device from WhatsApp Business. This is expected β it is exactly why WhatsApp Web comes afterwards. 2. Wait for Meta's synchronization 4. Meta syncs the number's history and contacts into the Cloud inbox. This can take up to ~24 hours. 5. Do not move on until the Cloud inbox is receiving and sending messages normally. 3. Connect (or re-pair) the WhatsApp Web inbox 6. Only now create the WhatsApp Web inbox with the same number β or, if it already existed, open the inbox and generate a new QR on its connection screen. 7. On the phone: WhatsApp β Linked devices β Link a device and point the camera at the QR. 8. Wait for the Web inbox to reach the connected state. 4. Pair the two inboxes 9. Open Inbox settings for the Cloud (Coexistence) inbox and go to the HΓbrido (Hybrid) tab. 10. Under WhatsApp Web inbox to pair, select the Web inbox with the same number. 11. Click Pair inboxes. The platform validates it (same account, same number, one Cloud + one Web) and creates the link. Required bots, flows, automations and memberships are mirrored additively to Cloud without removing their Web bindings. Web campaigns stay active on their original inbox, and Web HistorySync stays enabled for groups, newsletters and other surfaces Coexistence does not deliver. Only duplicable 1:1 history is filtered. 12. On the Web inbox, the Hybrid tab becomes a read-only mirror ("configure on the Cloud inbox"). Settings & options On the HΓbrido tab (on the Cloud inbox) you set the routing: - Receives (inbound authority): which transport owns inbound (v1: Cloud/Coexistence). - Default send transport: inside the 24h window (default: Cloud). - Out-of-window send transport: when the window closes (default: WhatsApp Web β free session). - Automatic fallback: if the chosen transport fails, retry once on the sibling transport. - Allow composer override: agents pick the transport per conversation (Auto / Cloud / Web). Approved templates, Meta-native interactive messages, WhatsApp Flows and catalog go through Cloud. WazMeow-only interactive messages and group/newsletter conversations continue through Web. Single operational inbox (optional) When the operator also enables Single operational inbox, an administrator can activate it on the Hybrid tab: - Cloud becomes the single entry in day-to-day operational lists and pickers; - the physical Web inbox is not deleted, merged or disabled and remains available in settings, reporting and audit; - groups, newsletters, calls, HistorySync, ignore rules, campaigns and Web-only sends continue using Web; - old 1:1 Web conversations are resolved and cross-linked to the Cloud conversation; their messages and calls remain on their original rows; - before freezing any conversation, the platform tries to reconcile on its own that conversation's Maestro control state (human stand-down, the specific Robot, and the autonomy set only there) onto the Cloud conversation. Only a pending human approval needs a decision from you; - activation reports progress and automatically returns to the visible two-inbox mode if it fails. On deactivation, the Web inbox returns to operational lists. Existing links and resolved history remain intact; there is no destructive rollback or automatic history merge. What each transport covers | Surface | Coexistence (Cloud) | WhatsApp Web | |---|---|---| | 1:1 conversations | Yes (authoritative) | Send transport / fallback | | Templates, interactive, flows, catalog | Yes | No | | Groups, communities, channels, status, broadcast lists | No | Yes | | Native WhatsApp Web calls | No | Yes | Cost and currency On the same tab, the Custos (Cost) section shows real message cost (Meta pricing analytics) by category, in the WABA billing currency and in your display currency (FX conversion). Coexistence accounts cannot migrate their Meta billing currency β so display-currency conversion is the answer, and a link to Meta's official documentation is shown. Use cases - Cut out-of-window cost: reply after 24h via a free WhatsApp Web session instead of a paid template. - Continuity: if one transport goes down, fallback delivers via the other. - Groups, communities, channels and status: keep everything Coexistence does not cover working on the same number, through the Web inbox. - WhatsApp Web calls: keep native WhatsApp Web calls working on the number, even with Coexistence active (see below). Tips, limits & best practices - The order is mandatory: Coexistence (Cloud) β Meta synchronization (~24h) β WhatsApp Web β pairing. Reversing it gets the Web inbox logged out the moment Coexistence is activated. - Open the WhatsApp Business app at least once every ~14 days on the number's phone. Without that, Coexistence loses health and may stop syncing. - Every hybrid call uses WhatsApp Web signaling and media, even when its bubble is attached to the Cloud conversation in single-inbox mode. Pairing does not change calling configuration. - Outbound calls continue through Web. For inbound 1:1 calls, the dashboard can ring only when Meta/the gateway delivers a CallOffer to the companion device. On some Coexistence numbers Meta rings only the phone; no local retry can reconstruct an offer that never arrived. - WhatsApp Web groups, communities, channels and status remain their own Web conversations. - Do not remove Web bot, flow, automation or campaign bindings: groups, newsletters and Web-only features still need them. Pairing mirrors only what Cloud also needs. - v1 runs in Cloud-primary mode (Coexistence is the authoritative receiver). Troubleshooting - The WhatsApp Web inbox went to "logged out" after activating Coexistence: this is the expected behavior β activation unlinks every companion device from WhatsApp Business. The Web inbox reports the cause (logged out from another device β the normal case here β, primary device was logged out, or unknown reason); in all three the fix is the same. Open the Web inbox, generate a new QR on its connection screen and pair again. Nothing is lost: phone number, conversations, contacts and history all stay on the same inbox; only the gateway session is rebuilt. - The inbox says it paired but nothing arrives: the number may be stuck on a pending placeholder because another inbox already holds that number β in the same account (same provider) or in another account. The HΓbrido tab and the pairing screen show the reason. Release or remove the inbox holding the number, then pair again. - No inbox to pair: check the order β Coexistence (Cloud) first, Meta synchronization completed, and only then the WhatsApp Web inbox connected on the same number. - Single-inbox activation stopped because of a configuration conflict: the platform now refuses on the click itself, with 422, naming which configuration conflicts between the Cloud and Web inboxes (assignment policy, routing, CSAT, bot, inbox integration, ads conversion, among others). Previously the request was accepted, queued, and only failed minutes later. Resolve the conflict on the named inbox and activate again. - Single-inbox activation stopped because of Maestro state: having Maestro configured does not block activation. Before freezing any history, the platform tries to reconcile the Web conversation's control state onto the Cloud conversation that will take over, then reads it back. Only what genuinely did not move still blocks: - Resolves by itself, with no operator action: the human stand-down (the robot was told to stay quiet on that conversation), the specific Robot routed to that conversation (re-applied by name), and that conversation's autonomy (autopilot, copilot or hybrid set only there). All three are re-applied on the Cloud conversation and stop showing up as blockers. - Needs a decision from you: a pending human approval β an action parked waiting for someone to approve or reject it. It is not moved, because approving re-runs the parked action and re-running it against another conversation is not verifiable. The Web conversation is preserved exactly for this: open the conversation named on screen, approve or reject the pending item, and activate again. - The state could not be READ (Maestro unreachable or turned off): this is a communication failure, not control state. The message asks you to check Maestro connectivity; there is no point hunting for a pending approval, because the platform never managed to ask. The check stops at the first conversation, so the counter no longer repeats the same block dozens of times. When something still blocks, the screen names the exact conversations, with a link to open each one, and offers to activate anyway. That confirmation covers only the conversations listed at that moment β if a new blocker appears afterwards, it blocks again. There is no blanket override. On any block, both inboxes remain visible and no history in that batch is changed. - Progress shows "0 Β· 0 Β· 0" while conversations are blocked: fixed. The progress line now has separate segments for frozen and linked, already linked, safely skipped and β highlighted β blocked, with how many conversations were checked. Blocked is not the same as safely skipped. - This number already has another WhatsApp inbox: if the Web inbox comes up on a number that already has a Cloud inbox in the same account with no pair between them, the connection screen shows a notice. This is allowed, but both inboxes receive the same conversations independently and the history ends up split. The notice disappears on its own once you pair them on the HΓbrido tab. It is a notice, not a block. - Duplicate message after a Web send: confirm the inboxes remain paired. Reconciliation uses the Web identifier embedded in the wamid; do not remove the transport stamp or recreate the message manually. - Zero cost: sync runs periodically; use Sync now in the Cost section. - An inbound call does not ring in the dashboard: check the Web connection/engine and CallOffer logs. If no offer reaches the gateway, the limitation is upstream and the call may ring only on the phone. An outbound call in the same session helps confirm that local Web signaling is healthy. See also - WhatsApp Cloud Coexistence - WhatsApp Cloud with Embedded Signup - WhatsApp Web - WhatsApp Hub: groups, communities, channels and status
WhatsApp Inbox Suite: Templates, Flows and Calls
Overview WhatsApp Cloud feature. The Templates, Flows and Calls tabs belong to the WhatsApp Cloud (Meta's official API) channel and are available on Cloud inboxes β not on WhatsApp Web. The WhatsApp Inbox Suite adds, inside the WhatsApp inbox itself, three tabs that bring together advanced features of the official channel: - Templates (HSM): create, organize and send message templates approved by Meta. - Flows: build and send interactive WhatsApp forms (Flows) to collect data, schedule, qualify leads and more β all inside the conversation. - Calls: start and follow calls over WhatsApp, including the AI calls feature. This way, the team doesn't have to leave the conversation screen to use WhatsApp's most powerful features. Prerequisites - A connected WhatsApp Cloud inbox (official features). - The WhatsApp Inbox Suite may depend on specific activation/permission β if the tabs don't appear, talk to whoever runs the operation. - Templates must be approved by Meta before use. - Flows and Calls follow WhatsApp's rules and availability for your number. Step by step 1. Open the WhatsApp inbox and locate the Inbox Suite tabs. 2. In the Templates tab: create a template (text, variables, buttons), submit it for approval and, once approved, use it to start conversations outside the 24h window. 3. In the Flows tab: build or select a Flow (interactive form) and send it in a conversation; the customer's answers come back to the conversation. 4. In the Calls tab: start a call with the contact or enable AI calls handling, depending on the operation's setup. Settings & options - Templates (HSM): support variables (e.g. customer name), a media header and buttons (quick reply or link). Use the variable picker to fill the fields when sending. The editor limits headers and footers to 60 characters, bodies to 1,024 and button labels to 25; dynamic links with a variable also require an example URL. Drafts and approved templates can be deleted directly from the list. - Flows: native WhatsApp forms for structured collection (scheduling, sign-up, qualification); the answers are recorded in the conversation. - Calls / AI calls: calls over WhatsApp and, when enabled, voice handling with AI. Real call errors and states are shown for diagnosis. Use cases - Send an order confirmation or reminder outside the 24h window with an approved template. - Collect scheduling data through a Flow and complete the booking without leaving WhatsApp. - Resolve a case by voice with a direct call or AI triage. Tips, limits & best practices - Create clear, purpose-specific templates β the more aligned with Meta's policy, the higher the chance of approval. - Reuse variables to personalize at scale without creating dozens of near-identical templates. - For Flows and Calls, validate with an internal test before using them with real customers. Troubleshooting - Template rejected: hover over the status to read the reason reported by Meta, review the content and resubmit. - The tabs don't appear: the Inbox Suite may not be enabled for your account/inbox. - The call fails: check the error message shown (usually coming from Meta itself) and the number's setup. - The Flow won't send: confirm the number is WhatsApp Cloud and the Flow is valid. See also - WhatsApp Cloud with Embedded Signup - Voice channel: calls and AI calls - WhatsApp Cloud Coexistence - Inboxes and channels overview
Website channel with live chat widget
Overview The Website channel adds a live chat widget to your site: a conversation bubble in the corner of the screen where visitors talk to your team in real time. Conversations arrive in the inbox like any other channel, with per-contact history, assignment and automations. You install the widget by pasting a small script into your site, and you customize colors, texts and behavior right in the platform. Prerequisites - An administrator role to create the website inbox. - Access to edit your site's HTML (or a tag manager) to paste the widget script. - A site published on an accessible domain. Step by step 1. In Settings β Inboxes, create a new inbox and choose Website. 2. Enter the site name and domain and set the welcome greeting. 3. Finish creation β the platform generates a code snippet (script) for the widget. 4. Copy the script and paste it into your site's HTML, before the closing </body> tag, on every page where the chat should appear. 5. Publish the site and open it in a browser: the chat bubble should appear. 6. Send a test message through the widget and check that it arrives in the inbox. Settings & options - Appearance: primary color, bubble position, avatar and greeting texts. - Availability: different messages for when the team is online or offline. - Pre-chat: optional form to collect name, email and other information before starting the conversation. - Visitor features: the widget can show quick replies, Help Center articles and allow attachments, depending on the setup. Use cases - Answer visitor questions on product and checkout pages in real time. - Capture leads through the pre-chat form and turn them into CRM contacts. - Reduce abandonment by offering help at the right moment of the visit. Tips, limits & best practices - Install the script on all relevant pages so you don't miss conversations. - Set clear offline messages stating when the team is back. - Keep the greeting short and to the point; invite the visitor to say how you can help. Troubleshooting - The widget doesn't appear: confirm the script was pasted correctly and the configured domain matches the site's. - Messages don't arrive: check that the inbox is active and has agents assigned. - Appears on the wrong page: adjust which pages load the script. See also - Email channel: forwarding and IMAP/SMTP - API channel for custom integrations - Inbox settings - Inboxes and channels overview
Email channel: forwarding and IMAP/SMTP
Overview The Email channel turns incoming emails into conversations inside the platform. Your team replies from the same panel as every other conversation, with per-contact history, assignment, internal notes and automations β no need to open a separate email client. There are two ways to connect: by forwarding (you redirect emails to an address generated by the platform) or by IMAP/SMTP (the platform reads from and sends through your own mailbox directly). Pick whichever fits your operation best. Prerequisites - An administrator profile to create the email inbox. - A dedicated support email address (for example, support@yourcompany.com). - For IMAP/SMTP mode: your mailbox server details (host, port, username and password or app password) and IMAP/SMTP access enabled at your provider. Step by step 1. Under Settings β Inboxes, create a new inbox and choose Email. 2. Enter the name and the support email address. 3. Choose the connection mode: - Forwarding: the platform generates a receiving address. In your email provider, set up a forwarding rule from your support address to that generated address. - IMAP/SMTP: enter the incoming (IMAP) and outgoing (SMTP) server details. 4. Save and send a test email to the support address. 5. Confirm the email shows up as a new conversation in the inbox and reply from there. Settings & options - Connection mode: forwarding or IMAP/SMTP, as chosen at creation. - Outgoing server (SMTP): used to send replies from the platform with your address. - Signature and identity: configure how your name and address appear to the recipient. - Conversation threading: replies on the same subject/thread are grouped into one conversation. Use cases - Centralize email support alongside WhatsApp, website and social channels. - Route messages from a corporate address (support@, sales@) to the right team. - Apply automations and auto-assignment to incoming emails. Tips, limits & best practices - Prefer a dedicated support address so it doesn't mix with a personal inbox. - On providers with two-step verification, use an app password for IMAP/SMTP. - Test both sending and receiving before sharing the address with customers. Troubleshooting - Emails don't arrive: review the forwarding rule or the IMAP details; check the destination's spam folder. - Can't send replies: verify SMTP host, port and credentials, and that the provider allows sending from external apps. - Duplicate conversations: make sure only one forwarding rule is active for the address. See also - Website channel with live chat widget - API channel for custom integrations - Inbox settings - Overview of inboxes and channels
Show the agent name on sent messages
Overview This feature identifies the agent at the beginning of every sent message using the Agent name: format. It works across supported outbound channels and keeps the personal signature configured in the composer. Prerequisites This feature is unlocked in two steps, by two different people: 1. The platform team (Conversa Labs) enables Outbound Agent Name Header for the account. 2. Once unlocked, an account administrator decides, under Settings β Account β General, whether the identification should be mandatory for every agent. Step by step 1. Ask Conversa Labs to enable the Agent name on sent messages feature for your account. 2. As the account administrator, go to Settings β Account β General. A new "Require agent name on every sent message" option appears once the feature is unlocked. 3. Leave that option off to let each agent choose individually, or turn it on to require the name for every agent. 4. In their own profile (Settings β Profile), each agent enables or disables the option when the mode is optional. Once the administrator makes it mandatory, it appears locked and enabled on every agent's profile. Settings & options In optional mode, each agent controls the option in their own profile. In mandatory mode β set by the account administrator, not the platform β the option is locked and applied automatically for every agent. The profile display name is used first; if it is empty, the platform uses the full profile name. The personal signature remains independent and appears below the content when enabled β both features can be active at the same time. Use cases Use this feature to make it clear which person replied when several agents work in shared channels. Tips, limits & best practices Only sent messages are changed; private notes and incoming messages are not. Channels without formatting support show the name as plain text. Troubleshooting If the name does not appear, confirm that the feature is enabled for the account and that the agent profile has a display name or full name. See also See the article about profile settings and personal message signatures.
Social channels: Facebook Messenger, Instagram and TikTok
Overview Social channels bring your social media messages into the platform. Direct messages and interactions from Facebook Messenger, Instagram and TikTok arrive as conversations in the same panel, with per-contact history, assignment, internal notes and automations. Your team replies to everything in one place, without switching between apps and without losing the context of each customer. Prerequisites - An administrator profile to create social channel inboxes. - An account/page on the corresponding network with admin permission to connect it. - Authorization (login) on the social network at connection time, granting the requested permissions. - Some social channels may depend on being enabled for your account β check with an administrator if the option doesn't appear. Step by step 1. Under Settings β Inboxes, create a new inbox and choose the desired social channel (Facebook Messenger, Instagram or TikTok). 2. Log in to the social network and authorize the connection, granting the requested permissions. 3. Select the page/account to connect to the inbox. 4. Finish creating the inbox. 5. Send a test message through the social network and confirm it reaches the platform. Settings & options - Connected account: the network page/account linked to that inbox. - Assignment and teams: define who handles conversations from that channel. - Automation and replies: apply automations, canned responses and greetings as in other channels. - Reconnection: if the authorization expires, log in again to reactivate the channel. - Instagram mentions: caption or comment mentions appear as an incoming message in a dedicated Instagram inbox conversation. The conversation is read-only because this event does not provide a valid DM recipient; your team can still add private notes. Use cases - Handle Instagram and Messenger DMs alongside WhatsApp and website, without switching apps. - Reply to interactions coming from TikTok and turn followers into CRM contacts. - Standardize marketing and sales support across every network. Tips, limits & best practices - Each network has its own rules and reply windows β answer within the allowed timeframe. - Keep the account permissions valid; expired authorizations stop messages from arriving. - Use a profile with page admin access to avoid connection blocks. Troubleshooting - Messages don't arrive: check whether the authorization is still valid and log in again if needed. - Can't select the page/account: confirm your user is an admin of it on the network. - The channel doesn't appear at creation: it may not be enabled for your account β talk to an administrator. - The Instagram avatar is missing or outdated: the inbox shows the connected account's profile picture automatically and keeps it up to date; if it still looks old, reconnect the inbox in Inbox settings to force a refresh. - I cannot reply to the mentions conversation: this is expected. Use the identifiers shown in the message to locate the Instagram post or comment and reply there. See also - WhatsApp Cloud API with Embedded Signup - Website channel with live chat widget - Inbox settings - Overview of inboxes and channels
Instagram and Messenger messages and media
Overview Conversa Labs receives Instagram and Facebook Messenger messages containing text, images, video, audio, files, shares, Stories and Reels. Replies, reactions, reads, postbacks, referrals, edits and unsent messages also update the conversation when Meta makes the event available to the connected account. Inbound media is copied to the installation storage, so the conversation no longer depends on Meta's temporary link after processing finishes. Prerequisites - An Instagram or Facebook Messenger inbox connected by an administrator. - Meta permissions approved for the Page or professional account. - A valid authorization for the connection. Step by step 1. Open Settings β Inboxes and confirm that the social account is connected. 2. Send a test DM from the native app. 3. Test text, one media item, and a shared Reel or Story. 4. Open the conversation in Conversa Labs and wait for the media processing indicator to clear. 5. Reply, react, or choose a quick reply to validate the outbound path. Settings & options - Quick replies: up to 13 options can be sent natively. - Message replies: keep the original message reference when Meta provides its ID. - Processing media: text appears immediately while the file is copied in the background. - Unavailable media: Meta did not provide the bytes or its link had already expired; the rest of the conversation remains available. - Mentions: when Meta provides the author, the mention is associated with that contact and their active conversation. If the author cannot be resolved, it remains in a read-only fallback that a later delivery can reconcile. Use cases - Receive a shared Reel with a caption without losing the video inside a text bubble. - Handle messages containing multiple photos or videos. - Use quick replies in automations and flows. - Record reactions, edits, removals, and attribution from ads or social links. - Review a mention with author, text, preview, and link when the connected account is authorized to access that context. Tips, limits & best practices - The user must start an Instagram conversation; Meta does not allow unrestricted business-initiated DMs. - Instagram group conversations are not supported by its messaging API. - Some shares provide only a post URL, not the original media file. In that case, Conversa Labs shows a link card instead of trying to play the page as a video. - Mention context is obtained only through Meta's authorized API; Conversa Labs does not scrape Instagram. - Reply within Meta's messaging window and policies. Troubleshooting - Nothing arrives: reconnect the inbox and confirm Page/account permissions. - βProcessing mediaβ remains visible: allow the automatic retries to finish; the text is already saved. - βMedia unavailableβ appears: use the native app to inspect it; an already expired Meta link cannot be reconstructed. - The share is a link: for some posts and Reels, that is the only content Meta provides. - The mention has no author or preview: confirm the connected account permissions. The mention is preserved without exposing technical identifiers and can be enriched if Meta grants access later. See also - Social channels - Inbox settings
Voice channel: calls and AI calls
Overview The Voice channel brings phone call support into the platform. Calls are logged alongside the contact's other conversations, with history, assignment, internal notes and reports β unifying voice and text in the same operation. Beyond traditional calls, the channel offers AI calls, where artificial intelligence assists voice support. Both modes live in the same settings area of the Voice inbox. Prerequisites - An administrator profile to create and configure the Voice inbox. - The Voice channel enabled for your account β it's an optional feature; if it doesn't appear, confirm with an administrator. - The voice provider's credentials/integration required by the channel setup. - For AI calls, the artificial intelligence features enabled on the account. Step by step 1. Under Settings β Inboxes, create a new inbox and choose Voice. 2. Enter the inbox name and the voice provider's integration details. 3. Define how calls behave (receiving, forwarding and logging). 4. To use AI, enable the AI calls option and adjust the assistant's behavior. 5. Make a test call and confirm it is logged in the contact's conversation. Settings & options - Calls: receive and place calls, logged into the contact's conversation. - AI calls: artificial intelligence support during voice handling. - Assignment and teams: define who handles calls from that inbox. - Logging and reports: each call is tied to the contact and feeds the reports. Use cases - Serve customers by phone without losing the history of their text conversations. - Use AI to assist triage and call handling at high volume. - Centralize voice, WhatsApp and other channels in the same queue and the same reports. Tips, limits & best practices - Test audio (input and output) before putting the channel into production. - Combine the Voice channel with assignment rules to distribute calls fairly. - When using AI calls, review the assistant's behavior periodically. Troubleshooting - Calls don't connect: verify the provider integration and the credentials entered. - I don't see the Voice option: the channel may not be enabled for your account β talk to an administrator. - AI doesn't act on calls: confirm the AI features are enabled and that the option was turned on in the inbox. See also - WhatsApp Inbox Suite: Templates, Flows and Calls - API channel for custom integrations - Inbox settings - Overview of inboxes and channels
API channel for custom integrations
Overview The API channel is a generic channel for custom integrations. Instead of a ready-made channel (WhatsApp, email, website), you connect your own system or a non-native channel: your application sends messages to the platform and receives replies via API and webhooks. It's the ideal foundation to integrate tailor-made channels, bots and external systems, keeping conversations centralized with history, assignment and automations like any other channel. Prerequisites - An administrator profile to create the API inbox. - Technical knowledge to consume an HTTP API and handle webhooks in your system. - A public endpoint on your side to receive webhook events (messages from the platform). - Your account's API access credentials (see the API & Developers category). Step by step 1. Under Settings β Inboxes, create a new inbox and choose API. 2. Enter the channel name and, if applicable, your system's webhook URL. 3. Finish creating it β the inbox now has its own identifier. 4. In your system, use the API to create/identify the contact and send messages to the inbox. 5. Configure the webhook to receive the platform's replies and events in your system. 6. Send a test message through the API and confirm it appears as a conversation. Settings & options - Inbox identifier: used in API calls to route messages to the right inbox. - Webhook URL: your system's endpoint that receives messages and events from the platform. - Contacts and conversations: created/updated via API, with the same features as other channels. - Automation and assignment: apply rules just like on any other channel. Use cases - Connect a proprietary channel or a legacy system with no native integration. - Build a custom bot that talks to contacts through the platform. - Integrate an internal app to log and reply to conversations automatically. Tips, limits & best practices - Handle the webhook idempotently to avoid duplicate conversations or messages. - Protect your API credentials: keep them on the server, never exposed on the client. - Implement retries on sending to cope with temporary network failures. Troubleshooting - Messages don't come in: check the inbox identifier and the credentials used in the API. - I don't receive events in my system: validate the webhook URL and that your endpoint responds successfully. - Duplicate conversations: ensure idempotent webhook handling on your side. See also - Website channel with live chat widget - Email channel: forwarding and IMAP/SMTP - Inbox settings - Overview of inboxes and channels
Inbox settings: business hours, assignment, CSAT and greeting
Overview Each inbox has its own settings that apply to every conversation on that channel. Through them you define who handles conversations, when they are handled, how satisfaction is measured and which automatic messages are sent β adapting the behavior to your business. These options live in the inbox's settings area and can be adjusted at any time by an administrator. Prerequisites - An administrator profile to edit an inbox's settings. - An inbox already created (any channel: WhatsApp, website, email, social, voice or API). - Agents and teams already registered, to use auto-assignment. Step by step 1. Under Settings β Inboxes, select the inbox you want to configure. 2. Open the inbox settings and find the behavior sections. 3. Set the business hours and the out-of-office message. 4. Configure auto-assignment of conversations to agents/teams. 5. Enable the satisfaction survey (CSAT) to collect a rating at the end of the conversation. 6. Write the greeting and away messages. Save your changes. On mobile, use the Inbox section picker at the top to switch between settings, collaborators, business hours, CSAT, and channel-specific features. Long lists are presented as cards and actions use the available width, without requiring horizontal scrolling. Settings & options - Business hours: define the days and times the team is available; outside them, a message informs availability. - Auto-assignment: distributes conversations across the inbox's agents/teams in a balanced way, reducing manual work. - Satisfaction survey (CSAT): asks the contact for a rating after resolution, feeding the quality reports. - Greeting message: sent at the start of the conversation, introducing the company and setting the tone. - Collaborators: which agents take part in that inbox. Use cases - Automatically notify when the team is out of office and when it returns. - Distribute conversations fairly without relying on manual assignment. - Measure customer satisfaction per channel with CSAT and track it in reports. Tips, limits & best practices - Keep the hours aligned with the account's time zone so customers aren't confused. - Use a short, clear greeting inviting the contact to explain what they need. - Enable CSAT consistently across channels to compare quality between them. Troubleshooting - The inbox is still listed after I asked to delete it: the deletion runs in the background, because it has to remove the whole conversation history. While it runs, the inbox shows a Deletion in progress badge and cannot be edited. If something blocks the deletion, the badge turns into a failure with the reason β the inbox keeps working and nothing else is lost. Send the reason to support instead of retrying the deletion over and over. - Conversations aren't assigned: confirm auto-assignment is on and that there are agents in the inbox. - The out-of-office message doesn't appear: review the business hours and the account time zone. - CSAT isn't sent: check that the survey is enabled and that the conversation was marked resolved. See also - Overview of inboxes and channels - Website channel with live chat widget - Email channel: forwarding and IMAP/SMTP - Social channels: Facebook Messenger, Instagram and TikTok
Conversation routing: reopen the same conversation or create new ones
Overview Conversation routing defines what happens when a customer sends a message after their conversation has been resolved. Each inbox has two modes: - Reopen the same conversation β the platform reuses the contact's existing conversation and reopens it automatically when they reply. The whole history stays in one place. - Create new conversations β after resolution, the contact's next message opens a new conversation, already open for the team. Each request becomes a separate ticket. The setting lives under Settings β Inboxes β (your inbox) β Configuration, in the "Conversation routing" section. Prerequisites - Administrator role to change inbox settings. - Supported channels: WhatsApp (Cloud and WhatsApp Web), Website (platform live chat), SMS, Telegram, Line, TikTok, Facebook, Instagram and API. - The email channel does not use this control: emails are grouped by thread (subject/headers), and a new message after resolution always opens a new conversation, by design. Step by step 1. Go to Settings β Inboxes and open the inbox. 2. On the Configuration tab, find Conversation routing. 3. Pick Reopen the same conversation or Create new conversations. 4. Save. The change applies immediately to the next incoming messages. Settings & options - Reopen the same conversation - When the customer replies, the resolved conversation reopens instantly: it returns to the open tab, notifies the team and enters auto-assignment. - If a bot (Maestro/virtual agent) is active and inside its configured hours, the conversation goes back to the bot first; otherwise it opens straight to the team. - WhatsApp groups and channels follow the same behavior: the shared group conversation is reopened instead of duplicated. - If the contact has more than one conversation in the inbox (legacy data), the platform prioritizes the conversation that is still open β a conversation being worked is never abandoned in favor of a newer resolved one. - Create new conversations - The resolved conversation stays closed as a historical record; the customer's reply opens a new conversation, open and visible to the team. - Website chat: website inboxes ship with Reopen the same conversation enabled by default (the classic widget behavior). You can switch to "Create new conversations" at any time. - Blocked contact: messages from a blocked contact are dropped and do not reopen the muted conversation. Use cases - Ongoing relationship (recommended for WhatsApp): with "Reopen the same conversation", the agent sees the customer's full history in a single thread β ideal for sales, recurring support and post-sales. - Ticket-based operation: with "Create new conversations", every request becomes a ticket with its own start and end β ideal for per-request SLAs and per-conversation reporting. Tips, limits & best practices - Reopening happens when the customer sends a message. Messages the operator sends from the native app (echoes) do not reopen the conversation. - Campaign sends do not reopen resolved conversations β the customer's reply does. - Combine with Auto resolve (account settings) to close inactive conversations without losing new messages: when the customer replies, the same conversation reopens. - On WhatsApp inboxes with a legacy backlog of duplicated conversations, "Reopen the same conversation" concentrates new messages into a single thread from now on. Troubleshooting - "The customer replied and the conversation did not reopen" β confirm the inbox is set to "Reopen the same conversation" and the contact is not blocked. If a bot is active, the conversation may have returned to the bot queue (pending status) instead of the open tab. - "Every message creates a new conversation" β the inbox is set to "Create new conversations". Switch to "Reopen the same conversation" for a single thread per contact. - "The new conversation was born pending and nobody saw it" β that only happens when a bot will actually act; if the bot is outside its hours or disabled for the conversation, it is born open. See also - Inbox settings - Automatic conversation resolution - Website channel with live chat widget
Audio transcription: read the conversation audio as text
Overview Audio transcription turns conversation audio into text and shows that text under the player, inside the message bubble itself. Agents read the message without pressing play β useful in a noisy room, when handling several conversations at once, and for finding an old voice note later by what was said in it. It works on any channel that can receive audio: WhatsApp (Cloud and Web), Telegram, SMS, Line, Messenger, Instagram, email, the website widget, the API channel and call recordings. The setup is the same for all of them. Three decisions, in this order: - On or off on the inbox. Every new inbox starts off. - Which audio it covers: what the contact sent, what the agent recorded, or both. - An exception per conversation, when one conversation needs to behave differently from the rest of the inbox. Prerequisites - An OpenAI or Groq API key available to the account. Configure it in Settings β Integrations, or ask the platform operator to configure it on the server. - Administrator access to configure the inbox. - Access to the conversation to create a one-off exception. The screen tells you whether a key exists: a Key configured or No key badge appears at the top of the tab. Without a key, transcription cannot produce any text at all β so it is worth checking that badge before turning the feature on. Step by step Turn it on for the inbox 1. Open Settings β Inboxes and select the inbox. 2. Open the Audio transcription tab. 3. Check the key badge at the top. If it reads No key, use the link to configure the integration before continuing. 4. Turn Audio transcription on. 5. Choose the scope with the two switches below: - Transcribe audio received from contacts β on by default. - Transcribe audio recorded by agents β off on new inboxes; inboxes that already existed come with it on, preserving what they were already doing. Each switch saves on its own, the moment you change it. Adjust a single conversation 1. Open the conversation and expand Audio transcription in the right sidebar. 2. The panel shows the current policy and which audio is being transcribed there. 3. Use Adjust for this conversation and pick the policy: - Follow the inbox β the default. - Always transcribe β applies even when the inbox has transcription switched off. - Never transcribe β turns it off for this conversation only. 4. With Always transcribe you can still set each scope separately, or leave it inheriting the inbox. 5. Click Save. Settings and options | Where | Option | Default | What it does | |---|---|---|---| | Inbox | Audio transcription | Off | Master switch for the inbox. | | Inbox | Audio received from contacts | On | Transcribes what the contact sent. | | Inbox | Audio recorded by agents | Off on new inboxes | Transcribes what the agent recorded. Inboxes that already existed keep what they were doing: on. | | Conversation | Policy | Follow the inbox | A one-off exception that leaves the inbox untouched. | A new inbox starts with agent audio off on purpose: it spends AI producing text the agent just spoke. An inbox that already existed keeps transcribing agent audio, because that is what it was already doing β the update does not switch anything off on its own. If you do not need that text, turn the switch off and the spend stops. Use cases - Audio-heavy support: the team reads the message in seconds and replies in text. - Searching the history: transcribed text is searchable, so an old voice note becomes findable by what was said in it. - A sensitive conversation: one conversation can stay on Never transcribe even with the inbox switched on. - A controlled pilot: enable transcription only on the inbox you want to evaluate before rolling it out. Tips, limits and best practices - The per-file limit is 25 MB. Larger audio is not transcribed. - Supported formats: flac, m4a, mp3, mp4, mpeg, mpga, oga, ogg, wav and webm. Older formats such as amr and 3gp are not transcribed β the bubble says so instead of staying empty. - The language is detected automatically. When the conversation already has a known language, it is used as a hint to improve the result. - The transcription appears on its own, with no page reload. - Transcribed text can also be translated β see the automatic translation article at the end. Troubleshooting The audio bubble shows no text at all. Check, in this order: the inbox has Audio transcription on; the scope matching the direction of that audio is on; the conversation is not set to Never transcribe; and the badge at the top of the tab reads Key configured. The bubble shows a notice instead of the text. The notice says exactly what happened: | Notice | What to do | |---|---| | This audio format cannot be transcribed | The audio arrived in a container the providers do not accept. Ask for the audio again or convert the file. | | Needs an OpenAI or Groq key | Configure the integration and use Try again. | | The provider did not answer | A temporary failure. Use Try again. | | Audio above the 25 MB limit | Not transcribable. Ask for a shorter recording. | | Empty audio file | The file arrived with no content. Ask for it to be sent again. | The "Try again" button is not there. It only appears for failures a second attempt could actually fix. An unsupported format or an oversized file would fail again in exactly the same way. We are paying for AI on audio we do not need. Switch Transcribe audio recorded by agents off on the inbox. It is the most common source of spend that produces no value. See also - Inbox settings - Real-time automatic translation
Customer satisfaction survey (CSAT) per channel
Overview The satisfaction survey (CSAT) works the same way on every channel: when the conversation is resolved, the contact is asked to rate it and the answer feeds the reports. What changes is how the question goes out β and that depends on whether the channel uses templates approved by Meta. | Channel | How the survey is delivered | Needs an approved template? | |---|---|---| | Official WhatsApp (Cloud API) | Meta-approved template, with a button | Yes | | WhatsApp through Twilio | Approved template, with a button | Yes | | WhatsApp over a paired device | Regular message followed by the rating link | No | | Website widget | Rating picker inside the conversation itself | No | | E-mail, Telegram, SMS, Instagram, Facebook, LINE | Regular message followed by the rating link | No | Prerequisites - Permission to edit inboxes. - The inbox must exist and be connected. - On channels that use an approved template, the WhatsApp Business account must be able to submit templates for approval. Step by step 1. Open Settings β Inboxes and pick the inbox. 2. Go to the Customer satisfaction tab. 3. Turn the survey on. 4. Write the message the contact will receive. You can insert variables, such as the contact's first name. 5. If the channel uses an approved template, also fill in the button text and the language β those two fields exist because they are part of the template submitted to Meta. 6. Optionally, restrict the survey by labels, to ask for a rating on only part of the conversations. 7. Save. Settings & options - Message: the text of the question. On every channel without an approved template it is sent as a regular message and the rating link is appended right after it. - Button text and language: shown only on channels that use an approved template. On a paired device inbox these fields are not displayed, because there is no button and no template language to configure. - Template status: also exclusive to channels with an approved template. After you save, Meta reviews the template and the status moves through pending, approved or rejected. - Label rules: define which conversations the survey is asked in. - Frequency: the survey is sent at most once per conversation. Use cases - Measure satisfaction on a paired device channel without going through Meta approval. - Standardize the same question across several channels and compare the scores in the reports. - Ask for a rating only on support conversations, using a label as the filter. Tips, limits & best practices - Write a short, direct question. On channels with no button the contact reads the sentence and taps the link β the text has to make clear what is expected of them. - On channels with an approved template, Meta may classify the template as Marketing depending on the wording, which changes how it is billed. Prefer an objective sentence about the support given. - Changing the message on a channel with an approved template requires a new template and a new approval. - Answers feed the CSAT report; with no conversations resolved in the period, the report stays empty even with the survey turned on. Troubleshooting - I cannot see the button text and language fields. The inbox is WhatsApp over a paired device. That is expected: the survey goes out as a message with a link and there is no template to configure. - The survey never arrives. Check that the inbox is connected, that the conversation was really resolved, and that the label rules are not excluding that conversation. - The template is still pending. The review is done by Meta and can take a few hours. Until it is approved, the channel cannot send the survey outside the service window. - The template was rejected. Rewrite the message avoiding a promotional tone and save again to submit a new version. See also - Inbox settings: business hours, assignment, CSAT and greetings - CSAT and SLA reports
Interactive messages on WhatsApp Web (buttons, lists, flows and more)
Overview On the WhatsApp Web channel (device connection, paired by QR via WazMeow) you can send interactive messages β the ones where the customer taps a button, picks a list item, answers a poll or opens a flow β directly from the conversation's reply field. A single visual composer ("Interactive message") builds every type in one window: pick the type tab, fill in the fields and send. It's the native way to create rich experiences without relying on Meta's official API (Cloud API). Every interactive message you send shows up in the platform conversation as a normal bubble, and the button/option text the customer replies with is recorded in the conversation. Prerequisites - A WhatsApp Web inbox already paired and in the connected state (Connect WhatsApp Web by QR pairing). - Agent access to the conversation where the interactive message will be sent. - For Flows: have flows already captured on the number itself. The composer lists the flows available for that number β you pick one and fill in the parameters. If the list is empty, no flow has been captured for that number yet. Step by step 1. Open the WhatsApp Web conversation and click the Interactive message icon in the reply field (Set up to build from scratch; Edit to adjust before sending). 2. Choose the type tab you want to send: Buttons, List, Carousel, Flow, Poll or Event. 3. Fill in the fields for the chosen type: - Main text (body) and, when available, header/footer. - The interactive items (buttons, list options, carousel cards, poll options, event details) and the fallback text shown where the interactive doesn't render. 4. Review the preview and click Send. 5. The message is sent through WhatsApp Web right away and stays recorded in the conversation. When the customer taps/replies, the choice comes back as a new message in the conversation. Settings & options The composer sends 6 interactive types from WhatsApp Web: | Type | What it is | Renders in groups? | |---|---|---| | Buttons | Quick replies and/or URL buttons | Yes | | List | Menu with sections and selectable options | No β 1:1 only | | Carousel | Swipeable cards with media + buttons | Yes | | Flow | Opens a flow already captured on the number (native button, galaxy_message) | No β 1:1 only | | Poll | Poll with options and a selectable count | Yes | | Event | Invite with date/time (start and, optionally, end), location and description | Yes | - Groups nuance (important): Lists and Flows only render in 1:1 conversations. In groups, recipients see the fallback text (so always fill in a clear fallback). Buttons, Carousel and Event work in groups normally. - No license gate: on WhatsApp Web (WazMeow) the interactive types β buttons, list, carousel, flow, poll and event β are available without an "Enterprise license". There is no license block to send any of them. - Status does not support interactive/poll: interactive messages and polls cannot be sent to Status (nor on channels other than WhatsApp Web). - Flow uses what already exists on the number: the composer does not create the flow β it lists the flows already captured on that number for you to pick and parameterize. Use cases - Buttons: offer 2β3 quick replies ("Talk to sales", "Support", "See pricing") or a URL button that takes the customer to a page. - List: present a menu organized by sections (e.g. services, hours, locations) in a 1:1 conversation. - Carousel: showcase several products/plans with image and action button, including in groups. - Flow: trigger a guided form/experience (scheduling, sign-up, qualification) already captured on the number, appearing as a native button. - Poll: quickly collect preferences ("Which time works best?") in 1:1 or groups. - Event: invite to a meeting, live session or visit with date, time and location. Tips, limits & best practices - Always write a good fallback: in groups, Lists and Flows only deliver the fallback text β it has to make sense on its own. - Anti-ban: interactive messages are messages like any others β respect WhatsApp's limits and the platform's per-number throttle. Avoid identical mass sends. - Forwarding keeps the real interactive: when you forward an interactive message on WhatsApp Web, the platform re-sends the actual interactive (it does not turn it into text). See Forward messages. - Save and reuse: while building an interactive message, use "Save to quick replies" with a short code. Later, in the composer, type "/" and pick the short code β the platform reopens the composer prefilled with your buttons, list, carousel, flow or poll (it does not become plain text). - Buttons: at most 3, titles up to 20 characters. That is WhatsApp's own limit, and the platform applies it identically on WhatsApp Web and on Cloud β what you compose works on both with no rework. Longer titles are cut on send; write short labels instead of letting the cut decide for you. Accented characters take up more room than they look, so leave margin. - A tapped button is identified, not guessed: the platform records which button was tapped, not just its text. Two buttons sharing a label stop being indistinguishable, and an option wait in the Flow Builder keeps matching even when the customer sees the title truncated. - Prefer a few clear items over long menus β tap rates drop on huge lists. Troubleshooting - The customer only sees text (no buttons/list): it's probably a List or Flow sent to a group β in those cases only the fallback renders. Use 1:1 or switch to Buttons/Carousel/Event. - The Flow tab is empty: there's no captured flow on that number; capture the flow on the number before sending. - I can't send to Status: interactive/poll is not supported in Status β send it in a WhatsApp Web conversation. - The message failed to send: confirm the inbox is connected and try Send again; a send error shows on the bubble with a retry option. See also - Connect WhatsApp Web by QR pairing - WhatsApp Inbox Suite - WhatsApp Hub: groups, communities, channels and status - Forward messages
Messaging channels: Telegram, SMS and Line
Overview The messaging channels connect three message services directly to the platform: Telegram, SMS and Line. Messages from each one arrive as conversations in the same panel, with per-contact history, assignment, teams, internal notes and automations β exactly like WhatsApp, email and the website. Each channel uses the provider's own credentials: - Telegram: a bot created in BotFather, identified by the bot token. - SMS: an account with an SMS provider (Twilio or Bandwidth) plus a phone number. - Line: a LINE Messaging API channel (Channel ID, secret and token), with a webhook pointing to the platform. Prerequisites - An administrator profile to create inboxes. - The valid credentials for the chosen provider (see each channel in the step by step). - For Telegram: a bot already created in BotFather and its token. - For SMS: a Twilio or Bandwidth account with Account SID / Auth Token and a number (or a Messaging Service). - For Line: a channel in LINE Developers with Channel ID, Channel Secret and Channel Access Token. - If a channel does not appear when creating an inbox, it may not be enabled for your account β check with an administrator. Step by step Telegram 1. In Telegram's BotFather, create a bot and copy the generated token. 2. Go to Settings β Inboxes, create a new inbox and choose Telegram. 3. Paste the bot token and finish. The platform validates the token, detects the bot name automatically and sets up the webhook by itself. 4. Send a message to the bot and confirm it arrives as a conversation. SMS (Twilio or Bandwidth) 1. Go to Settings β Inboxes, create a new inbox and choose SMS. 2. Select the provider: Twilio or Bandwidth. 3. For Twilio, enter: inbox name, Account SID, Auth Token and the phone number in E.164 format (e.g. +15551234567) β or check the Messaging Service option and enter the Messaging Service SID. - Optional: check use API Key to authenticate with API Key SID + API Key Secret instead of the Auth Token. 4. For Bandwidth, enter the credentials and the number as provided. 5. Finish and send a test SMS. Line 1. In LINE Developers, create a Messaging API channel and get the Channel ID, Channel Secret and Channel Access Token. 2. Go to Settings β Inboxes, create a new inbox and choose Line. 3. Enter the inbox name, Channel ID, Channel Secret and Channel Access Token, then finish. 4. In the LINE Developers console, set the channel's webhook URL to point to the platform's endpoint (shown in the inbox configuration or provided by your administrator) and enable message receiving. 5. Send a message to the LINE profile and confirm it reaches the platform. Settings & options - Assignment and teams: define who handles each channel's conversations, just like the others. - Automation and replies: automations, canned responses and greetings work as usual. - Editing credentials: you can update the channel's token/credentials in the inbox settings. - SMS provider: Twilio accepts a direct number or a Messaging Service; the provider is chosen at creation time. Use cases - Handle Telegram and SMS side by side with WhatsApp, email and the website, in the same queue. - Use SMS for notifications and confirmations when the customer has no messaging app. - Use Line to serve Asian audiences (strong in Japan, Thailand and Taiwan) without leaving the platform. Tips, limits & best practices - Keep credentials valid: a revoked or expired token stops messages from coming in. - SMS has a per-message cost charged by the provider (Twilio/Bandwidth) β track usage in the provider's account. - For Line, the webhook must point to the platform and be active; otherwise messages won't arrive. - Use one bot per inbox in Telegram; the same token cannot be reused across two inboxes. Troubleshooting - Telegram receives no messages: confirm the token is valid (not revoked in BotFather) and re-enter it if needed. - SMS does not send or receive: review the Account SID, Auth Token and number/Messaging Service; confirm balance and an enabled number with the provider. - Line does not receive: check the Channel ID, Secret and Token and the webhook URL in the LINE console, which must point to the platform and be enabled. - The channel does not appear when creating an inbox: it may not be enabled for your account β talk to an administrator. See also - Overview of inboxes and channels - Social channels: Facebook Messenger, Instagram and TikTok - Inbox settings
Conversation routing: reopen the same or create a new one
Overview When a contact messages again after their conversation was resolved, the platform can do one of two things β and you choose per inbox: - Reopen the same conversation β the previous conversation is reopened, keeping all history, summary, assignment and context in one place. - Create a new conversation β each new contact after resolution opens a fresh conversation (useful when every interaction should be handled as an independent ticket). The control lives under Inbox settings β Conversation routing. Prerequisites - Administrator role to edit the inbox. - Applies to WhatsApp (Cloud and Web), Instagram, Facebook, Telegram, SMS, Line, TikTok, website and API inboxes. The email channel threads by subject/headers and does not use this option. Step by step 1. Open Settings β Inboxes and select the inbox. 2. Scroll to the Conversation routing section. 3. Pick one option: - Reopen the same conversation β reopens the resolved conversation when a new message arrives. - Create new conversations β opens a fresh conversation on each message after resolution. 4. Save. The change takes effect immediately for the next messages. Settings & options - The default varies by channel: the website widget ships as Reopen; messaging channels (WhatsApp, etc.) ship as Create new conversations. Adjust to your operation. - Only the latest resolved conversation is reopened. If an open conversation already exists for the contact, the message goes into it (the team never loses the active thread). Use cases - Continuous support (relationship, recurring support): use Reopen to keep the contact's whole history in a single conversation. - Independent tickets (each request is a new ticket): use Create new conversations. Tips, limits & best practices - Reopen fires the "conversation reopened" automation trigger and resumes the same bot/Maestro with the existing summary. - Create new conversations fires the "conversation created" trigger on every new conversation β welcome automations and flows run again, and assignment/CSAT restart. Ad (CTWA) attribution is not carried onto the new conversation. - Muted contacts have their message attached to the existing conversation, but it stays resolved (intentional). Troubleshooting - "It keeps creating new conversations even though I want to reopen" β the inbox is set to Create new conversations. Open Conversation routing and select Reopen the same conversation. - The option doesn't show β confirm it's a supported messaging inbox (not email) and that you have the administrator role. See also - Inbox settings - Automations: "conversation created" and "conversation reopened" triggers