Skip to main content

ChatBot (tenant support)

The ChatBot tab under Account Settings → System configures how Vivin’s tenant-facing automated assistant behaves on channels such as WhatsApp and email. It does not control the operator AI Assistant (/ai-chat) or external Tenant MCP tools — those are separate surfaces documented under Automation & AI.

First-time workspace setup

Configure ChatBot during or after the core Getting Started — Recommended Setup Sequence steps 1–12 (optional section) — pair IF/THEN rules with step 11 Emails before tenants message you on WhatsApp. Full tab map: Recommended setup order. Finish steps 13–15 and Onboarding a New Property — Step 7. Workflow pairing after go-live: Account Settings — Setup sequence after go-live.

Direct access
Pair with other Account Settings tabs

Pair IF/THEN rules with Emails lifecycle and Communication Rules (email channel parity) and triage escalations in Inbox alongside booking Communication tabs. Contrast tenant-facing chatbot channels with landlord AI Chat and poll AI usage API for landlord_chat / utility_bill_extraction spend during month-end review. Section-to-doc pairing: ChatBot section cross-reference. Hub tab matrix: Account Settings — Tab cross-reference.

Who can edit ChatBot settings

The ChatBot tab appears only when your role includes the Chatbot permission. Grant or review it in Users and roles. On some accounts, chatbot configuration may be restricted to Super Admin only (the product shows a read-only message when rules are managed centrally).

The Tenant Portal does not include an in-portal chat UI today; tenants interact with this assistant through WhatsApp, email, and related workflows — not through a chat widget inside the portal.

Layout

The ChatBot settings screen uses three subtabs:

SubtabPurpose
Bot StatusWhatsApp (UAZAPI) connection status, QR pairing, and reconnect when the business line drops.
PersonaShort instructions that shape tone and scope for automated replies.
Special RulesUp to 20 IF/THEN rows pairing a specific If condition with a Then response directive.

Persona and Special Rules subtabs

  • Persona — Short instructions that shape tone and scope for automated replies (max 500 characters). See Persona.
  • Special Rules — IF/THEN rule editors with Save / Cancel in edit mode. See IF/THEN rules.

Account Settings — ChatBot → Persona subtab with persona text, IF/THEN rules preview, and rule count

Bot Status subtab (WhatsApp connection)

Pair with other ChatBot sections

Bot Status pairs with Inbox module and booking Communication — both surfaces stay greyed until isTenantChatBotEnabled and a live session exist. Full pairing matrix: ChatBot section cross-reference.

Open Bot Status to see whether your tenant-support WhatsApp line is paired with Vivin’s UAZAPI integration:

Badge stateMeaning
ConnectedSession is live; outbound WhatsApp (composer on booking Communication) can send. Connect WhatsApp stays visible but disabled until you disconnect elsewhere.
DisconnectedLine is configured but not paired — click Connect WhatsApp, read the pairing warning, then confirm Connect anyway (unlocks after a short countdown) to fetch a QR code (and optional numeric pair code). Scan with WhatsApp on the business phone; the UI polls every few seconds until the session connects, then clears the QR.
Awaiting scanPairing in progress after you confirmed the warning — QR is on screen until the phone scans or you Refresh QR code.
Not configuredUAZAPI is not provisioned for the account — contact Vivin support.

Use Refresh QR code while a code is on screen if the first scan expired. After Connected, tenant threads and the booking Communication composer use this session.

Account Settings — ChatBot → Bot Status with Connected badge and live WhatsApp (UAZAPI) session

Account Settings — ChatBot → Bot Status with QR code and Awaiting scan badge during WhatsApp pairing

Before you connect a new number

Connect WhatsApp opens a warning that pairing a brand-new or rarely-used number can trigger Meta blocks. Read the recommendation, wait for Connect anyway to unlock (~5 seconds), then scan the QR.

Screenshot freshness

