Appearance
Sales troubleshooting
Start from the symptom. Each table lists the causes in the order they are most often the answer, how to recognise each one, and where to fix it.
Where to look first
| Place | What it tells you |
|---|---|
| The chat's Activity History tab (client card) or the inline events | Every mode switch, outreach attempt, follow-up decision, send error — with the actor and a reason |
| Debug switch in the chat header | Tool calls, model retries, trimmed context, and follow-up entries that are hidden by default |
| Notifications (bell) | Disconnected channels, failed processing, balance, failed Lead Form outreach |
| Automation status card on Automations | Queued / Processed / Failed / Skipped for each automation, with the last errors |
| Outreach Results on an immediate campaign | Per-recipient Sent / Failed / Skipped with the error text |
| Order history and a product's Change history | Who changed a status or stock, and when |
The assistant does not reply
| Cause | How to recognise it | Fix |
|---|---|---|
| Balance is zero | Sidebar shows 0 messages; chat header banner "Agent … is switched off … top up the balance if it ran out"; bell has a payment entry | Top up. Assistants muted for billing reasons come back on their own within the hour — unless you had switched them off by hand. See Balance & billing |
| Status switch is off | Agents page reads "Agent … is paused" | Flip it. If the account has no plan you get "active subscription required to enable agent" |
| Outside Work Hours | Same paused label, flips by itself at the schedule boundary | Expected — off-hours messages are not answered later either; have an operator sweep them or use follow-ups. Work Hours |
| Standard / Pro plan limit | A second assistant switches itself off within ten minutes of being enabled | Only the most recently updated assistant stays active on those plans; upgrade to Multipro for several |
| Channel is off | On Channels the channel's Connect agent to this channel switch is off | Flip it on. Saving or updating a channel's credentials switches it off — re-enable after every credential edit |
| Channel disconnected | Bell shows disconnect_alert; the channel card reads Incomplete / needs reconnect | Reconnect on Channels. The alert repeats only after the next failure |
| Chat is in Operator mode | Header reads "AI … is off"; the chat sits on the Operator tab | Flip the chat's AI switch, or wait for Auto return (24 h by default). To bulk-return chats use Settings → Chat Actions — chats the agent itself escalated stay with the operator |
| Chat is marked as spam | Amber banner in the header; the chat is only on the Spam tab | Restore to work on the Spam tab |
| Messaging window closed (WhatsApp, Messenger) | Composer reads "Waiting for the customer to write"; sends fail | Business-initiated messages need an approved template — see WhatsApp |
| Message could not be processed | Bell shows handle-chat-…; after retries …-abandoned and the chat is flagged for Attention | The client's text is saved in the chat — reply by hand; if it repeats, check the model/tool errors with Debug |
| The agent chose not to answer | Activity shows the end_conversation tool (with User can have last word in a chat on) | Intended behaviour; turn the option off under Reply & Tools if unwanted |
| Contact blocked the bot | Red dot on the channel icon in the chat list | Nothing to fix on your side; outbound waits until they unblock |
A follow-up never fired
Work through the entries in the chat's Activity History — Follow-up scheduled, Follow-up postponed, Follow-up not scheduled, Follow-up step sent — each carries a reason. If there is no entry at all, the sequence never matched.
| Cause | Reason shown / how to tell | Fix |
|---|---|---|
| The sequence is a draft | Draft chip on the Outreach list and on the agent's Follow ups card | Publish it |
| Not attached to the agent that owns the chat | The agent's Toolkit → Follow ups does not list it | Attach it there — a missed call lands in the voice agent's chat, so attach to that agent |
| The client does not carry the status / labels | not scheduled with Requires vs Client has labels; with several labels check the and / or switch in the start node | Fix the tagging instructions or the targeting |
| Another follow-up won | not scheduled — superseded / replaced | A conversation runs one follow-up at a time; the one with the shortest entry delay wins. Narrow the targeting |
| The client replied | The sequence completed or moved to the reply branch | Intended: silence is the only trigger |
| Outside Follow-up hours | postponed — Outside working hours; retried three hours later | Widen the hours or accept the delay |
| Agent or channel is off | postponed — assistant off / channel off; dropped after too long | Turn them back on; the parked step resumes |
| The channel moved to another agent | The follow-up completed silently | Reattach the sequence to the new agent |
| Chat is in a Telegram funnel, spam, or Operator mode | No entry while the condition holds | Funnels pause follow-ups until they end; restore from Spam; return the chat to AI |
| Already ran on this chat | The sequence is in the chat's completed list | Sequences run once per conversation — use a new sequence or Clear chat history (destructive) |
| Delay looked shorter than what happened | A later step set to under five minutes sent after five | Steps after the entry step have a 5-minute floor, so two messages never land together |
| Message could not be delivered | sent via … — … would not take it, or could not be delivered — no channel left to try | Add channels to the step's Send via channel(s) or the channel's Follow-up settings; enable the delivery-failure instruction |
Full rules on Follow-ups & Outreach.
An outreach or broadcast did not reach someone
| Status in Outreach Results | Meaning | Fix |
|---|---|---|
| Failed | A send was attempted and the channel refused — the Error column has the platform's reason (blocked, not on the messenger, restricted, invalid number) | Fix the contact data or pick another channel; enable Outreach failure alerts on the agent to hear about these in Telegram |
| Skipped | Nothing was attempted: the person stopped matching the filters between saving and their turn, or the lead was deleted | Expected with a static audience; re-run with fresh filters |
| Not in the list at all | The audience is frozen when you save — people who started matching later are not added | Create a new campaign |
Other frequent causes:
- Channel order — with several channels the first success stops the rest; a contact with only an email never reaches a phone channel.
- No cold outbound on bot channels — WhatsApp (official), Instagram, Messenger, Telegram bot, Viber bot, TikTok and the widget only deliver where a chat already exists.
- Personal WhatsApp spam restriction — heavy outbound queues for 24 hours with a "Sending is temporarily restricted" status.
- Sending window — messages wait for the window to open; without a timezone the window is read in UTC.
- Assistant inactive at run time — the whole campaign goes to Failed with that reason in the header.
- Failed first-touch attempts leave empty chat stubs in Active chats — hide them with the Hide failed outreach filter.
The numbers don't match
| What you compared | Why they differ |
|---|---|
| The All tab unread pill vs the chats you see | The pill and the sidebar badge count every non-spam chat in the account, ignoring filters, tab and Access scope |
| Attention badge vs rows | The badge is a live count of flagged chats; if the first page comes back empty the badge is forced to 0 |
| Unread after Mark as unread | That action sets the count to the whole history length of the chat, not the real unread number |
| Executed on the Outreach list | Postponed: conversations that completed the whole sequence. Immediate: delivered in the last run (reset when a run starts) |
| Leads "missing" from the Leads page | The page opens with a Date created: last 3 days chip — clear it |
| Board column badge vs the list total | Column badges come from the counts endpoint; a search on the board switches to a flat fetch and counts loaded cards |
| Dashboard tiles vs your own count | Default range is the last 7 days in Europe/Kiev; only billable usage counts (test chats, call openers and analytics are excluded); Average chat msgs rounds down |
| Orders "Showing X–Y of Z" vs visible rows | The Status category and Manager filters apply to the fetched page only; Z is the unfiltered total |
| Product list total vs rows | The Warehouse filter applies to the current page only |
| Total in stock vs the warehouse breakdown | Stock lines whose warehouse was deleted still count in the total but have no row |
A lead is missing or duplicated
| Situation | Explanation |
|---|---|
| A lead you know exists is not on Leads | Clear the Date created chip; check your Access scope (leads are visible if they sit in one of your pipelines or have a chat on one of your agents) |
| Create external lead said "Lead created" but nothing new appeared | Same phone or email already existed — the platform updated that lead instead of creating a duplicate |
| Editing a phone fails with "Phone number already in use" | Another lead owns it; the dialog offers to merge the two |
| A CRM or import sent an email that never showed up | When the email belongs to another lead, non-interactive writes drop the email silently and save the rest |
| Two leads for one person | They were created with different identifiers (phone vs email) — use Merge leads from the lead record; chats, notes, tasks and orders move to the survivor |
| A webhook lead exists on Leads but has no chat | Capture only mode saves the lead and sends nothing; use the record's outreach buttons to start a conversation |
| A form lead was counted Skipped by the automation | No identifier usable by the selected channels (no phone for WhatsApp, no email for Gmail) |
A booking landed wrong
| Symptom | Cause | Fix |
|---|---|---|
| Booked hours away from what the customer said | The calendar's Timezone is still UTC | Set it on the Calendar integration; the grid displays in the calendar's zone |
| "This time slot conflicts with existing event …" on + New Event or after a drag | The slot overlaps another booking for the same staff member (cancelled events don't count) | Pick another time; group classes are gated by seats instead |
| The agent offered a day, not a time | A service of 24 hours or longer is booked by the day (Check-in / Check-out) | Expected; shorten the service duration for hourly slots |
| "A booking cannot span more than 90 days" | Stays are capped at 90 calendar days | Book in parts |
| The customer never heard about a change you made | Staff-side edits, drags and cancellations send nothing | Message them from the chat — View Chat on the event |
See also
- Chats & client analytics — tabs, badges and the Attention queue.
- Follow-ups & Outreach — the full runtime rules and limits.
- Automations — status card states and retry semantics.
- Balance & billing — zero-balance behaviour and recovery.
- Notifications — what each alert means.
- Leads & Pipelines — filters, merge, import and dedupe rules.
- Calendar — timezone, conflicts and stays.
- Search troubleshooting — when the assistant can't find a product.
- Agents troubleshooting — the Agents Platform counterpart.
