Skip to content
comark

Case study · Business messaging

Engage: our own communication platform

Engage is the product we build and run ourselves. Teams answer customers on WhatsApp, Messenger and Instagram from one inbox, keep contacts and deals in a CRM, and send campaigns and automations from the same place.

Client
Comark · our own product
Industry
Business messaging
Languages
Hebrew · Arabic · English
Stack
Next.js · React · TypeScript · NestJS · PostgreSQL · Supabase · WhatsApp Cloud API · Meta Graph API

Customers write on WhatsApp. Businesses answer from personal phones.

The conversation that decides a sale happens in a chat app, outside every system the business owns.

No shared history

When the person holding the phone is away, the context goes with them. Nobody else can pick up the thread.

Leads fall between chats

No assignment, no status, no reminder. A question asked on Friday can still be unanswered on Monday.

Messaging outside the rules

Bulk sends from personal numbers break WhatsApp's policies. Doing it properly means the official platform, approved templates and opt-in.

From a Meta webhook to the right person's screen.

Every message takes the same path: verified, stored, acknowledged, de-duplicated, then written to the right workspace and handed to the inbox and the automation engine.

  • WhatsApp, Messenger, Instagram · where customers write

  • Meta Graph API · WhatsApp Cloud API · webhooks

  • Webhook receiver and queues · NestJS checks the signature, stores the event, acknowledges, then works from queues in PostgreSQL.

  • PostgreSQL on Supabase · multi-tenant · Row Level Security

  • Team inbox · Next.js · live updates over Realtime

  • Automation engine · trigger · condition · action

  • Outbound sends · replies, templates, campaigns · send budget

Built, hosted and operated by Comark · Simplified: one workspace shown

Four things a messaging product has to get right.

None of these show up in a demo. All of them decide whether a business can trust the inbox with its customers.

Store first, then acknowledge

Each webhook event is checked against Meta's signature and stored before it is acknowledged. A unique key on the channel and message id means a redelivery never becomes a double message, and a sweep every minute picks up anything the fast path missed.

Templates in sync with Meta

Outside the 24-hour customer-service window, only approved templates can be sent. Engage keeps each template's approval status in sync with Meta, and campaigns fill its variables from contact data.

Routing is an automation

Assignment is a step in a flow, not a hidden rule: round robin, least loaded, or the contact's owner, after whatever conditions the team sets, such as the channel or the contact's language.

Campaigns within Meta's limits

Each channel gets a send budget inside its number's messaging limit. On a quality or limit signal from Meta, a campaign pauses itself. Opted-out contacts are left out automatically.

What a team gets, in Hebrew, Arabic and English.

One inbox, three channels

WhatsApp, including the Business app on the same number, Messenger and Instagram. Internal notes, quick replies and live updates.

Contacts with their history

Every chat lands on a contact with tags, custom fields, tasks, documents and history. CSV import and export, and duplicate merge.

Leads and pipelines

Lead statuses and conversion, and several pipelines on a board with stage history and products.

Message templates

Create templates, follow Meta's approval and preview them on a phone before sending.

Campaigns

Choose an approved template and a segment, map the variables, review who gets it and who is skipped, then send and read the results.

Automations

A visual builder with triggers from chats, contacts, leads, deals, appointments and website forms, and steps that wait, branch, assign and call your systems over HTTP.

Calendar and appointments

Recurring appointments, staff availability, and reminders on WhatsApp.

Reports

Leads, sales, inbox, team, campaigns, templates and automations, with CSV download.

Roles and permissions

Admin, manager and member roles with per-member permissions, enforced in the database as well as in the app.

We run it ourselves, every day.

In production

Built, hosted and operated by Comark, on Meta's official platforms for WhatsApp, Messenger and Instagram.

Workspaces kept apart

Row Level Security on every table, so each workspace sees only its own data.

Channel tokens encrypted

Access tokens for connected channels are kept in a vault encrypted with AES-256-GCM.

Consent on record

Every opt-in and opt-out is logged per contact, and data is kept for set retention windows.

Screens

Real screens, as they run today.

The sales pipeline in Engage: opportunities in columns by stage
The Engage sales pipeline with opportunities grouped by stage
A WhatsApp conversation in Engage on a phone
An automation in Engage: a new WhatsApp message, a condition, a template, a wait and follow-up steps
The last step of a WhatsApp campaign in Engage, with the audience and a phone preview
The Engage reports overview with leads, deals and response times

1 of 6

The sales pipeline in Engage: opportunities in columns by stage

The sales pipeline in Engage: opportunities in columns by stage

Your project next

Tell us what yours must do. We'll come back with an architecture.

Start a project for a scoped proposal, or talk to an engineer first.