← Knowledge base

Community owners · Messaging & notifications

Inbox, delivery log and communication analytics

Trace inbound conversations and outbound attempts, then interpret provider and engagement signals without treating estimates as proof.

Inbox conversations

Inbound email, SMS and WhatsApp reach Admin → Communications → Inbox only when the provider webhook is configured to send replies back to JollyBee. A thread belongs to a contact and a channel. A new inbound message reuses the open thread for that contact and channel; a closed thread or another channel can create a separate conversation.

Inbound email is separate deployment and provider-webhook setup. SMS and WhatsApp inbox routing requires a uniquely stored community sender ID or phone-number ID; replies through shared platform sender routes are not reliably attributable to a community.

In-app notification threads are read-only in the current inbox. For email, SMS and WhatsApp, an admin reply is plain text, queued on the same channel and sent through that channel's provider. The reply form does not add attachments or start a new email subject.

Outbound log

The tab labelled Message log can filter recent outbound rows sent through the queued messages pipeline by email, SMS, WhatsApp, in-app, push or all channels. It is not a complete log of inline cascades or direct transactional sends. It shows the latest 200 messages in the selected window. Campaign history is also bounded: the campaign list and detail views show recent records rather than an unlimited delivery archive.

Use status precisely:

  • Queued — waiting for a worker, normally up to about five minutes.
  • Sent — handed to the sender without an immediate error.
  • Delivered — an in-app row was processed, or a provider webhook confirmed delivery where supported.
  • Opened, read or clicked — a supported tracking signal was recorded. WhatsApp and in-app messages report Read.
  • Failed or bounced — the attempt or downstream delivery failed.

The counters above the list are a funnel, not a split. A message that was read counts under Sent and again under the engagement column, so Sent means everything that left the queue rather than everything that was then ignored. The engagement column is named for the channel you are looking at — Opened on email, Read on WhatsApp and in-app — and shows a dash on SMS and push, which give us no read signal at all.

A Campaign marked Sent can still contain failed rows because the campaign status means its original queue is finished. Retrying a failed row from the Message log requeues that message without reopening the Campaign.

Analytics limitations

  • Email opens use a tracking pixel and are approximate; privacy protection, image blocking and automated fetching can distort them.
  • Only supported absolute links can be rewritten for click tracking.
  • WhatsApp delivered/read status needs the provider webhook.
  • SMS Sent can mean provider acceptance, not handset delivery.
  • In-app read state marks the message Read and the Message log counts it, but it does not populate the opened-at metric used by campaign analytics.
  • Push-open attribution is not reliable in the current implementation.
  • The Message log's engagement filter reads the status and any recorded open or click timestamp, so a tracked open counts even where the status still says Sent. Campaign detail remains the place for per-campaign open and click totals.

Report these as operational signals, not an audited count of people who read and understood the message.