Inbox & CRM

One shared inbox for the whole team

Every DM, comment, and ad reply from every connected channel lands in one place. Custom fields, tags, and statuses live inline with the conversation. Human teammates can jump in whenever they want.

#Shared inbox

Open /dashboard/inbox. You'll see three tabs and a left-side conversation list.

Tabs

  • WhatsApp — every WA conversation across every connected number.
  • Instagram — every IG DM across every connected account.
  • Comments — Instagram comments that haven't been auto-handled by an automation. Reply, mark ignored, or hide.

Conversation view

Click a conversation to open it. You'll see:

  • The message thread — text, media (images, video, audio players, docs), polls with live tallies.
  • Delivery ticks (sent / delivered / read) mirrored from the platform.
  • The customer's CRM panel on the right — name, phone, status, tags, custom fields, ad referrer.
  • The current agent and its status (Active / Paused).

Replying as a human

Type a reply in the composer at the bottom. Sending your own reply doesn't pause the agent — for a proper handoff, use the Pause agent button on the CRM panel. Unpause when you're done.

Talk to agent panel

Every conversation has a “Talk to agent” panel — an operator-only back-channel where you can ask the agent questions about the customer (“What did they say last week?”) without the customer seeing anything.

Realtime updates

Inbox is live: new messages, delivery ticks, poll votes, and comment replies push to the open chat via WebSockets. No refresh needed.

#Contacts (CRM)

Open /dashboard/contacts for the full contact list.

List view

  • Every unique sender across every channel gets one row.
  • Instagram contacts show @username and profile picture; WhatsApp contacts show phone number + pushName.
  • Filter by channel, tag, status, or custom field.

Status

A short label describing where the contact is in your funnel. Defaults to NEW; the agent updates it via upsertClient, or you can change it manually. Customise the allowed labels from the workspace settings.

Tags

Free-form labels — VIP, Baku, website-inquiry. Agents add them via addTag or the Add Tag automation action. Use them as filters in analytics and campaign targeting.

Custom fields

Go to /dashboard/contactsManage Fields. Define your own attributes:

  • Key — snake_case identifier the agent will read/write (age, company_size).
  • Label — human-readable name shown in the UI.
  • Type — text, number, date, or select.

Enable the User Fields skill on an agent to let it save answers into these fields.

Pausing contacts

A paused contact stops receiving auto-replies. Their messages still land in the inbox — the agent just doesn't answer. Two ways to pause:

  • Manual — click Pause agent on the CRM panel.
  • Automatic — the agent uses the Self-pause skill when it decides handoff is appropriate.

Resume from the same panel to hand the conversation back to the AI.

#Ad attribution

Contacts who arrived through a click-to-message ad show the ad's campaign, ad set, and ad ID in the CRM panel. Combined with tags and analytics, you can trace revenue back to specific campaigns.