Documentation:Workspace Care Inbox

Workspace Care Inbox & AI Copilot

The unified customer communication hub. Manage real-time WhatsApp conversations, enforce Meta's 24-hour customer service window, collaborate with AI smart suggestions, dispatch media attachments, and take over chats seamlessly.

1. Purpose of the Page

The Workspace Care Inbox is the primary interface for customer service teams and human agents. It provides a real-time, WebSocket-connected chat environment that integrates directly with Meta Cloud API v20.0. Agents can monitor AI bot interactions, review sentiment classifications, inspect conversation session timers, and reply via free-form text, media files, or pre-approved Meta message templates.

2. Who Uses It (Target Roles)

Customer Support Agents

Handles inbound customer questions, escalations, troubleshooting, and order inquiries.

Sales Representatives

Engages with warm leads generated from broadcast campaigns and updates CRM lead statuses.

Support Team Supervisors

Monitors AI accuracy, intervenes in negative sentiment threads, and manages agent workload.

Interactive Visual Preview

InboxPage.tsx • /inbox
Real-time WebSockets
Active Conversations14 Live
+91 98765 4321014m left
Can you share the invoice for order #8492?
PriorityBilling
+1 (415) 555-019922h left
Bot auto-replied with pricing catalog.
AI Contained
Aarav Mehta(+91 98765 43210)
24-Hr Window: 18h 42m remaining
Bot ActiveTake Over

Hi, I need help downloading my GST tax invoice for the enterprise renewal.

10:42 AM

Hello Aarav! I have retrieved your GST invoice for order #8492. You can download the PDF directly below.

📄Invoice_8492_AadiServices.pdf
10:43 AM✓✓ Read
Copilot Suggestion:“Is there anything else regarding your tax invoice?”

3. Step-by-Step: Operating the Live Inbox

  1. Select an Active Conversation: Click on any thread from the left conversation list. Threads are sorted with the most recent messages on top and include unread counters and sentiment tags.
  2. Verify 24-Hour Session Status: Check the session countdown badge in the chat header. If the window is open (Active session), free-form text and attachments can be dispatched. If expired, you must choose a Meta-approved template.
  3. Toggle AI Auto-Reply vs. Human Takeover: If the bot is actively conversing and you wish to reply manually, click Take Over. This pauses Gemini auto-responses so you can guide the customer directly without conflicting bot replies.
  4. Send Media Attachments: Click the paperclip icon (📎) to attach images (PNG/JPEG), PDFs, videos (MP4), or audio. NotifyIQ uploads the file to server storage and dispatches a Meta Cloud API media payload.
  5. Send Pre-Approved Meta Templates: If the 24-hour window has expired or you need to send an authenticated notification, click Send Template, select an approved template, fill in dynamic variables ({{1}}), and click Send.

4. Fields, Controls & Modals Reference

Control / FieldComponentAPI RouteOperational Purpose
Take Over / Reactivate AIHeader TogglePOST /api/conversations/:id/toggle-aiSwitches the thread state between autonomous Gemini bot handling and human agent control.
24h Session WindowHeader CountdownwindowExpiresAtCalculates remaining time under Meta customer care policy (24 hours from the customer's last inbound message).
Text Input FieldChat FooterPOST /api/messages/sendDispatches standard text message to Meta Cloud API endpoint /v20.0/{phone_number_id}/messages.
Media Attachment ModalModal DialogPOST /api/messages/mediaUploads multipart/form-data with mime-type validation and dispatches document/image/video to WhatsApp.
Template Picker ModalModal DialogPOST /api/messages/send-templateEnables out-of-session communication with pre-approved Meta Cloud API templates and parameter interpolation.
RAG Assistant QueryKnowledge TabPOST /api/ai/queryPerforms MongoDB vector similarity search and returns synthesized answer with document citations.

5. Behind the Scenes: Meta Platform Architecture

The live inbox relies on a bidirectional event pipeline between Meta Cloud API v20.0, Redis WebSockets, and MongoDB:

  • 24-Hour Care Window Rule: Per Meta Platform Policy, businesses can only send free-form replies within 24 hours of the user's last inbound message. Each inbound message resets windowExpiresAt = Date.now() + 24 * 3600 * 1000.
  • WebSocket Broadcast: When an inbound message arrives, BullMQ processes it and notifies all active browser tabs in that workspace via WebSocket event message:new, appending the chat bubble in real time without refreshing.
  • Message Delivery Receipts: As Meta delivers the message to the user's phone, webhook events update message status from sent to delivered (two grey checks) and read (two blue/green checks).

6. Common Errors & FAQs

Why is the send button disabled with “Window Expired”?

More than 24 hours have passed since the customer last messaged. WhatsApp policy restricts outbound communication outside the 24-hour window to approved Meta Message Templates. Click “Send Template” to re-open the conversation.

Will AI answer while I am chatting with a customer?

No. When you send a manual message or click “Take Over”, the conversation sets isHumanTakeover: true, which immediately mutes the Gemini AI auto-reply engine for that specific thread until you manually reactivate it.

What file formats are supported for media messaging?

NotifyIQ supports standard Meta media formats: JPEG, PNG, MP4 video, PDF, and audio (AAC, MP3). Files are streamed using POST /v20.0/{phone_number_id}/messages with direct media object payloads.