Skip to main content

Inbox

First-time workspace setup

Configure Chatbot and Emails (setup steps 11–12) and complete core setup steps 13–15 before portfolio WhatsApp triage here — pair with Notification triage. Requires Bookings module permission and a connected Status Bot line.

Finding your way in this guide

Confirm Prerequisites and Interface Overview, then triage Dashboard bell — Inbox sub-tab vs the full /inbox route. When several tabs are open, the browser tab reads VIVIN | Inbox. Booking-scoped threads: Relationship to Bookings Communication. Guide subsection map: Inbox guide subsection index (triage surfaces + Related subsections). Habit-specific shortcuts live under Related below.

The Inbox module (/inbox) is a portfolio-wide WhatsApp workspace: every tenant conversation on your connected business line appears in one two-pane view styled like WhatsApp Web inside Vivin (light theme, cream thread background, green outgoing bubbles). Use it when you triage messages without opening each booking’s Communication tab first.

Ask AI Chat where to open Inbox

Not sure which Tools item holds portfolio WhatsApp? Ask AI Chat “Where do I open the Inbox to reply to tenant WhatsApp messages across my portfolio?” — then open Tools → Inbox (ai-chat-product-context-inbox-reply.png, ai-chat-product-context-inbox-flow.mp4). The assistant may say left menu without naming Tools. Per-reservation threads stay on Bookings → Communication; chatbot connection is under Settings → ChatBot. Habit: Notification triage.

Need the portfolio-wide WhatsApp thread list (not per-booking Communication, and not landlord AI Chat)? Ask AI Chat “Where do I open the Inbox to reply to tenant WhatsApp messages across my portfolio?” — then open Tools → Inbox (ai-chat-product-context-inbox-reply.png, ai-chat-product-context-inbox-flow.mp4). The assistant typically says Inbox in the left menu (may omit the Tools group name). Canonical route: /inbox.

AI Assistant — where to open Inbox for portfolio WhatsApp triage

Walkthrough: ask AI Assistant where to open Inbox for portfolio WhatsApp messages, then open Tools → Inbox (reply may say left menu without naming Tools).
Availability

Tools → Inbox in the sidebar and the Dashboard bell Inbox sub-tab ship with the WhatsApp global inbox release on the management frontend develop line (June 2026). If your environment does not yet show Inbox under Tools, use Bookings → Communication per reservation until your workspace is updated.

Pair with other modules

Clear alert noise via Notifications and Dashboard bell Inbox; open the same thread from Bookings → Communication per reservation. Tenant threads here are separate from landlord AI Chat — see Automation & AI — Choosing surfaces and AI usage API (landlord_chat only). General bell rows include payment overdue — row-click into the booking, then Handling a Late Payment — Step 1 before you chase the tenant on WhatsApp. When overdue threads cluster on one tenant category, scope Bookings — Tenant categories or Finance — Tenant category filter first — see Glossary — Tenant category.

User Roles and Access​

RoleAccess
Property ManagerFull access when the role includes Bookings module permission
AdminFull access
ViewerRead-only where Bookings access allows opening conversations
Owner-linked userPortfolio-scoped threads only — see Owner-linked access

The Tools → Inbox link uses the same Bookings module gate (bookings.module) as the Bookings workspace. Inbox is desktop-only in the sidebar (mobileVisible: false) — on narrow viewports, open /inbox from a bookmark or a Dashboard bell notification deep link.

Owner-linked access​

When a management login is linked to an owner (same email as an Owners record):

  • Conversations are limited to tenants with a non-archived booking on that owner’s properties.
  • The Unknown (no-booking) section is hidden.
  • Labels and Pause bot are hidden — account-wide WhatsApp label tools stay with full-portfolio managers.
  • If the owner has no properties yet, Tools → Inbox and the Dashboard bell Inbox sub-tab stay unavailable until you assign inventory in Listings.

Inbox — owner-linked user with no WhatsApp threads on their properties yet

Pair with Owners — Owner-linked management users and Glossary — Owner-linked user.

Direct access

Open the Inbox at platform.vivin.app/inbox. Deep-link a conversation with ?contact=<phoneDigits> — for example after clicking an Inbox row on the Dashboard bell. The browser tab stays VIVIN | Inbox on both URLs. See Deep Links — Inbox.

Browser tab title​

Pair with other Inbox sections

Tab titles pair with Interface Overview (the in-app Inbox header) and Dashboard bell — Inbox sub-tab (alert entry that does not rename the tab until you land on /inbox). Symptom: FAQ — Why does my browser tab say VIVIN | Inbox?. Term: Glossary — Inbox browser tab.

