🤖 Documentation: Bot
Omnichannel bot / flows. What it is, how it works and how to use it — explained step by step.
🤖 Definition — Bot module
The Bot is an omnichannel flow builder: you design the conversation once (with nodes: IVR menu, AI assistant, voicemail, transfer, agent hand-off, data lookup…) and activate it on any of its 5 channels. Everything handled lands in a unified inbox.
5 channels to activate a bot: Voice (VoIP), WhatsApp Voice, SMS, WhatsApp and Email.
Note — Voice: Voice (VoIP) and WhatsApp Voice are technically the same voice bot (same flow, IVR, AI and voicemail); the only difference is where the call comes in — the phone network or WhatsApp.
🗺️ Per-channel diagrams
The same flow engine handles each channel; only the entry point changes.
📞 Voice (VoIP)
🟢 WhatsApp Voice
💬 SMS
Voice (VoIP) and WhatsApp Voice use the same voice bot (same flow: IVR, AI, voicemail); on SMS, WhatsApp and Email the same engine drives the auto-reply.
📘 Explanation (step by step)
The module has 4 tabs: Assign (pick the number and assign the flow per channel), Flows (your flow library and which numbers use them), Create (example templates → editor) and Inbox (omnichannel log).
- Create: in the Create tab pick an example template (or "from scratch"). The flow opens in the editor right there to view, analyze and modify it; the templates stay visible (with their description) so you can switch between them.
- Add nodes: menu (IVR), AI assistant, language, business hours, data capture, data lookup (balance/invoice/account), code verification, survey, voicemail, transfer to queue/extension, agent hand-off, guided hand-off to WhatsApp, notification and hang up.
- When you tap Save flow a new flow is created in your library (it asks for a name; the original template is untouched) and you move to Flows. From Assign (or Flows → Apply) assign the flow to channels per number: Voice, WhatsApp Voice, SMS, WhatsApp or Email. The same flow can be shared across several numbers — editing it updates them all.
- Configure the flow notifications (voicemail → email and/or WhatsApp) with a checkbox to enable/test.
- Check the Bot Inbox: omnichannel log (voice, SMS, WhatsApp, Email) with each interaction outcome and the voicemail audio.
Online help: the builder includes online help to build and edit the call and conversation flows.
🔎 Self-service: Data lookup
The Data lookup node lets the caller self-serve: the bot identifies them (by the calling number or by asking for their account number), requests a PIN and returns their data —for example balance, invoice and account— read out by voice or sent by message.
Data sources (chosen per customer):
Data it can return: account, name, balance, invoice (amount, due date, status) and extra fields. Built-in test: each connection has a Test button that validates access and shows sample data, without exposing credentials or the PIN.
Security: read-only connections, PIN never read aloud, encrypted credentials and parameterized queries.
💬 Guided hand-off to WhatsApp
From a voice call, the bot can continue the conversation on WhatsApp: it sends a WhatsApp to the caller and, once they reply, the chat continues on WhatsApp with the call context (name, account, data already looked up). The customer repeats nothing.
Requires the customer to have a WhatsApp number with a bot. The first message is sent as an approved template; once they reply, the conversation opens and the bot continues at the chosen point.
🎬 Video: a tour of the Bot (editing)
About three and a half minutes: signing in securely, the four tabs, picking a number's flow, starting from a template or from scratch, the node palette and how to build a flow on the canvas, the node editor, asking the AI Assistant for a proposal, saving with a duplicate-name warning, undoing with previous versions, and what happens with a shared flow. It is narrated: turn the sound on.
Sample data: fictitious company, user and numbers. The Bot screen has no translator: it stays in Spanish in the English video too — only the narration and the text cards are in English. Shown from the view of someone who CAN edit (an admin, or a supervisor with the Bot module enabled); no supervisor has it yet today. Tap the image to see it full size.
🤖 At a glance: 4 tabs
Assign, Flows, Create and Inbox: the whole Bot lives in these four tabs.
Sample data: fictitious company, user and numbers. The Bot screen has no translator: it stays in Spanish in the English version too — only the surrounding menu and header are translated. Tap the image to see it full size.
- 1Bot — Omnichannel flow engine
The title sums up the module: the flow is created and edited here; Telephony just routes.
- 2Assign
Pick the number and turn on the channels it should answer.
- 3Flows
Your library: each saved flow, which numbers use it and how many nodes it has.
- 4Create
Example templates that open straight in the editor to view, analyze and modify.
- 5Inbox
The unified log of voice, WhatsApp, SMS and email the bot handled.
📌 Picking a number's flow
Step 1: the number. Step 2: the channels it answers and each one's flow.
Sample data: fictitious company, user and numbers. Tap the image to see it full size.
- 1Number or Email
Pick the number (DID) or the email account — only one at a time.
- 2Services
Check the channels this number answers. You can turn on several at once.
- 3Channels and flow
Voice, WA Voice, WhatsApp, SMS and Email — each with its own flow; the same flow can repeat across channels.
🧰 Start from a template, or from scratch
13 ready-made templates to adjust — AI Assistant reception, bilingual IVR, menus to queues or an extension, WhatsApp, booking an appointment, and more — or a blank canvas.
Sample data: fictitious company, user and numbers. Tap the image to see it full size.
- 1From scratch
A blank canvas, to build the flow node by node.
- 2The templates
12 real examples: AI Assistant reception, bilingual IVR (ES/EN), menus to queues or an extension, voicemail, WhatsApp with the AI Assistant, agent queues and booking an appointment. Each card shows a preview of its nodes.
- 3Use template
Opens that template in the same step-4 editor, ready to adjust. The original stays untouched: what you edit becomes your own new flow when you save.
🎨 The node palette
Grouped by type, above the canvas: click to place, drag the body to move, drag its dot to another node to connect them.
Sample data: fictitious company, user and numbers. Tap the image to see it full size.
- 17 groups
Message and voice · Menus and capture · Data and logic · Hours and routing · Transfers · Utilities · End.
- 2Add node, Clear, Refresh
Next to the node count and the link to previous versions.
- 3How it is built
Click a chip to place that node; drag a card's BODY to reposition it; drag from its DOT (○) to another node to connect them — that is how the arrows are drawn.
⚠️ Data lookup, external API and Database query show up in the palette for anyone, but they are for TelHarbor's internal use: today the server rejects the entire flow save (with a technical error) if a customer places one of these three nodes. Do not build a flow with them: request it through the Help Desk.
🗂️ A flow already built
Each card is a node; the arrows show where each output leads.
Sample data: fictitious company, user and numbers. Tap the image to see it full size.
- 1Labeled outputs
The main menu shows 1, 2, 3 (its options), «t/o» (timeout) and «inv» (invalid answer); the schedule shows open/closed/holiday. Each dot (○) is a different output of the node.
- 2Start
The green pill marks the flow's entry node.
🧩 The node editor
Click any card on the diagram to open its detail and edit it.
Sample data: fictitious company, user and numbers. Tap the image to see it full size.
- 1Edit node
The title says which flow step is open.
- 2Key (unique id)
The step's identifier; other nodes point to it (for example, a menu option).
- 3Node type
IVR menu, AI Assistant, transfer, voicemail, data lookup, and more — grouped by category.
✨ The AI Assistant proposes, you decide
Describe it in your own words; the proposal is reviewed before loading it into the diagram, and nothing is saved until "Save flow".
Sample data: fictitious company, user and numbers; this document's proposal is simulated. Tap the image to see it full size.
- 1What should this flow do?
Describe it in your own words. The notice says what is sent: you can only use your own company's extensions, queues, numbers and emails.
- 2The proposal
A summary of what it built and how many nodes it proposed.
- 3Warnings
What it discarded and why — for example, an extension that is not part of your company. Review them before saving.
- 4Load into the diagram
Only then is the proposal drawn; until that point nothing has been touched.
Cap of 30 requests per company per day. The pronunciation dictionary remains exclusive to TelHarbor.
💾 Saving, with a warning for other numbers
If other numbers also use the flow, you are warned before saving — and the change applies to all of them at once.
Sample data: fictitious company, user and numbers. Tap the image to see it full size.
- 1The flow being edited
It saves from the number chosen in step 1 — not from "Your flows" (there it edits by its own id and this notice does not fire).
- 2The notice
It appears BEFORE saving, with the exact list of other numbers that share that flow by name.
↺ Previous versions: undo
Every save is recorded; you can restore any earlier version, up to the last 20.
Sample data: fictitious company, user and numbers. The "View previous versions" link sits next to the AI Assistant, above the diagram. Tap the image to see it full size.
- 1Date, who and how
When it was saved, who saved it, and how: manual save, AI Assistant, apply/assign flow, clone or restore.
- 2Nodes
How many nodes the flow had at that point.
- 3Restore
Asks for confirmation. The current state is saved before being replaced, so a restore can also be undone.
🔗 A flow shared by another company
It cannot be edited right there: "Save as" makes your own copy instead.
Sample data: fictitious company, user and numbers. Tap the image to see it full size.
- 1The notice
«This is a flow shared by another company. It can't be edited here» — appears when picking that flow in the number's channel comparison.
- 2Save as (own copy)
Creates your own flow with the same content, without touching the original — from there it is freely editable.