Inbox

Sidebar: Communication → Inbox

Module: Inbox — active on every account from the start.

The Inbox holds every conversation your team has with a person, on every channel FlyB carries: WhatsApp and FlyB Chat — the chat window behind a floating button on your pages. A lead who chats on your site and later messages you on WhatsApp is one thread, with both conversations interleaved in it.

WhatsApp is part of Plus and Prime. The Inbox itself is open to every account, and FlyB Chat conversations land in it from day one. WhatsApp is the WhatsApp module, switched on from the Modules screen on a Plus or Prime plan (it requires the Inbox module); the subscription enables WhatsApp Web, which is how the number is linked. The official Cloud API is still limited to accounts in the beta program while it is homologated with Meta. Until the module is on, the WhatsApp controls described below (numbers, templates, starting a conversation by phone, WhatsApp message automations) do not appear. Message automations on FlyB Chat are open to everybody. See Settings → Integrations for the two ways a number is connected — the official Cloud API and WhatsApp Web.

In the Inbox a number is simply WhatsApp, however it was connected. The one difference you will notice: a number linked through WhatsApp Web has no 24-hour window and no templates, so the message box never locks on it and offers automation messages instead — see Numbers linked through WhatsApp Web.

The unread counter in the menu

When your account can receive a message at all — a WhatsApp number is connected, or a page or blog has a FlyB Chat floating button — the Inbox entry in the sidebar shows how many people are waiting with unread messages: the same number as the Inbox’s own Unread view. It refreshes about every 30 seconds on every screen, and right away when something in the Inbox changes what is unread — opening a thread, a bulk action. A folded Communication group shows the count on the group, and on a phone a dot on the menu button says there is something to read.

What makes this different

Every WhatsApp inbox on the market lists conversations. Somebody who has never written to you does not appear in it.

That sounds reasonable until you watch what happens on a Tuesday morning: a lead books a meeting at nine, and the booking lands in your calendar, in your e-mail and on your CRM board — and in no place anybody is actually looking. Nobody messages them. The meeting happens, or it does not.

The FlyB Inbox lists people. Every contact you can see is in the queue, whether or not they have ever sent a message, ordered by the last thing they did. The person who booked at nine is at the top at 9:01, with a chip saying how long ago, their whole history in the thread, and the composer already open beside them.

Messages nobody typed

A message nobody typed carries a purple ⚡ badge naming what sent it, so a colleague reading a thread can tell “my teammate answered”, “our system sent this” and “nobody has replied to them yet” apart without asking. The ⚡ button in the toolbar opens the rules themselves.

Three things write to a customer on their own, and the badge tells you which:

BadgeWhat sent itWhere to change it
The rule’s nameA message automation ruleMessage automation
CRM · <stage>The Send WhatsApp automation on a CRM stageThat stage, on the CRM board
<calendar> · ✓ / <calendar> · 24hA calendar’s WhatsApp confirmation, or one of its reminders (with its offset: 30min, 24h, 2d)That calendar’s editor, under Notifications

A rule’s message sent by a funnel stage’s Send message via FlyB Chat automation carries the rule’s name too — the words are the rule’s, and that is where they are edited. And when a teammate sends a rule’s message by hand (below), the ⚡ badge is followed by their name: the words came from the automation, the decision to send them was a person’s.

Worth knowing when a contact receives the same message twice: the two screens can each be set to send the same template, and a booking or a form that both creates the lead in a CRM stage and fires a rule will then send it once from each. The badges are what tell them apart — turn off whichever of the two you did not mean to keep.

The queue

Each row is a person. The card shows their name, the last thing that happened, how long ago, and — when they have one — a rail down the left edge, which is how you tell at a glance who has a live conversation and who is only a contact with a history. The rail is WhatsApp green or FlyB Chat blue, after the channel of their newest conversation, and a FlyB Chat preview starts with the chat icon.

The rest of the card: unread count, the qualified star, the Lead Score, up to two tags, which of your numbers the conversation belongs to (only when you have more than one), and who it is assigned to. A person with a FlyB Chat conversation also carries where they are — Online in the chat with a green dot while they have the page open, or Seen 5 min ago after — the same thing the conversation header says, so you can tell who is on your site without opening anybody.

Views

The Inbox opens on Pending, not on All, and it does so every time — nothing about the view you were last on is remembered. All is sorted by the last thing that happened, so its top row is as likely to be a thread somebody closed yesterday as one still waiting for an answer: it is a feed. Pending is a shift’s work.

You switch views from the list at the start of the toolbar, which names the one you are on. Opening it shows every view at once, grouped — Service, Team, Channels, Contacts and Subscriptions — each with how many people are in it. The counts are read the moment you open the list, and under whatever is narrowing the queue (a number, a tag, the search, the advanced filter, a Hunt AI list); the list says so when that is the case. The same views, with room to read what each one holds, are the overview in the middle of the screen.

ViewWho is in it
PendingEvery unresolved conversation the customer has written in — and everybody one of your Notes & Tasks reminders or booking reminders brought back (see Reminders are yours). A conversation your team started is not here until the customer answers. Where the screen opens
AllEveryone you can see, conversation or not — including snoozed threads
Waiting on usNot resolved, and the customer spoke last
Waiting on themNot resolved, and somebody from your team answered — or your team started the conversation and the customer has not written yet
ResolvedPeople with no conversation left open — every one of them resolved
SnoozedEverything put off until a later moment, with the moment on the card
UnreadMessages nobody has opened, in conversations that are not resolved
MineOpen conversations assigned to you
RemindersEverybody a reminder of yours is holding in your queue — conversation or not, snoozed or not. Appears while there is one; see Reminders are yours
UnassignedPeople with an open conversation that has no owner
WhatsAppOnly people who have a WhatsApp conversation
FlyB ChatOnly people who have a FlyB Chat conversation. Appears once there is one
Recently onlinePeople whose FlyB Chat window was open in the last two hours, whether or not they wrote today. Appears with the FlyB Chat view
No conversationOnly people with no conversation on any channel
Window closingNot resolved, the customer has written in it, and the 24-hour window ends within two hours. Offered only while a number connected through the official Cloud API is connected — a number linked through WhatsApp Web has no window to close
ActiveEveryone with a running subscription
CancelledEveryone who had a subscription and has none running now

Waiting on us and Waiting on them are the two worth learning. “Not resolved” is a pile; “waiting on us” is a shift’s work. FlyB moves a conversation between them on its own: an inbound message puts it back in waiting on us, and any reply — from FlyB or from the WhatsApp app on your phone — moves it to waiting on them. A resolved conversation is not moved back: the next message starts a new one (see Resolving a conversation).