When you open Tools → Inbox, the browser tab reads VIVIN | Inbox. Use it to find this workspace among other management tabs (VIVIN | Bookings, VIVIN | Notifications, and so on).

A Dashboard bell Inbox row that opens /inbox?contact=… keeps VIVIN | Inbox — the tab does not switch to the tenant’s name. Opening the bell Inbox slide-over while you are still on Dashboard, Bookings, or another module does not change the tab until you follow a link to /inbox.

Nearby titles that look similar:

ScreenBrowser tab
Tools → Inbox (/inbox, including ?contact=)VIVIN | Inbox
Tools → AI AssistantVIVIN | AI Assistant
Help & Support (/settings/support)VIVIN | Support
Sign-inVIVIN

Browser tab — VIVIN | Inbox on Tools → Inbox

Walkthrough: open Tools → Inbox — the browser tab reads VIVIN | Inbox (including /inbox?contact=…). The Dashboard bell Inbox slide-over does not rename the tab until you land on that route.

Inbox — two-pane WhatsApp workspace (in-app view)

See FAQ — Why does my browser tab say VIVIN | Inbox? and Glossary — Inbox browser tab.

Prerequisites​

  • Tenant chatbot enabled on the account (isTenantChatBotEnabled) — Vivin turns this on when your workspace is provisioned for WhatsApp/email tenant messaging. When it is off, the Tools → Inbox link and Dashboard bell Inbox sub-tab are greyed out with a short tooltip; use Bookings → Communication only after enablement. See Chatbot gating and ChatBot settings.
  • Status Bot connected under Settings → ChatBot → Bot Status (tenant WhatsApp connection card)
  • At least one inbound or outbound WhatsApp message on the account (empty state otherwise)
  • Bookings module permission on your role

Interface Overview​

Pair with other Inbox sections

Two-pane triage pairs with Bookings — Communication for full reservation context and Dashboard bell — Inbox sub-tab for alert-driven entry.

Conversation list (left)​

The list column is intentionally narrow (about 280–360px on desktop) so the thread pane keeps most of the width — similar to WhatsApp Web’s contact rail. A 52px grey header strip shows the Inbox title; Search sits in a compact row directly below.

  • Header + search — grey strip with the Inbox title and a pill-shaped Search field (debounced server search by tenant name or phone).
  • Known contacts — rows linked to a tenant/booking show a 40px avatar, tenant display name (14px), listing internal name on a green line with a home icon (11px — +N when the contact has multiple units), last message preview (12px, prefixed with You: when you sent the last message), and relative time on the right (11px). Row padding is tight so more conversations fit without scrolling.
  • Unknown section — numbers with WhatsApp history but no matching booking appear under an Unknown heading with an amber No booking badge on the row; you can still read and reply.
  • Select a row to load the thread on the right. The URL clears ?contact= after you pick a different conversation manually.

When nothing is selected yet, the right pane prompts you to pick a contact — the list on the left still loads normally:

Inbox — empty right pane before a conversation is selected

Use Search to narrow the list by tenant name or phone. Matching is server-side with a short debounce; only rows that match stay visible:

Inbox — search field filtering the conversation list (example: tenant name)

Thread and composer (right)​

  • Conversation header — grey bar with avatar, tenant name (clickable to open the Tenant sidebar on known contacts), phone number, and current booking context for that contact: listing internal name, stay dates, and the shared booking status badge (one chip per linked reservation).
  • WhatsApp-style bubbles — cream thread background with day separators; white incoming and green outgoing bubbles (same shared renderer as Bookings → Communication → WhatsApp).
  • Labels bar — add/remove WhatsApp labels and use Pause bot when your account configures a pause label (chatBotPauseLabelId). The bar is the same shared component as Bookings → Communication → WhatsApp — label and pause-bot changes on either surface mirror instantly.

Inbox — thread header with tenant name, Labels row, Add label, and Pause bot toggle

  • Reply composer — send operator messages from the account business line; state mirrors the per-booking Communication tab (changes on either surface stay in sync).
  • Contact header — click the tenant name in the grey header bar to open the Tenant sidebar without leaving Inbox.

Inbox — Tenant sidebar opened from the contact name in the thread header (known WhatsApp conversation)

When no conversation is selected, the right pane shows a neutral empty state prompting you to pick a contact.

Inbox — two-pane layout with conversation list, WhatsApp thread, labels bar, and reply composer

Walkthrough: open Inbox, pick a known contact, filter with Search, open the tenant sidebar from the header, then scan Dashboard → bell → Inbox for message alerts.