Bot Status — Connected capture re-verified 2026-06-17 05:10 UTC; QR pairing capture refreshed 2026-07-27 00:05 UTC (VIVIN_DOCS_BASE_URL=http://localhost:5173 VIVIN_DOCS_RECORD_API=$VITE_API_BASE_URL npx tsx tools/capture-settings-chatbot-status-bot-screenshots.ts). Connected still skipped — docs account state=disconnected until UAZAPI session reconnects (probe 2026-07-27 00:05 UTC). Pairing walkthrough MP4 added 2026-07-26 01:06 UTC (npx tsx tools/record-settings-chatbot-status-bot-pairing-flow-mp4.ts — ends on Awaiting scan QR; live scan to Connected not recorded on docs account).

Walkthrough: open Bot Status, click Connect WhatsApp, wait for Connect anyway after the warning, then scan the QR with WhatsApp on the business phone until the badge shows Connected.

Persona

Pair with other ChatBot sections

Persona shapes tone across WhatsApp and email — keep copy aligned with Emails — Communication Rules and lifecycle templates. External clients read the same block via Tenant MCP. Full pairing matrix: ChatBot section cross-reference.

The persona block (max 500 characters) describes how the assistant should sound and what it should prioritise — for example professional tone, languages, or topics to avoid. An empty persona shows a placeholder until you add text.

In edit mode, an amber hint explains that the persona applies across tenant-facing channels. A character counter appears while you type.

IF/THEN rules

Pair with other ChatBot sections

Prefer specific If phrases — broad rules fire on almost every message. Escalation paths pair with Operations — Tickets and Automation & AI. Full pairing matrix: ChatBot section cross-reference.

Rules follow an If → Then pattern:

FieldLimitGuidance
If200 charactersDescribe a specific tenant situation (for example “tenant asks about bedbugs” or “tenant reports a broken lock”), not broad catch-alls like “tenant has a question”.
Then200 charactersTell the bot what to do when that situation matches — answer with a policy, escalate, or create a ticket.

You can add rows with + Add rule (until 20 rules) and remove a row with the trash control. The section title shows the current count (for example 3/20).

Account Settings — ChatBot tab in edit mode with persona textarea, IF/THEN rule editors, and Save / Cancel

Keep conditions narrow

Broad If phrases cause the bot to fire on almost every message and produce generic replies. Prefer many specific rules over one vague rule. The in-app amber hints repeat this guidance in edit mode.

Save and cancel

  1. Click the pencil in the card header.
  2. Edit persona and/or rules.
  3. Click Save — a success toast confirms persistence; the card returns to read-only view.
  4. Click Cancel to abandon changes and restore the last saved server values.

External automation can read the same persona and rules through Tenant MCP after authenticating with tenant context.

Inbox and Dashboard bell gating

Pair with other ChatBot sections

isTenantChatBotEnabled gates Tools → Inbox, Dashboard bell Inbox sub-tab, and booking Communication together — pair with Preferences — In-app notifications before bulk-clearing message alerts. Full pairing matrix: ChatBot section cross-reference.

The account flag isTenantChatBotEnabled controls more than the per-booking Communication tab. When it is false, Vivin blocks portfolio-wide messaging surfaces so operators are not sent to empty Inbox pages:

SurfaceDisabled behaviour
Tools → Inbox (/inbox)Greyed-out nav item with tooltip The tenant chatbot is not enabled for this account.

Sidebar — disabled Inbox nav item when tenant chatbot is off

Sidebar Inbox chatbot-disabled capture refreshed 2026-06-17 20:15 UTC (npx tsx tools/capture-inbox-sidebar-chatbot-disabled-screenshot.ts). | Dashboard bell → Inbox sub-tab | Greyed-out tab with tooltip Activate the Chatbot to get tenant messages right here. General alerts are unaffected. | | Bookings → Communication | Tab opens with Unlock your communication history (see below). |

After Vivin enables the integration and you pair Status Bot, refresh the session — all three surfaces activate together. Full UI detail: Inbox module — Chatbot gating.

Booking detail — Communication tab

Pair with other ChatBot sections

Live WhatsApp/email threads live here — Persona and IF/THEN rules shape future bot replies only. Pause bot per booking complements global rules — see Bookings — Communication tab. Full pairing matrix: ChatBot section cross-reference.

When the account-level tenant chatbot integration is off, Bookings → booking detail → Communication still opens, but the panel shows an unlock empty state until Vivin enables isTenantChatBotEnabled on your workspace. After enablement, the tab loads WhatsApp and email matched to the tenant’s email or phone on the reservation — including WhatsApp labels, the composer (when outbound WhatsApp is provisioned), and read-only email — see Bookings module — Communication tab.

Pause bot on one booking

For accounts where Vivin configured a dedicated pause label on the WhatsApp business line (chatBotPauseLabelId in internal admin), operators can stop automated bot replies for one reservation without changing global persona or IF/THEN rules:

  1. Open Bookings → booking detail → Communication.
  2. Select the WhatsApp filter.
  3. In the Labels row, turn Pause bot on — Vivin applies the pause label to that tenant’s conversation until you turn it off or remove the label.

The toggle appears only when the pause label exists for the account. It complements manual Add label chips for other tags. Step-by-step UI and thread behaviour are in Bookings — Communication tab and the global Inbox workspace (same Labels row and Pause bot control). If the switch shows a raw translation key instead of Pause bot in English, the pause behaviour still works — see the note under Pause bot toggle.

What the chatbot does in the product

For channel behaviour, escalation, ticket creation, and multilingual replies, see Automation & AI — AI Tenant Support Chatbot. In short:

  • Answers common questions using live booking, payment, and contract data.
  • Escalates or creates Operations tickets when the issue needs a human.
  • Supports WhatsApp and email; use a dedicated WhatsApp number for tenant support if the same line also receives supplier messages.

Where operators read WhatsApp on a booking

Persona and IF/THEN rules on this tab shape future automated replies. They do not show live channel traffic.

When Vivin has enabled the tenant chatbot on your account (isTenantChatBotEnabled), each booking exposes a Communication tab in the detail sidebar (Bookings → open booking → Communication). Use the WhatsApp / Email pills to switch layouts: chat bubbles (tenant left; Bot mint / human outbound blue on the right — labelled You or the operator’s stored display name when Vivin recorded agent attribution on the message) with Labels, optional Reasoning expanders on Bot replies (audit why the bot sent that message), and a reply composer, or Gmail-style email rows you can expand for the full body (read-only). Use Refresh in the sidebar header while Communication is active after new traffic.

SituationWhat operators see
Chatbot off on the accountCommunication opens with Unlock your communication history — enablement is account-level (contact Vivin).
Chatbot on, WhatsApp send not provisionedThread and Labels may load, but the bottom area shows WhatsApp replies aren't available yet instead of a composer — contact Vivin to wire outbound WhatsApp.

Bookings — Communication tab with WhatsApp history and outbound-not-provisioned notice

WhatsApp-not-provisioned capture refreshed 2026-06-18 08:15 UTC (tools/capture-bookings-communication-tab-whatsapp-not-configured-screenshot.ts — same account patch as Bookings — Communication tab). | Chatbot on, tenant has no phone or email | No messages yet — matching requires at least one contact field on the tenant profile. | | Chatbot on, no history yet | No messages yet until the tenant has exchanged WhatsApp or email on your configured channels. |

Step-by-step UI states, channel filters, and distinction from Comments are documented in Bookings — Communication tab. FAQ: Where do I read WhatsApp and email for one booking? (also under AI & Automation).

When Vivin stored reasoning with an automated Bot reply, operators can expand Reasoning under that bubble on the WhatsApp filter to audit what the bot considered before sending — see Bookings — Bot reasoning and Glossary — Bot reasoning (audit) hub.

Bot reasoning (audit)

Pair with other ChatBot sections

Thread Reasoning is read-only — edit Persona and IF/THEN on this tab after you audit a specific Bot reply on Communication. Hub parity: Glossary — Bot reasoning (audit) hub · Common Workflows — Bot reasoning (audit). Full pairing matrix: ChatBot section cross-reference.

Walkthrough: audit a Bot reply on Communication → WhatsApp via Reasoning, then open ChatBot → Special Rules to adjust IF/THEN rows.

ChatBot settings hub mesh

Pair with other ChatBot sections

This settings page is the configure surface — pair with Bot reasoning (audit) on live threads after rule edits. Hub parity: Glossary — ChatBot settings hub · Common Workflows — ChatBot settings. Full pairing matrix: ChatBot section cross-reference.

Walkthrough: open ChatBot settings, enter edit mode, add a narrow IF/THEN rule, Save, and return to read-only preview.

ChatBot section cross-reference

Use this table when one ChatBot topic naturally leads into another Account Settings tab, operator module, workflow, or concept — each row links to the docs you should read before or after saving persona or IF/THEN rules.

| ChatBot topic / section | Pair with these docs | | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | Who can edit ChatBot settings | Users and roles, Account Settings hub | | ChatBot subtab (persona and rules) | Automation & AI — AI Tenant Support Chatbot, Tenant MCP, AI Chat module, AI usage API (landlord_chat contrast) | | Bot Status subtab (WhatsApp connection) | Inbox module, FAQ — AI & Automation | | IF/THEN rules | Emails — Communication Rules, Operations — Tickets | | Inbox and Dashboard bell gating | Notifications — Dashboard bell Inbox sub-tab, Preferences — In-app notifications | | Booking detail — Communication tab | Bookings — Communication tab, Tenant categories | | Lockout catch-up after password recovery | Resetting a Management User Password, Getting Started — Lockout catch-up, Common Workflows — Lockout catch-up | | Pending manual receipt approval | Inbox module, Users and roles — Role permissions (Approve payments), Finance — Pending manual payments | | Reject/revert mistaken receipts | Payment Allocation — Correcting mistaken receipts, Bookings — Communication tab (payment hand-offs) | | Notification row-click navigation | /notifications vs WhatsApp bot status | Account Settings — Notification row-click navigation, Common Workflows — Notification row-click navigation, Notifications module — Notification row-click navigation | | Payment alert to receivables triage | payment overdue when bot is disconnected | Account Settings — Payment alert to receivables triage, Common Workflows — Payment alert to receivables triage, Handling a Late Payment — Step 1 | | Confirmation alert triage | Upcoming alerts during bot pairing | Account Settings — Confirmation alert triage, Common Workflows — Confirmation alert triage, Processing a New Booking — Step 5b | | Finance debt receivables triage | Portfolio Top debtors / Debt Aging after settings on this tab | Account Settings — Finance debt receivables triage, Common Workflows — Finance debt receivables triage, Finance module — Finance debt receivables triage | | Finance Income status drill-down | Income → In debt vs Debt Aging after settings on this tab | Account Settings — Finance Income status drill-down, Common Workflows — Finance Income status drill-down, FAQ — Finance Income status drill-down hub | | Cash flow forecast drill-down | Cash flow forecast month bars vs Income segments | Account Settings — Cash flow forecast drill-down, Common Workflows — Cash flow forecast drill-down, FAQ — Cash flow forecast drill-down hub | | Portfolio segmentation by tenant category | Tenant categories, Bookings — Other filters, Common Workflows — Portfolio segmentation |


Pair with other ChatBot (tenant support) guide sections

Related below links this Account Settings tab to modules, workflows, concepts, and escalation paths. Pair Documentation map & escalation with Account Settings hub — Documentation map & escalation; pair Upstream & downstream workflows with Account Settings — Tab cross-reference. Topic-to-section pairing in sections above: ChatBot section cross-reference. Full hub matrix: Account Settings — Section cross-reference.

Documentation map & escalation

Pair with other ChatBot (tenant support) guide sections

Upstream & downstream workflows

Pair with other ChatBot (tenant support) guide sections

Workflow bullets pair with Common Workflows — Workflow cross-reference for inter-guide step pairing. Full pairing matrix: ChatBot section cross-reference · Account Settings — Section cross-reference.

Deeper workflow reads

Pair with other ChatBot (tenant support) guide sections

Workflow reads pair with Common Workflows hub subsection index and Workflow cross-reference. Each workflow sub-guide reciprocates with [Deeper workflow reads](./chatbot.md#deeper-workflow-reads) anchors on Account Settings bullets — hub parity: Account Settings hub — Deeper workflow reads. Full pairing matrix: ChatBot (tenant support) section cross-reference · Account Settings — Section cross-reference.

Pair with other ChatBot (tenant support) guide sections

Operator modules

Pair with other ChatBot (tenant support) guide sections

Deeper concept reads

Pair with other ChatBot (tenant support) guide sections

Module documentation hubs

Pair with other ChatBot (tenant support) guide sections
  • Bookings — Per-booking Communication tab and pause-bot controls
  • Finance — Deposit disputes the bot may escalate before Finance → Deposits
  • Operations — Maintenance tickets created from bot escalations
  • Dashboard — Bell notification triage with Inbox sub-tab gating
  • Tenants — Contact fields the bot uses to match WhatsApp and email threads
  • API Reference hub — Partner HTTP contracts (distinct from tenant WhatsApp configuration)

Lockout catch-up after password recovery

Pair with other ChatBot (tenant support) guide sections

Operational backlog after sign-in recovery pairs with Resetting a Management User Password — Step 3 before you resume persona or IF/THEN rules on this tab. Hub parity: Common Workflows — Lockout catch-up after password recovery. Full pairing matrix: ChatBot section cross-reference · Account Settings — Section cross-reference.

Pending manual receipt approval

Pair with other ChatBot (tenant support) guide sections

Receipt approval pairs with Booking detail — Communication tab payment enquiries and Users and roles (Approve payments permission). Hub parity: Common Workflows — Pending manual receipt approval. Full pairing matrix: ChatBot section cross-reference · Account Settings — Section cross-reference.

Reject/revert mistaken receipts

Pair with other ChatBot (tenant support) guide sections

Receipt cleanup pairs with Payment Allocation two-layer receipts when bot hand-offs involve already-invoiced charges. Hub parity: Common Workflows — Reject/revert mistaken receipts. Full pairing matrix: ChatBot section cross-reference · Account Settings — Section cross-reference.

Portfolio segmentation by tenant category

Pair with other ChatBot (tenant support) guide sections

Notification row-click navigation

Pair with other ChatBot guide sections

WhatsApp ChatBot pairing is separate from /notifications row-click — finish in-app alert triage before blaming bot disconnect for missed payment follow-up. Hub parity: Account Settings — Notification row-click navigation. Full pairing matrix: ChatBot section cross-reference · Account Settings — Section cross-reference.

Payment alert to receivables triage

Pair with other ChatBot guide sections

Bot pause/resume does not clear tenant debt — row-click payment overdue alerts into Bookings / Inbox before re-pairing the bot mid-collections. Hub parity: Account Settings — Payment alert to receivables triage. Full pairing matrix: ChatBot section cross-reference · Account Settings — Section cross-reference.

Confirmation alert triage

Pair with other ChatBot guide sections

Upcoming confirmation-week messages may overlap bot threads — approve receipts on Transactions before bulk Pause bot during alert catch-up. Hub parity: Account Settings — Confirmation alert triage. Full pairing matrix: ChatBot section cross-reference · Account Settings — Section cross-reference.

Finance debt receivables triage

Pair with other ChatBot guide sections

Chatbot get-payment-info answers do not replace Debt Aging — operators still triage Top debtors on Finance → Overview. Hub parity: Account Settings — Finance debt receivables triage. Full pairing matrix: ChatBot section cross-reference · Account Settings — Section cross-reference.

Handling a Late Payment collections

Pair with other ChatBot guide sections

Chatbot get-payment-info answers do not replace Debt Aging — operators still triage Top debtors on Finance → Overview Hub parity: Account Settings — Handling a Late Payment collections. Full pairing matrix: ChatBot section cross-reference · Account Settings — Section cross-reference.

Finance Income status drill-down

Pair with other ChatBot guide sections

Tenant chatbot rent questions should cite Income → In debt payment lines — open segment drill-down when tenants dispute scheduled vs overdue amounts. Hub parity: Account Settings — Finance Income status drill-down. Full pairing matrix: ChatBot section cross-reference · Account Settings — Section cross-reference.

Cash flow forecast drill-down

Pair with other ChatBot guide sections

When tenants ask what they paid this month, pair chatbot replies with Cash flow forecast All payments drill-down on Finance → Overview. Hub parity: Account Settings — Cash flow forecast drill-down. Full pairing matrix: ChatBot section cross-reference · Account Settings — Section cross-reference.

Key glossary terms

Pair with other ChatBot (tenant support) guide sections