A conversation your team starts is in Waiting on them only. A promotion, a booking confirmation, a follow-up from an automation, a template sent from the Inbox, a message typed on your phone: until the customer writes back, nobody is waiting on you, so it stays out of Pending and Waiting on us — even if the message failed, which the thread shows on the bubble. The moment the customer answers, it is in Pending and Waiting on us like any other.

Mine, Unassigned, Unread and Snoozed only count conversations that are not resolved, so somebody you looked after last year does not stay in your Mine — and a message left unread on a conversation somebody resolved does not keep the thread in Unread.

Active and Cancelled are the two that ask about money rather than about a message, which is why they sit apart, at the end of the list under Subscriptions. A subscription counts as running while it is active or trialing — a trial is a live subscription, and a customer in their first week is not a churned one. Cancelled is “had one, has none now”: somebody who cancelled last month and resubscribed this month is in Active, not here. Both are only shown to members whose role can see the Financial module, because a count is an answer as much as a list is.

Every view except All, WhatsApp, FlyB Chat, No conversation, Active and Cancelled is a question about a conversation, so people who have never written are not in them — with one exception: when a reminder of yours comes due — a Notes & Tasks reminder or a booking reminder — the person is in your Pending and Waiting on us, conversation or not, with a Reminder chip on their card saying how far its moment is (Reminder · in 45 min), until you resolve or snooze the thread. A colleague’s reminder changes nothing in your Inbox — see Reminders are yours. Somebody talking to you on both channels is in both channel views.

Where snoozed conversations are. A thread you have snoozed is taken out of Pending, Waiting on us, Waiting on them, Unread, Mine, Unassigned and Window closing for as long as the snooze lasts — that is the whole point of snoozing one. It stays in All, where it is dimmed and carries an amber Snoozed until… chip, and it is in Snoozed with everything else that was put off. Nothing else changes: a snoozed conversation is still a conversation, so it stays in WhatsApp or FlyB Chat (and in Recently online while its visitor is around), and resolving one files it under Resolved and ends the snooze. If a working view is empty while something is snoozed, the queue says so and offers the one click that shows them.

An empty view always says why. A working view with nothing filtering it reads All caught up — nobody there is waiting on the team. One emptied by the search or a filter says so and offers Clear filters; any other offers See everyone.

A row is a person, so a view that asks about a conversation answers over all of that person’s conversations: somebody reachable on two of your numbers is in Pending while either thread is open, and is only Resolved once both are closed. Snoozing from the panel snoozes all of them at once, for the same reason.

The overview

While no conversation is open, the middle of the screen is the overview: every view with who is in it and how many, grouped like the toolbar’s list. Click one and the queue beside it shows it — the toolbar follows. The numbers update while the overview is on screen (when something arrives, when you change a filter) and are counted under whatever is narrowing the queue, which the overview says, with Show everything to drop the search, the filters and a Hunt AI list at once. The FlyB Hunt AI card at the bottom opens the hunter.

The Inbox comes back here after anything that reshapes the queue — a bulk action, or applying an advanced filter — because the conversation that was open may no longer be in the list, and what is left is the next thing worth reading. The × at the top right of a conversation, or Esc, closes it and brings you back too. On a phone, where the list is the whole screen, the same moves bring you back to the list.

Searching and filtering

The search box matches name, phone, e-mail and company, and the message previews of orphaned threads. Press / anywhere in the Inbox to jump to it.

Filters, beside the search, narrows the list by number (when you have more than one), tag, assignee and the advanced filter, and shows how many are on. Every filter that is on is also written out above the queue — the advanced filter as its conditions (Tag equals VIP and Source contains Instagram), the others by what they are set to — each with its own ×, so a forgotten filter can never pass for an empty queue.

Advanced filter is the same filter editor as the Contacts screen — the same fields, the same operators, including custom fields, CRM stage, tags, e-mail activity, whether the person has a WhatsApp or a FlyB Chat conversation, and Lead Score. Nothing is saved: it applies to the queue until you clear it. Applying it closes the conversation you had open and shows the overview, counted under the new filter; Edit on its line above the queue reopens it with the conditions you set, rather than an empty form.

The gear in the toolbar (in the ⋯ menu on a phone) opens the connected numbers manager without leaving the Inbox — the same panel as Settings → Integrations, so you can rename a number, change who sees it, or go straight to its message templates. Connecting a new number is still done on the integrations screen, and the button takes you there. The same manager is one click away from message automation too.

FlyB Hunt AI

The purple Hunt AI button in the toolbar opens FlyB Hunt AI — the opportunity hunter — in the middle of the screen; its × (or Esc) goes back to the overview. While a hunt runs, the button spins and shows how far it has got, and a conversation opened from a hunt list comes back to the hunter when you close it.

Write a Hunt Rule in plain words — “contacts who showed interest in our services but have not booked a meeting yet” — choose a period, and the AI scores every contact active in it from their conversations, notes, tasks, appointments, e-mails and funnel history. Picking a rule turns the queue into its list: the contacts at or above the rule’s minimum match, best match first, each card carrying its score. A line above the list names the rule, and its × returns to the queue you were on. Everything on this page works on that list — the views, the search, the filters, the conversation and the bulk actions. Searching is part of the Plus and Prime plans and costs Flights by the number of contacts analysed. See FlyB Hunt AI.

The conversation

Messages and events in one column, oldest at the top — every conversation the person has had, each starting under a divider that says when and on which channel:

———— Conversation started on 06/10/2026 14:03:22 via WhatsApp ————

and, when it was resolved, closed by a Conversation resolved on … by … line. Scrolling up keeps loading older messages, across as many conversations as there are. See Resolving a conversation.

Your messages sit on the right in green, the customer’s on the left in white. A FlyB Chat message is blue instead — right or left. Every bubble carries its channel’s mark beside the time — the WhatsApp logo or the FlyB Chat icon, with the name on hover — so a thread holding both channels can never be answered on the wrong one by mistake; the header then shows whether the visitor is online in the chat right now. A message sent from the WhatsApp Business app on your own phone is marked from the phone, so you can tell “a colleague answered on their mobile” from “our system sent this”. Delivery is one tick sent, two delivered, two blue read, and a warning with the reason when a send fails. FlyB Chat adds two red ticks — ignored: the visitor saw the new-message card over the chat button and closed it without opening the chat — and an envelope when your replies went 15 minutes without reaching the chat and were e-mailed to the visitor instead. On a FlyB Chat message the visitor has not read yet, an envelope with a + sends it to their e-mail right away. Hover any tick for what it means on that message’s channel — see FlyB Chat.