Numbers with WhatsApp history but no matching booking land under an Unknown heading. Each unknown row shows an amber No booking badge — you can still open the thread, reply, pause the bot, and add labels; only booking context (listing line, stay dates, status chip) is missing.

Inbox — Unknown section with amber No booking badges and an unknown phone thread open

Walkthrough: open Inbox, scroll to the Unknown heading, select a No booking row, and review the thread (demo does not send).

Dashboard bell — Inbox sub-tab​

Pair with other Inbox sections

Bell Inbox rows deep-link here or to booking Communication — pair General payment overdue alerts with Handling a Late Payment — Step 1 before you chase on WhatsApp.

On desktop Dashboard, the header bell slide-over splits into two sub-tabs:

Sub-tabContents
GeneralPayment received, payment overdue, tickets, bookings, and other platform alerts
InboxInbound WhatsApp and email message notifications (one row per conversation)

Each sub-tab shows its own unread badge on the tab label. Mark all as read clears only the active sub-tab — not the other category.

Inbox rows show a channel icon (WhatsApp or email) instead of the coloured alert glyph used on General. Clicking a row that carries a backend link marks it read, closes the panel, and navigates straight to the conversation — typically /inbox?contact=… or the booking Communication deep link. Landing on /inbox is what sets the browser tab to VIVIN | Inbox; opening the slide-over alone does not. Rows without a link still open Notification detail inside the panel (same as General).

Inbound messages are coalesced per conversation: a new message on an existing thread bumps that notification to the top and marks it unread again instead of creating duplicate rows.

Row labels on the Inbox sub-tab mirror who sent the latest message:

ChannelSummary pattern (English UI)Body preview
WhatsAppNew WhatsApp message from {tenant name} when Vivin matches the phone to a tenant record; otherwise New WhatsApp message from +{digits} (never a raw WhatsApp JID)Last inbound message text, or New WhatsApp message when empty
EmailNew email from {sender} — sender name when Gmail provides it, otherwise the From addressEmail snippet or subject line

The same coalescing and summary patterns apply when those rows appear on the full /notifications page mixed with General alerts (the full page has no Inbox category pill — use the Dashboard bell Inbox sub-tab when you only want message notifications). See Notifications — Dashboard bell vs. full module.

Dashboard bell — Inbox sub-tab with WhatsApp / email channel icons and unread badge on the tab

Chatbot gating​

Pair with other Inbox sections

When isTenantChatBotEnabled is off, enable the tenant chatbot via Vivin support then pair Settings → ChatBot — Status Bot before reopening Tools → Inbox.

The global Inbox depends on the same account-level tenant chatbot flag as Bookings → Communication. When isTenantChatBotEnabled is false, Vivin blocks Inbox entry points instead of showing an empty two-pane workspace:

SurfaceBehaviour when chatbot is off
Tools → InboxNav item stays visible but greyed out (opacity-50, not clickable). Hover shows The tenant chatbot is not enabled for this account.
Dashboard bell → Inbox sub-tabSub-tab label is greyed out and not clickable; unread counts on that tab are hidden. Hover shows Activate the Chatbot to get tenant messages right here. General alerts still work normally.
/inbox URLDirect navigation is not the primary path when the integration is off — operators should contact Vivin to enable the tenant chatbot, then pair Status Bot under ChatBot settings.

Sidebar — disabled Inbox nav item when tenant chatbot is off (grey label + tooltip on hover)

This mirrors Bookings → Communication, which shows Unlock your communication history inside the booking sidebar when the same flag is off. After Vivin enables the integration, refresh the session — Tools → Inbox, the bell Inbox sub-tab, and per-booking Communication all become active without a separate product toggle on your side.

Dashboard bell — disabled Inbox sub-tab when tenant chatbot is off (grey label + upsell tooltip on hover)

Relationship to Bookings Communication​

Pair with other Inbox sections

Use Inbox for cross-booking triage; open Bookings → Communication when you need payment-plan, ticket, or file context on one reservation. If Communication or Tickets inside the booking sidebar fails to load, use Refresh or Retry — other tabs stay available (FAQ — Communication or Tickets won't open). FAQ: Where do I read WhatsApp and email for one booking?.

SurfaceBest for
Inbox (/inbox)Cross-booking triage, unknown numbers, quick replies without opening a reservation first
Bookings → CommunicationFull booking context (payment plan, tickets, files) while messaging one tenant
Bell → GeneralPayment/ticket/booking alerts — not message threads; use Inbox sub-tab for WhatsApp pings

Both Inbox and Bookings → Communication read and write the same WhatsApp conversation state. Labels, Pause bot, and sent messages stay aligned. Hub matrix: Common Workflows — WhatsApp per-booking messaging. FAQ: Where do I read WhatsApp and email for one booking?.

Inbox module — conversation list and thread composer for portfolio-wide WhatsApp triage

Booking detail — Communication tab, WhatsApp filter with Labels row and message composer at the bottom

WhatsApp per-booking messaging​

Pair with other Inbox module guide sections

Cross-booking Inbox pairs with Bookings → Communication when operators need Payment Plan / Tickets context —

Bot reasoning (audit)​

Pair with other Inbox module guide sections

Cross-booking bot triage before booking Communication.

ChatBot settings​

Pair with other Inbox module guide sections

Account Settings → ChatBot pairs with Communication thread review — cross-booking bot triage before booking communication.

Rent reduction after invoicing​

Pair with other Inbox module guide sections

Collections threads about rent relief pair with Bookings → Contract Info → Change monthly rent when the Already invoiced months banner blocks lower nets — cross-booking Inbox lacks Payment Plan invoiced-floor context.

Month-end invoicing (fixed date)​

Pair with other Inbox module guide sections

Cross-booking threads citing wrong invoice document dates pair with Settings → Invoicing fixed Invoice date before Finance → Transactions bulk Issue allocation — not a messaging bug.

Bulk Hostkit invoicing​

Pair with other Inbox module guide sections

Cross-booking threads about slow invoicing or HTTP 429 errors pair with Finance → Transactions bulk toolbar — refresh before re-issue.

Directory list refresh​

When a list needs a refresh instead of showing rows, use Retry or reload the page. Zero rows after a successful load means your filters matched nothing — widen filters or clear search.

See FAQ — Directory list refresh and Glossary — Directory list refresh.

Inbox guide subsection index​

Pair with other Inbox module guide sections

This index pairs Inbox triage surfaces with Related subsections — use it when bell Inbox rows deep-link here but you need booking-level Payment plan context.

SubsectionWhen to open itPair with
PrerequisitesChatbot, Status Bot, and Bookings permissionSettings → ChatBot, Settings → ChatBot — Status Bot
Browser tab titleFind Tools → Inbox among other management tabs (VIVIN | Inbox)FAQ — Why does my browser tab say VIVIN | Inbox?, Glossary — Inbox browser tab, Deep Links — Inbox (inbox-browser-tab-vivin-inbox.png, inbox-browser-tab-vivin-inbox-flow.mp4)
Conversation list (left)Cross-booking triage and Unknown numbersBookings — Communication tab, Tenants — Tenant category filter
Thread and composer (right)Labels, pause-bot, and repliesBookings — Communication → WhatsApp, Managing a Check-in
Dashboard bell — Inbox sub-tabAlert-driven entry from DashboardNotifications module, Notification triage
Chatbot gatingGreyed-out Tools → Inbox when chatbot is offSettings → ChatBot
Relationship to Bookings CommunicationWhen to stay in Inbox vs open one bookingFAQ — WhatsApp for one booking, Automation & AI
Deeper workflow readsStep-by-step procedures in this moduleCommon Workflows hub subsection index, Notification triage
Lockout catch-up after password recoverySign-in restored; module backlog accumulatedCommon Workflows — Lockout catch-up, Getting Started — Lockout catch-up, Resetting a Management User Password — Step 3
Pending manual receipt approvalRecorded bank transfers still pending until Approve paymentsCommon Workflows — Pending manual receipt approval, Finance — Pending manual payments, FAQ — Manual receipt still pending
Reject/revert mistaken receiptsDuplicate or wrong-booking receipts after ApproveCommon Workflows — Reject/revert mistaken receipts, Payment Allocation — Correcting mistaken receipts, Glossary — Credit note (payment reject/revert)
Notification row-click navigationBell Inbox link vs General row-click on /notificationsCommon Workflows — Notification row-click navigation, Notifications module — Notification row-click navigation, Dashboard bell — Inbox sub-tab (notifications-dashboard-bell-inbox-tab.png, inbox-module-triage-flow.mp4)
Payment alert to receivables triagepayment overdue on General before WhatsApp collections chaseCommon Workflows — Payment alert to receivables triage, Handling a Late Payment — Step 1, Notifications — Payment overdue alerts (notifications-row-navigate-to-booking-detail.png)
Confirmation alert triagePayment received thread; finish Approve before bulk-clearCommon Workflows — Confirmation alert triage, Notification triage — Confirmation alert triage, FAQ — Processing a New Booking hub (notifications-row-navigation-flow.mp4, bookings-detail-transactions-approve-payment-modal.png)
Booking sidebar tab refreshOpen booking from thread; Communication / Tickets tab redCommon Workflows — Booking sidebar tab refresh, Bookings — Sidebar tab refresh, FAQ — Communication or Tickets won't open (bookings-detail-communication-tab-whatsapp-thread.png)
Portfolio segmentation by tenant categoryReview one tenant segment across modulesCommon Workflows — Portfolio segmentation, Settings > Tenant categories, Finance — Tenant category filter, Tenants — Tenant category filter
Finance debt receivables triageTenant debt questions on WhatsApp — cite Debt Aging Top debtors after Pending clearsCommon Workflows — Finance debt receivables triage, Finance — Finance debt receivables triage, FAQ — Finance debt receivables triage hub, Relationship to Bookings Communication, Payment alert to receivables triage (finance-overview-debt-aging-expanded-bucket.png, finance-overview-debt-aging-walkthrough-flow.mp4)
Finance Income status drill-downTenant debt questions on WhatsApp — confirm Income → In debt or Debt Aging before outreachCommon Workflows — Finance Income status drill-down, Finance — Income status drill-down, FAQ — Finance Income status drill-down hub, Relationship to Bookings Communication, Payment alert to receivables triage (finance-overview-income-status-in-debt-modal.png, finance-overview-income-drill-down-flow.mp4)
Cash flow forecast drill-downTenant collections questions — Cash flow forecast lists confirmed payments, not scheduled debtCommon Workflows — Cash flow forecast drill-down, Finance Income status drill-down, Finance — Income chart and cash flow forecast, FAQ — Cash flow forecast drill-down hub, Relationship to Bookings Communication, Confirmation alert triage (finance-overview-cash-flow-all-payments-modal.png, finance-overview-cash-flow-day-view.png, finance-overview-cash-flow-drill-down-flow.mp4)
Inbox section cross-referencePer-section pairing matrixModule cross-reference, Notifications guide subsection index

Inbox section cross-reference​

Use the sections above for this module. Related pages are linked from Related below when present, or from Modules.

Pair with other Inbox module guide sections

Related below links this module to settings, concepts, workflows, and escalation paths.

Documentation map & escalation​

Upstream & downstream workflows​

Deeper workflow reads​

See Upstream & downstream workflows above for the same guides.

Settings & chatbot configuration​

Operator modules (pairing surfaces)​

Deeper concept reads​

  • Automation & AI — Chatbot escalation path when threads need operator takeover
  • Tenant Portal — Tenants may message on WhatsApp instead of using the web portal for payments or maintenance
  • FAQ — Tenant contract signing blocked — No PDF yet, mandatory Your Details gates, category locks, or Lease purpose; portal signing vs paper upload on Contract Info
  • Integrations & Distribution — WhatsApp inbox is enabled separately from marketplace channel credentials in Settings
  • Services Marketplace — Ancillary charge questions tenants sometimes raise over WhatsApp before Payment plan settlement
  • Payment Allocation — Two-layer receipts, invoiced-floor rent edits, and credit note reject/revert warnings
  • Booking Lifecycle — Computed Upcoming → Ongoing → Ended / Canceled status model behind thread header badges
  • Tenant MCP — External automation that reads and writes the same WhatsApp threads as Inbox
  • Landlord MCP — Account-scoped portfolio reads when inbox volume suggests a cross-booking question

Operator habit hubs​

Day-to-day operator habits (lockout catch-up, pending receipts, payment triage, handoffs, and related playbooks) live on the Common Workflows habit hub.

Deep-link anchors for habit hubs

Lockout catch-up after password recovery​

Pending manual receipt approval​

Reject/revert mistaken receipts​

Check-out ledger cleanup before refund​

Utility overage collections​

Cancellation collections before void​

Check-out collections before refund​

Handling a Late Payment collections​

Check-out vs cancellation​

Deposit missing on Finance Deposits​

Partly collected security deposit​

Notification row-click navigation​

Payment alert to receivables triage​

Finance debt receivables triage​

Finance Income status drill-down​

Cash flow forecast drill-down​

Confirmation alert triage​

New inventory to first booking handoff​

Property setup to first arrival handoff​

Confirmation to check-in handoff​

Check-in to check-out handoff​

Check-out final utilities handoff​

Same-day turnover coordination​

Occupancy KPI to block hygiene handoff​

Portfolio segmentation by tenant category​

Booking sidebar tab refresh​

If Communication or Tickets needs a refresh inside a booking opened from this module, use header Refresh or banner Retry. Other booking tabs stay usable.

See FAQ — Communication or Tickets won't open and Bookings — Sidebar tab refresh.

Key glossary terms​

API & companion guides​

Module documentation hubs​