Edited messages show the new text and say edited. Deleted messages keep their place and say so. FlyB never rewrites or removes a line of a transcript. A message the customer forwarded to you says Forwarded (or Forwarded many times), as it does on WhatsApp.

Replies

A reply shows the message it answers, quoted at its top: who wrote it and its first words — or what it was, with an icon (Photo, Audio, Document, Location…). That holds for every reply in the thread: the customer’s, the ones typed on the WhatsApp app of your own phone, your team’s from the Inbox, and the visitor’s in a FlyB Chat window. Click the quote to jump to the original message, which lights up for a moment; if it is further up than the messages loaded, load the older ones first.

To answer a specific message yourself, hover it and press the arrow. The message box shows Replying to … with the start of the message, and what you send carries the quote — on the customer’s phone it is an ordinary WhatsApp reply, in the visitor’s chat window a quote above your words. The box moves to the channel — and, on WhatsApp, to the number — the message is on, because a quote only works inside the chat it came from; switching to another channel or number drops the quote, and the × removes it.

A reply to a message FlyB never received — anything from before the number was connected — says Original message unavailable. On a number linked through WhatsApp Web the quote still shows what the original said, because WhatsApp sends it along with the reply.

Reactions

A reaction is an emoji on a message, never a message of its own. When a customer reacts to one of your messages — or you react from the WhatsApp app on your phone — the emoji appears on that message’s lower-left corner, as on WhatsApp. It is not a new bubble, does not count as unread, does not move the conversation in the queue and does not trigger message automations. Each side keeps one reaction per message: a new one replaces the previous one, and a reaction removed on the phone disappears here too. Hover it for who reacted and when.

Your team can react to the customer’s messages: hover one, press the smiley, and pick one of the six quick reactions — or + for any emoji. Pick the same emoji again to remove it. Like the business’s WhatsApp account, your team holds one reaction per message, so a colleague’s replaces yours.

WhereWhen you can react
WhatsApp (Cloud API)While the 24-hour window is open, and on messages from the last 30 days — WhatsApp’s own rules. Outside them the smiley is not offered
Number linked through WhatsApp WebAny time
FlyB ChatAny time. The visitor sees it the next time their chat checks in

A reaction still on its way to the phone shows faded; one WhatsApp did not deliver has a red outline and says why on hover. Reacting writes to the customer, so it needs the same permission as sending a message.

Events in the middle of the messages

This is the part no other inbox has. In the same column as the conversation, in chronological order:

  • Contact created — with the form or origin it came from
  • Booked a meeting / Rescheduled / Cancelled — with the date and the calendar, when the calendar is yours (see below)
  • Booking reminder — a card of its own, see Booking reminders
  • Received the e-mail / Opened the e-mail / Clicked “button” in the e-mail / E-mail not delivered — one click entry per button, with how many times it was clicked
  • Entered the stage X of funnel Y · Marked as won · Marked as lost, with the loss reason
  • Tagged
  • Lead Score changes, with the rule that granted them
  • Deal created · Placed an order · Paid
  • Internal notes from your team

So a thread reads like a story: filled in the quote form → messaged on WhatsApp → booked a visit for Thursday → paid the deposit. It is the reason a contact with no conversation is in the queue at all — there is something to read.

The thread is yours. The Inbox is your workspace, so two things are only shown to the people they concern:

  • an appointment — booked, rescheduled, cancelled, reminded — on a calendar whose responsible members do not include you (a calendar with nobody named belongs to the whole team, so everybody sees its appointments);
  • a Notes & Tasks reminder that was meant for other members.

Nothing is lost: the contact record shows everything — every appointment with the members responsible for it, every task with its assignee, and every reminder still waiting with the members it is waiting on. That is where a manager reads the whole picture. The conversation itself is never filtered: every message, sent or received, by a person or an automation, is in every thread that shows it.

Booking reminders

When one of a calendar’s reminders comes due, the calendar’s responsible members are told — or the whole team, when the calendar names nobody — and only them (see Reminders are yours). For each of them the guest comes back to the Inbox: to the top of their queue and into their Pending, with the time left until the appointment on the card’s chip and a pop-up on whatever screen they are on. This happens even when the guest could not be reminded (no e-mail address, no WhatsApp consent): that is exactly the guest somebody should confirm by hand. Nothing about the conversation itself changes — a snoozed conversation stays snoozed for the rest of the team, a resolved one stays resolved.

When the reminder reached the guest, their thread carries a reminder card. It shows:

  • the calendar the appointment is on, as its title;
  • the appointment’s date and time, on the calendar’s time zone (named when it is not yours);
  • how the guest was reminded — E-mail, WhatsApp or both — and how long before;
  • Join the meeting and Copy meeting link, when the appointment has a Google Meet room;
  • Modify, which opens the booking page with the appointment selected.

One appointment is one card: a reminder that went out on both channels is a single card, and a calendar that reminds a week, a day and an hour before shows only the latest of them, saying how many went out (latest of 3 reminders). If the appointment was moved afterwards, the card says where it is now; if it was cancelled, the card says so and drops the meeting link. A moved or cancelled appointment’s reminder also stops holding the thread in Pending. Otherwise it stays there until you resolve or snooze the thread — a reply alone does not clear it, so an automation answering the guest cannot hide it from you.

Reminders are yours

A reminder belongs to the members it is for:

ReminderWho it is for
A Notes & Tasks reminderIts responsible member, and the members it e-mails
A booking reminderThe calendar’s responsible members
Either, with nobody namedThe whole team — and whoever deals with it, deals with it for everybody

For those members, and nobody else, the person rises to the top of the queue, sits in Pending and Waiting on us, carries the yellow Reminder chip — with how far its moment is: in 45 min, now, 10 min ago, tomorrow 15:00 — and the dashboard shows a pop-up. A colleague’s reminder does not move anybody in your Inbox, and the thread does not show it to you either. A member restricted to their own contacts is never reminded about somebody else’s.

Resolving or snoozing the thread — or pressing Resolve on a thread held only by the reminder — deals with your reminders and the team’s. A colleague’s own reminder about the same person stays with the colleague: they still have the appointment.

Reminders that were already waiting before this behaviour existed carry no record of whom they were for, so they stay visible to everyone, as before, until somebody resolves them.

The reminder pop-up

The moment a reminder of yours comes due, a pop-up opens on whatever screen of the dashboard you are on. It shows the person (name, phone, e-mail) and the reminder — for an appointment, the calendar, the date and time on the calendar’s clock, how long until it starts, and how the guest was reminded; for a task, its title and its words — with:

ButtonWhat it does
Join the meeting / Copy meeting linkThe appointment’s Google Meet room, when it has one
RescheduleOpens the booking page with the appointment selected, in a new tab
Cancel bookingThe same cancellation dialog as the calendar: the reason, whether the guest is told and invited to book again. Needs the permission to update calendars
Open the recordA task reminder’s note, on the contact
Open in the InboxThe person’s conversation, in Pending

Several reminders at once are listed together. Dismiss (or the X) closes the pop-up for you only — it does not resolve anything: the chip and Pending stay until the thread is dealt with. A reminder keeps popping up until you dismiss it while it is recent (12 hours) or while its appointment is still ahead, and it stops by itself once the thread is resolved or the appointment is moved or cancelled. A click outside the pop-up does not close it.

With several tabs open, each one shows it; dismissing in one clears the others within a minute. The pop-up can also be announced by your browser while FlyB is in the background: press Also notify me while FlyB is in the background in the pop-up and allow notifications (this needs the dashboard on its secure address, as in production).

Attachments

Images, voice messages, videos, documents, locations and shared contacts are all shown. Photos appear in the thread and open full screen; voice notes have a play button and their length; videos play in place; documents show their name and size and download on a click.

Every attachment is kept. WhatsApp itself deletes a file after 30 days, so FlyB copies each one into your organization’s storage the moment it arrives — the photo of the damaged part, the signed quote and the voice note agreeing a price are still there in month three. Deleting the conversation deletes its files with it, and so does removing the number they arrived on.

An attachment received before this existed has no copy, and is fetched from WhatsApp the first time you open it — which also stores it, so the thread repairs itself as it is read. Past WhatsApp’s 30 days those older ones say so rather than failing silently.

Button taps

When a contact taps a button — one on an approved template, or the reply button on a service message or a message automation, on WhatsApp or in the FlyB Chat window — the button’s text arrives as a message from them, and that is exactly how it appears here: an ordinary bubble carrying the button’s own words, with a small Tapped a button marker above it so you can tell it from something they typed.

It is an ordinary message in every other way too. It moves the conversation to the top of the queue, it counts as unread, on WhatsApp it re-opens their 24-hour window, and it can trigger a message automation — a keyword rule reads it like any other message. That is what makes a button worth offering: one tap, and the next rule answers.

Buttons FlyB sent are drawn on the outgoing bubble as well, under the words — all of them, in the order the contact saw them — so a thread answers “did we actually send them the link?” without anybody guessing.

The message box

Everything to the left of the message box puts something into the message you are writing: the paperclip, the microphone, the calendar and the emoji button, and nothing else. The emoji picker has a search (in English and Portuguese), your most recent emoji first and seven groups; it puts the emoji where the cursor is and stays open for the next one. It works on every channel and in internal notes.

The calendar opens your team’s agenda, to book a time for this person or suggest one in the conversation — see Booking or suggesting a time. It is only there when your organization has a calendar, Scheduling is on and your role may see calendars, and not in an internal note.

Everything that is not “reply to this person right now” is behind the three dots to the right of Send, as a menu that opens upwards:

OptionWhat it does
Internal noteTurns the box into a note — amber, padlocked, never sent to the contact
Add notes & tasksOpens the contact’s Notes & Tasks editor: a full note about the person, and the tasks — reminders, e-mails, WhatsApp and FlyB Chat messages, CRM moves — that run on their own at the date you pick
Send a templateOpens the template picker, whatever the 24-hour window is doing. Not offered on a number linked through WhatsApp Web, which has no templates
Send an automation messageOpens your automations’ messages, ready to send. On WhatsApp only while the 24-hour window is open — always on a WhatsApp Web number; on FlyB Chat always

Send through. When a person can be reached on both WhatsApp and FlyB Chat, a switch under the box — WhatsApp | FlyB Chat — says where the next message goes. Opening a conversation sets it to the channel of its last message, sent or received — where the exchange is happening right now — and it then stays where you put it: a message arriving on the other channel never moves it while you type. FlyB Chat mode turns the box blue and carries text only: no attachments, no templates and no 24-hour window. The FlyB team’s own Inbox can also use it to write first to a FlyB customer, who reads it in their dashboard; everywhere else a FlyB Chat message is always a reply. See FlyB Chat.

Both used to be somewhere else, and both were in the wrong place. The note was a toggle at the head of the icon strip, one press from the message field and looking exactly like the attachment buttons beside it — so it was most often discovered by writing a reply and watching it become a note nobody outside the company would ever read. The template picker had the opposite problem: it appeared only once the window had closed, which left no way to ask for a template on purpose.

Sending photos, videos, audio and documents

The paperclip beside the message box opens your library at the kind you pick — Image, Video, Audio or Document. These are the files you send again and again: the price list, the product video, the standard greeting. They live in folders you name, in the library, and they stay there after they are sent.

For everything else there is no library at all:

GestureWhat happens
MicrophoneRecords a voice note. You hear it back before it goes.
Ctrl+VPastes a screenshot straight into the conversation
Drag a file inDrop it anywhere over the conversation

Those go to the customer and belong to that conversation only. They are never filed in your library, because the screenshot answering one question is not an asset — and a library full of them is a library nobody can use.

Whatever the route, the file lands in a strip above the message box before it is sent, with its name, its size and a preview. Nothing leaves until you press send, which is the only moment a mistaken paste can still be caught. Type beside it and the text becomes the caption. Drop several at once and they queue up; the caption rides on the first.

WhatsApp’s own limits apply and are stated before the upload, not after it fails: 5 MB per image, 16 MB per video or audio file, 100 MB per document, in the formats WhatsApp carries (JPEG and PNG; MP4 and 3GP; MP3, AAC, M4A, AMR and OGG; PDF, Word, Excel, PowerPoint, TXT and CSV).

The library

The same folders that have always held your images now hold videos, audio and documents too. Open it from the paperclip, or from anywhere else in FlyB that asks for a file.

  • Videos and audio play inside the library, so you can confirm you have the right one before you send it.
  • Audio can be recorded right there — press Record audio, listen back, and save it to the folder. It is stored in the format WhatsApp expects, so it is ready to send to anybody.
  • Deleting a folder deletes the files inside it.

The 24-hour window

WhatsApp lets a business reply freely for 24 hours after the customer’s last message. After that, only an approved template may be sent, until the customer writes again.

This is Meta’s rule, not FlyB’s, and the Inbox makes it visible instead of letting you discover it through a failed send:

StateWhat you see
OpenA green chip counting down (21h 04m)
Closing (under 2 hours)An amber bar: answer now, or it becomes a template
ClosedThe message box is locked, with the template picker in its place

A template can also be set up to send a free-form service message while the window is open, instead of the paid template — see How a template is sent. That applies everywhere FlyB sends templates, automations included, not only here.

The Window closing view is the queue of conversations about to expire. A lead with an open proposal and a window closing in forty minutes is worth real money, and that view is where you find them.

Numbers linked through WhatsApp Web

A number linked through WhatsApp Web is a device of the owner’s phone, and the 24-hour rule is Meta’s rule for the Cloud API — so on such a number none of the above applies. There is no countdown chip and no Window closing; the message box is always open, whenever the customer last wrote; and Send a template is not offered, because the number has no templates — Send an automation message is its ready message. Buttons go out as text under the words, since WhatsApp does not display buttons sent by a linked device.

Three things are its own:

  • Online. When the number follows its contacts’ online status (a setting of the number), the header and the queue show Online while the contact is on WhatsApp, and seen 5 min ago after — the same dot FlyB Chat shows.
  • Messages wait for the number. A message sent while the number is reconnecting waits with a clock beside it and goes out when the number is back. It can wait for about 12 hours; after that, or when WhatsApp refuses it, it is marked failed.
  • Try again. A failed message on such a number has a Try again link under it. The same message goes back into the number’s queue — one bubble in the thread, whose ticks start moving again.

A number that only sends

A number whose Receive messages is switched off in Settings → Integrations still sends from here as usual, but whatever the contact answers on it is discarded before FlyB stores it. The message box says so above the text field — “This number does not receive messages: the contact’s reply will not show up here.” — so nobody waits on the thread for a reply that cannot arrive. A conversation that only FlyB wrote in stays in Waiting on them, and never reaches Pending.

When the contact has no number

A contact you created by hand — an e-mail address and a name, nothing else — has no WhatsApp address at all, so the 24-hour rule is not what is stopping the message. The composer says so instead: “This contact has no phone number on file. Add a number so messages can be sent.”, with an Add number button that opens the contact form. Fill in the phone, save, and the thread behaves like any other. The button only appears if you may edit contacts.

When a message does not arrive

Every send WhatsApp refuses is written into the conversation as a message marked failed — red rather than green, with WhatsApp’s own reason under it and their error code beside it. Nothing is silently dropped.

That is true wherever the send came from: the message box, the template picker, a CRM automation, a message-automation rule, or the API. A rule firing at three in the morning against a template that was renamed at Meta leaves a bubble in that lead’s thread saying so, next to the lead it was meant to reach — instead of leaving nothing at all.

The conversation moves up the queue when it happens, and it stays in Open — a message that never arrived does not count as having answered anybody.

Common reasons, and what to do:

What it saysWhat it means
needs display name approvalMeta has not yet approved the name your number sends under. Nothing is wrong with the message; the number cannot send until the review clears
Template ’…’ not foundThe template was renamed or deleted at Meta, and something still points at the old name. Fix the name on the rule, or Sync the templates
no longer accepts the access tokenThe connection expired or was revoked — see below
24-hour service window has closedNot recorded as a failure: FlyB falls back to the approved template, which is always allowed

When the number itself cannot send

A different failure, and it says so plainly: “This WhatsApp number cannot send right now. Reconnect it in Settings → Integrations.” Nothing is wrong with your message — WhatsApp has stopped accepting the connection, which normally means the access token expired or was revoked (changing the Facebook password does it, and so does removing FlyB from the business account). The number is marked disconnected on its card in Settings → Integrations; reconnecting it restores sending, and nothing in the thread is lost in the meantime.

Sending a template

Templates are approved by Meta in advance and can be sent at any time — including to somebody who has never written to you, which is how a conversation starts from your side.

Open the picker from ⋮ → Send a template beside the Send button — at any time, whatever the window is doing. When the window has closed the composer also offers it directly, since a template is then the only thing that can be sent.

Pick the template, and fill in its variables. The templates are listed by number — the conversation’s own number first — and choosing one also chooses the number it goes out from, since a template only exists on the number Meta approved it for. Only the numbers you may use in the Inbox are offered. FlyB pre-fills what it can — the contact’s first name, your organization’s name, and whatever the template itself maps its variables to — and shows you exactly what the customer will receive before you send. Anything you type over a pre-filled field wins. Sending creates the conversation, and the customer’s reply lands in that same thread.

If the window is still open on the conversation’s number, a template set up to be sent as a service message goes out as a plain message instead — free, and without the template wording. The preview says so and shows that message rather than the template, so what you read is what leaves. A template picked on a different number is previewed as the template, because there is no open window on a number the customer has not written to. The {{contact.…}} variables in it are filled on send, so they stay visible in the preview. If the service message carries buttons, the preview names the first of them too.

In the thread, a sent template shows the words the customer received — its header, text and footer with every variable filled as it went out, its buttons underneath, and the template’s name on the Template badge above. That holds wherever it was sent from: this picker, a CRM stage, a message automation, a booking confirmation or reminder, or a task. The conversation list previews the same text. A template sent before this existed shows only its name, since its words were not recorded.

Templates are created and edited in FlyB, on the Templates button of each connected number in Settings → Integrations — or through the gear on the Inbox toolbar, which opens the same manager. Only templates Meta has approved can be picked here; one still in review, rejected or paused is shown greyed out with its status, because it cannot be sent yet.

Sending an automation message

Every message automation is also a ready message: its text, its buttons and its variables. ⋮ → Send an automation message beside the Send button lists them, and sends the one you pick to this person, right now. A rule written for nothing else — No trigger — is listed first; every other rule follows, since any automation’s words may be worth sending by hand.

What is listed follows the channel the message box is on:

ChannelListed
WhatsAppEvery WhatsApp automation — free-form messages and approved templates. Offered only while the customer’s 24-hour window is open: once it closes, an approved template is the only thing WhatsApp allows, and Send a template right above is that. On a number linked through WhatsApp Web it is always offered and lists every automation that has words — a template automation goes out as its template’s text, and a FlyB Chat automation as written
FlyB ChatEvery FlyB Chat automation, plus every WhatsApp automation written as a free-form message — its text and buttons go through the chat. A WhatsApp template cannot, so it is not listed

A template automation is marked when its template is not approved on the number the conversation is on, and cannot be picked there — Meta approves a template per number.

The preview is the message this contact receives. Picking a message shows it the way their app draws it, with the variables already filled from their record — their name, their next appointment, the link that reschedules it — so there is no {{contact.first_name}} to imagine. For a template it also says which version leaves: inside the window, a template with a free-form version goes out as that. A message whose variables leave it empty for this contact says so, and cannot be sent.

Search by name or by the words of the message, walk the list with the arrow keys, and press ⌘/Ctrl + Enter to send. A paused automation is still listed, marked Paused: pausing stops what a rule does on its own, and you choosing to send it is not that.

The message appears in the thread with the automation’s ⚡ badge and your name, and a line in the automation’s history — Sent by you. It does not count towards the rule’s once per contact or minimum gap, which describe what the automation does on its own. Offering this needs permission to write in the Inbox; the automations themselves are created in Communication → Message automations, which the dialog links to.

Booking or suggesting a time

When somebody asks for an appointment in a conversation, the calendar button beside the microphone opens the team’s agenda. On the left, every calendar of your organization — not only the ones you are responsible for, because whoever books for the team (the front desk booking the doctor’s diary) books on all of them. Switched-off calendars are listed but cannot be picked, and the agenda reopens on the calendar you used last.

On the right, one day of that calendar: it opens on today, the arrows walk day by day, Pick a date jumps to any day up to the last one the calendar takes bookings on, and Next free time jumps to the next day with something free. Every time the calendar’s hours lay out on that day is listed — taken or free — with how long it lasts and what it is:

StatusMeaning
Preferred ★Free, and one of the times your booking page is offering guests right now under the calendar’s presentation rule — the ones you want filled first
AvailableFree. The booking page may not be showing it (one time a day, priority times first…), but you can take it
BookedSomebody holds it: their name and phone are shown, and This contact when it is the person you are talking to. A member who sees only their own contacts sees A teammate’s contact instead
Awaiting paymentReserved for a guest whose online payment is still clearing
Busy on Google CalendarThe linked Google calendar (or one of the extra calendars it checks) has something then
Overlaps another bookingAn appointment sits off the calendar’s grid — moved in Google, or booked under older hours — and covers this time
Blocked on this calendarThat very time was blocked on the calendar
Time offThe day is inside a vacation period, which is named above the list
Minimum noticeToo soon: inside the calendar’s minimum notice
Already pastIts moment went by

Only an available (or preferred) time can be picked — the same times a booking would accept, worked out by the same rules. Times are shown on the calendar’s clock, which the agenda names when it is not yours. If the person already has an appointment coming up, a notice says when and on which calendar before you choose.

With a time picked:

  • Book this time opens the calendar’s booking page in a new tab on that time and straight on its form, with the person’s name, phone, e-mail and their previous answers to that calendar’s questions already filled in. Add what is missing and confirm. It is the ordinary booking page, so the required questions, the WhatsApp consent and — on a paid calendar — the payment still apply; if somebody took the time in the meantime, the page says so and shows that day’s other times.
  • Reschedule to this time appears when the person already has an appointment on that calendar: the booking page opens as that appointment’s reschedule, already on the new time.
  • Suggest this time writes to the person instead — see below.

Suggesting a time

Suggest this time turns the picked time into a message, on the channel and number the message box is on. The message starts from the calendar’s own wording — by default:

We have availability on:
{{date-time-suggest}}

Shall we confirm?

{{date-time-suggest}} is where the time goes, written the way a person would (“Wednesday, October 15 at 09:00 AM”), and the message cannot be sent without it. You can also insert the contact’s {{contact.first_name}} or {{contact.name}} and the calendar’s {{calendar.name}}. Edit the wording freely — the preview beside it is exactly what the person will read — and when you send it, the calendar keeps your wording, so the next suggestion of that calendar starts from it (Restore default message puts the original back).

Add another time offers up to five times in one message, each on its own line — the “9, 10 or 2pm” a receptionist would say. If the person’s clock is known to be different from the calendar’s (they booked from another time zone before), the times are written on theirs, with the zone beside them.

A suggestion is an ordinary text message: on a Cloud API number it needs the 24-hour window open — the agenda says so, and you can still book the time. Nothing is reserved: the times stay open to anybody until somebody books one, and a time taken while you were writing is refused before anything is sent.

In the thread, the message carries a card with each suggested time. When the person replies with the one they want, press ✓ Confirm beside it: the booking page opens on that time with their details filled in, exactly as Book this time does. Each time then reads where it stands — Booked once this person holds it, Taken if somebody else does, Expired once it went by — wherever the booking was made: the page, the calendar’s dashboard or the API. Confirming needs permission to see calendars; suggesting also needs permission to write in the Inbox.

Internal notes

A note is written in the thread, appears in the thread, and is never sent to the contact. Start one from ⋮ → Internal note beside the Send button. The composer turns amber entirely, the button becomes a padlock reading Save note, and a Back to replying link sits under the box — so there is no way to send a note by accident, or to write a message thinking it was a note.

Notes are part of the contact’s history and are visible to your whole team. Their author and an admin can edit or delete them; deleting asks for confirmation first, since it cannot be undone. A note that fails to save stays in the box, so you can try again without retyping it.

An internal note is a line for a colleague, inside a conversation. For the record of the person — the call summarized, the consultation written up with lists and pictures, the follow-ups scheduled from it — use ⋮ → Add notes & tasks: see Notes & Tasks. When one of those tasks is a reminder, its text arrives in the thread on its date as an internal note with a bell and Reminder, the task’s title, and Open the note, which opens the record it came from — in the thread of the members the reminder is for (its responsible member and the members it e-mails, or everybody when nobody is named; see Reminders are yours).

Canned replies

Type / in the composer to insert a saved reply by its shortcut. The reply may carry {'{{contact.name}}'} and {'{{contact.first_name}}'}, which are filled in as the text is inserted — so you read and can edit the finished sentence before sending.

Working the contact without leaving the screen

The panel on the right is the reason this is an Inbox and not a WhatsApp client. It opens with the three things you do on almost every thread, and then reads from who is this down to what have they been worth. A block with nothing in it is not drawn at all — a contact nobody tracked never gets an empty panel.

At the top, beside the photo and the name: the qualified lead star — the same flag as the one on the CRM card, click it to set or clear it — and the Lead Score, the number Lead Score keeps for this contact.

Actions

Everything you can start from a conversation is behind the + Actions button on that same line, rather than as a row of buttons eating the width of the column:

ActionWhat it does
Notes & tasksWrites a note about the contact and schedules what comes next. See Notes & Tasks
New bookingOpens the team’s agenda — every calendar, one day at a time, with who holds each time — to book a time for the contact, move their appointment, or suggest a time in the conversation. The same agenda as the message box’s calendar button: see Booking or suggesting a time
Send Template EmailSends one of your e-mail templates to this contact, and tells you first if the same template already went out to them. Greyed out when the contact has no e-mail address
Add DealOpens the contact’s deals — the amount, the status and the notes
Move to a CRM stagePuts the lead into a funnel, or moves it to another stage. It is the CRM board’s own screen, so you can create the funnel or the stage right there
Merge into another contactFor when this person is already in your base under another record — the usual case being a form that captured their name and e-mail before they ever wrote to you. Everything here moves onto the contact you keep, and this one is deleted. See Merging two contacts by hand
Edit ContactThe contact form, exactly as the Contacts list opens it

Each entry only appears if your role allows it.

Down the panel

  • Conversation — Resolve, Snooze and Assign to a teammate. First, because they are the three things done on nearly every thread and you should never have to scroll to reach them. A thread that is snoozed says Snoozed until… right under the two buttons. A resolved thread shows who resolved it and when instead — there is nothing to reopen. A thread one of your reminders brought back lists each of them above the buttons, with how far its moment is — for a booking reminder, the calendar, the appointment’s date and time and the Google Meet link; for a task, its title, opening the record. Resolving clears them, and a contact with no conversation gets only Resolve here
  • Contact — phone, e-mail, the full address if one is on file, who owns the lead, and then the origin FlyB recorded, the website and the utm_source / utm_medium / utm_campaign saved with them
  • Notes & Tasks — how many notes the contact has, how many of your tasks are pending and how many are done, your next task due, and a warning when one of yours did not run (yours: assigned to you, a reminder that e-mails you, or one nobody is named on). View all opens the whole record, every task with its responsible member; Add writes a new note. Shown even when empty, because writing the first note is what it is for
  • Funnels — every funnel this contact is in. Each one shows the date it entered and the stage it sits in, the funnel’s name underneath, and three buttons: Change stage, Won and Lost — the last with the same loss reasons the CRM uses. A contact in no funnel shows nothing here; Move to a CRM stage above is how it gets into one
  • Tags — add and remove, with your existing tags suggested
  • Subscriptions — what the contact pays: the product, the value, the date it started, the status and the next billing date, exactly as Orders prints them. A running subscription is framed green and listed first; a cancellation already requested shows amber, which is the one thing on this panel worth acting on before you reply. Clicking a line opens the Orders screen’s own details modal, with the payment history and Cancel Subscription — so a cancellation is done in one place only. Only shown to members whose role can see the Financial module
  • Deals — every deal this contact carries, its value, and the active total at the bottom. Closed deals are listed struck through and left out of that total. Click any line to open them. Nothing is shown when there are no deals
  • First visit — when the lead arrived through a page FlyB tracks, the visit that produced them: country flag and city, region, browser, the page they landed on and that visit’s own UTMs

Origin and first visit are there because you are usually answering a number with nothing attached to it, and “came from the Instagram campaign, from São Paulo” changes the first sentence you type.

Click the name or the photo to open the full contact record.

On a narrow screen there is no room for a third column, so the panel slides over the conversation instead — which means it stays closed until you ask for it. Open it with the button at the right of the conversation header, and close it with the ✕ inside it.

Resolving a conversation

Resolve — on the contact panel, at the top of the conversation header when the panel is closed, or E — closes the person’s open conversations for good. A resolved conversation is never reopened: there is no Reopen, and it keeps who resolved it and when.

The next message with that person — sent or received: the customer writing again, a reply from your team, a template, an automation, a booking reminder, an echo from the WhatsApp app on your phone — starts a new conversation. If the customer wrote, the person is back in Pending; if your team started it, it waits in Waiting on them until they answer. Either way the thread shows the new conversation under its own divider, below the resolved ones. That is what makes conversations countable: how many were opened, how many were resolved, and by whom, rather than one endless thread per person.

A few things follow from it:

  • A new conversation keeps the assignee. It goes to whoever was assigned the contact’s previous conversation — on any of your numbers or on FlyB Chat — so the person who looks after a customer keeps them. It starts unassigned only when that conversation had nobody, when the contact never had a conversation, or when that teammate has left the team.
  • A conversation your team starts goes to Waiting on them, not to Pending — see Views.
  • The 24-hour window is not reset. It belongs to the customer and the number, not to a conversation in FlyB: if they wrote within the last 24 hours, a free reply is still possible right after a resolve.
  • Snoozing is not resolving. A snoozed conversation is still open: every message goes into it (a message from the customer wakes it), automations keep working on it, and no new conversation is started. Only if you resolve a snoozed conversation is the snooze dropped — it has nothing left to come back to, so a Snoozed conversation is due automation does not fire for it.
  • A reminder does not reopen anything. A Notes & Tasks reminder or a booking reminder puts the person back in the Pending of the members it is for, on its own — the conversation itself is not reopened, woken or moved for anybody; Resolve clears it.
  • On FlyB Chat the visitor sees one chat. Their window keeps showing the whole conversation history; only your team sees where one conversation ended and the next began.
  • Each number is its own conversation. Somebody reachable on two of your numbers, or on WhatsApp and FlyB Chat, has a conversation on each, opened and resolved on its own.

Snoozing

Some conversations are not work today. The customer asked you to call back after their holiday, the quote is only worth chasing on the first of the month, the supplier answers on Mondays. Leaving those in the queue means reading them again every morning and deciding to skip them again every morning.

Snooze — on the contact panel, beside Resolve — opens a small window with three things in it:

Shortcuts1 hour · 3 hours · 1 day · 3 days · 1 week. One click, for the common case
Bring it back onAny date and time in the future. A shortcut simply fills this in, so you can nudge it afterwards — “1 week” then becomes next Friday, 14:30, which you can change to Monday at 09:00
Internal noteOptional. Why you are putting it off

The note is an ordinary internal note: it is written on the conversation where it will be read, is visible to your team, is never sent to the contact, and can be edited or deleted like any other. It is there because the moment you decide to come back to a thread on Thursday is the only moment you still remember why.

Once snoozed, the thread leaves every working queue (see Views) and appears in Snoozed and in All, dimmed, with the day it returns on its card and in the conversation header.

It comes back on its own. Nothing has to run and nothing has to be remembered: the moment passes and the thread is back in your queues exactly where it was. Two things can bring it back early — the customer writing again, which cancels the snooze outright because a reply is the thing you were waiting for, and Bring it back now, in the same window that set it. Resolving the conversation ends the snooze for good.

Snoozing from the panel snoozes every open conversation with that person. A row here is a human being, and putting off “Maria” while the same Maria stays in the queue on your second number would not be putting anything off at all.

Starting a conversation

New conversation searches your contacts by name, phone or e-mail, or takes a phone number or a WhatsApp @username.

What FlyB findsWhat happens
The contact and a conversationOpens the conversation
The contact, no conversationOpens their thread, on your default number (a Send from menu offers the others); on a Cloud API number the composer offers templates, on a WhatsApp Web number you just write
A conversation whose contact was deletedOpens the thread, and offers to recreate the contact
NothingOffers Add as a new contact, pre-filled with the number

Typing a number somebody is already talking to always opens that conversation. It never creates a second lead beside it.

Bulk actions

Hover a contact’s photo and tick the box that appears — on a phone, tap the photo. Once one row is ticked, clicking any other row ticks it too instead of opening it.

While rows are selected, the actions take the place of the conversation, one per line with what each one does; press Cancel (or Esc) and the conversation you had open comes back. On a phone, a bar at the bottom of the list shows how many are selected and opens the same actions as a sheet.

Select all ticks every conversation in the view — not only the ones loaded on screen so far — up to 1,000 at a time, and the panel says how many that is (All 75 conversations in Pending are selected) before anything runs. “All of them except these” is one click and then unticking the exceptions. An action always applies to exactly the ticked rows, as they were when you ticked them: a conversation that arrives afterwards is not swept in. With more than 1,000 in the view, the first 1,000 in the queue’s order are selected — run the action again for the rest.

Resolve · Mark read · Add or remove a tag · Assign · Add to a funnel stage · Mark qualified · Delete conversations (offered only if your role may delete them). They work the same on a FlyB Hunt AI list — “assign everybody this rule found to Maria” is select all, then Assign. Resolve closes the selected people’s open conversations for good, exactly like the button on one thread — there is no bulk Reopen, because there is no reopening.

The result is reported per action and in people — a person with two open conversations is one row — never as a plain success: Conversations resolved: 28. When not every selected row changed, it also says how many did not — 2 of the 30 selected were unchanged — because they already were that way (a conversation somebody else resolved in the meantime) or are outside your access. After the action, the selection ends and the Inbox goes back to the overview, with the counts as they now stand.

Delete conversations removes the conversations, their messages and their stored attachments permanently — the files are deleted from storage, not merely unlinked. The conversations disappear at once; their files leave storage in the background a few moments later, and if storage is briefly unavailable FlyB keeps retrying until they are gone. It does not touch contacts, bookings, e-mails or funnel history, and the confirmation says so. Files from your gallery that you sent in a conversation are not affected: the conversation holds its own copy, so the gallery keeps the original.

Who sees what

Three rules, and they do not overlap — plus one about reminders and appointments, which is about your workspace rather than about access.

1. Your contact visibility. If your membership is limited to only the contacts you own (see Restricting a member to their own leads), the Inbox shows you the same subset every other screen does. A contact you cannot see in Contacts is not in your Inbox — not in the queue, not by a link to their thread, not by typing their number into New conversation, not through their attachments, and not in a reminder pop-up. A conversation whose contact was deleted belongs to nobody you own, so it is not shown to you either.

2. Per-number visibility. Each connected number can be restricted to specific members, from Settings → Integrations. By default a number belongs to the whole organization; naming members restricts its conversations to them. A sales team of five, each with their own number, each reading only their own threads.

This rule applies to the Inbox only. Someone left off a number’s list still sees the contact in Contacts, on the CRM board and in every report — a number is a channel, not a lead. The queue tells you when numbers are hidden from you, so fewer threads than expected is never a mystery. FlyB Chat has no number, so its conversations are visible to everybody who may open the Inbox — within rule 1.

Only the account owner is exempt. An invited admin obeys the list like everyone else.

Rules 1 and 2 together. A salesperson who sees only their own contacts AND has a number of their own needs both to line up: they must be on the number’s list, and the contacts its conversations belong to must be theirs. The number’s crown does the second part — every contact the number creates (a new person’s first message) is born owned by the crowned member, who is always someone on the list. Without a crown, a new person’s conversation belongs to nobody they own and stays out of their Inbox. A person who was already a contact keeps their owner, and a conversation started from the phone with somebody who is not a contact yet becomes theirs once that person replies. See Who sees a number in the Inbox.

3. Your role. The Inbox is its own permission — reading a customer’s conversation is not the same as reading the contact record it hangs off, so it can be granted and taken away on its own. View opens the screen; create is what sends a message or writes an internal note; edit is what assigns, snoozes, resolves and runs the bulk actions; delete is what removes conversations. Everything the side panel does to the lead itself — editing the contact, moving it on the board, opening the subscription — still follows your Contacts, CRM and Financial permissions, and the Notes & Tasks block follows its own. An internal note can always be edited or removed by whoever wrote it. See Settings & Team.

And your workspace. Even when you see every contact — an admin, a manager — the Inbox shows you your work: appointments on calendars you are responsible for (or that name nobody), reminders meant for you (or for the whole team), and the chip, the place in the queue and the pop-up that come with them. A colleague’s appointment or reminder about the same person is on the contact record, with the colleague’s name on it — see The thread is yours and Reminders are yours.

Keyboard

J / K move through the queue · Enter opens · E resolves · / jumps to the search · Esc closes the conversation (or Hunt AI) and returns to the overview — on a phone, to the list — or cancels the selection while rows are selected · Enter sends a message and Shift+Enter breaks the line. The overview lists these too.

What FlyB does not do

  • It never imports your past conversations. Your history stays on your phone; FlyB is not even subscribed to receive it from Meta. See Settings → Integrations.
  • It does not keep anything after you delete it. Deleting a conversation removes its messages and its stored attachments; so does removing the number they arrived on.
  • It never shows your customer a “typing…” indicator, not even while you are writing. Reading a message marks it read — that much they see — but nothing tells them a reply is on the way. In a CRM that signal would mislead more often than it informs: an operator works several threads at once and answers in whatever order the queue demands.
  • Messages sent from your phone do appear here, because the number runs in coexistence — or, through WhatsApp Web, as a linked device of the phone. That is the point of it. A number set to only send takes in neither those nor the customer’s.

Your use of WhatsApp through FlyB is subject to Meta’s own policies — and, for a number linked through WhatsApp Web, to every rule and restriction of WhatsApp Web — and the people you message are real people: you need a lawful basis to contact them. See the Acceptable Use Policy and the Privacy Policy.