The platform

Every conversation, one platform, and the number under guard.

Eight modules that share one live record of every customer. Nothing here is a costly add-on: every Leapstream workspace gets all of it.

Number Quality Guard

We protect the asset your business runs on.

A WhatsApp number carries a quality rating and a daily limit that Meta moves without asking. Since October 2025 one bad campaign damages every number in your portfolio. Every other platform tells you afterwards. This one watches, slows down, stops, and tells you why.

  • Auto-pause, mid-send. A campaign stops on its own when the rating drops to red or failures spike while it runs, and resumes only when a person says so.
  • Rating-drop attribution. When the rating falls, the alert names what the number was sending in the seven days Meta judged, ranked by who turned it away and the opt-outs that followed.
  • Alerts from Meta, in words. Limit decisions, restrictions, bans and their lifting, flagged numbers and limit changes, each with one line of advice, counted in the header until cleared.
  • Frequency caps at the queue. Up to four rolling windows per workspace, such as two marketing messages a week, enforced across every campaign and journey. Deferred, never dropped.
Number Quality+91 98XXX XXXXX

of 5,000 today · tier 3 of 5

RatingMedium

Two campaigns paused by the Guard

14/07, 6:40 pm

Rating fell to Medium. Festive launch and Re-order nudge paused themselves.

14/07, 6:41 pm

In the seven days Meta judged: festive_launch_v3 had 41 recipients turn it away and 12 opt-outs. Next: reorder_reminder, 6 and 2.

Team inbox

Twenty agents, one inbox, nobody replying twice.

Three panes: the queue, the conversation, and everything you know about the person. The 24-hour service window drains around each contact's avatar on every row, so the whole team sees who needs a reply before it starts costing money.

  • The avatar is the countdown. The window drains around the face, amber then red. A closed window is a dashed ring, readable without colour.
  • Teams, routing and availability. Named desks, rules by number, keyword, stage or tag, then round-robin among people who are online and under their cap. Nobody available leaves the thread unassigned and tells the managers.
  • Keyboard-first. J and K move, X selects, U marks unread, E resolves, a slash opens saved replies with variables, and one command palette reaches every screen.
  • Collision detection. See who is viewing and typing on a thread before you start. Bulk assign, resolve or mark read with one action on up to two hundred threads.

Riya Shah

Support · you · window closes 17h 12m

Bot paused 24h

Today

Hi, I have not received a tracking link yet.9:02 am

Sorry about that, Riya. It left this morning. Here is the link.Track order9:04 am ✓✓

Private note · Priya, can you check the courier SLA for Surat?9:06 am · Aman

Type / for a saved reply · each reply charged per messageSend

Campaigns and templates

Know the cost, the audience and the risk before you press send.

A campaign here is reviewed, not launched. The estimate is exact and in rupees, the audience is honest about who will be held back and why, and the send is paced to the number's limit instead of fired at it.

  • Exact cost before sending. Rupee cost by Meta category at Meta's own rate card, no markup, with who is held or skipped and why.
  • A/B with a hold-out. Send two variants to a sample. After the decision window the winner goes to the rest on its own.
  • Maker-checker approval. Agents draft, managers approve. The riskiest action in the product always asks first.
  • Recurring, retargeting, best hour. Weekly campaigns on a schedule. Re-broadcast to "delivered, not read" in two clicks. Each contact's best hour learned from when they read.
Festive launch · ReviewWaiting for approval

Estimated cost, at Meta’s rate

₹0.00

4,600 people now · Marketing, at Meta’s rate card · no markup

212

held by a frequency cap until Friday. Deferred, not dropped.

1,384

skipped: opted out, low engagement, or inside quiet hours.

Paced over 46 minutes to fit today’s allowance. A/B hold-out of 10%, winner by read rate at two hours.

Drafted by Aman, 12/09/2026, 4:20 pm. Waiting for a manager to approve.

Contacts, segments and forms

A contact is a person, not a phone number.

Typed fields that mean something, a pipeline you can see as a board, segments that stay live, and native WhatsApp forms whose answers land straight on the contact.

  • An import that does not drop rows. Column mapping, a validation preview with bad numbers flagged, duplicate handling you choose, a dry-run report, missing stages offered, Google Sheets in and out.
  • Typed fields. Number, date, choice, text, boolean. A date compares as a date, so "renewal within 30 days" works.
  • Segments that stay live. All-or-any rules on tags, stage, engagement, dates and attributes. Refreshed continuously, never a snapshot.
  • Stages. One ordered pipeline per workspace: a board with drag, a filter, a segment rule, a journey trigger, a report, an API field.
Contacts · BoardStage: all · 68 contacts

New41

  • Neha Joshi
  • Vikram Rao
  • Pooja Nair

Qualified18

  • Aman Verma
  • Sunita Patel

Booked9

  • Karan Mehta
  • Riya Shah
Mean stay in Qualified: 3.2 daysLongest waiting: Sunita Patel, 6 daysA stage change can start a journey

Chatbot flows and journeys

Bots that ask, look things up in your system, and hand over with context.

Build on a canvas with a live WhatsApp preview beside it, test on your own number, publish a version, roll back in a click. Drips run on the same guard rails as campaigns.

  • Call your API mid-flow. Credentials in an encrypted store, a request in the flow, the answer used in the next message. Bots that know order status or free slots.
  • Live preview and sandbox. Walk the flow as a fake customer while building, then run the draft on your own number before publishing.
  • Versions and rollback. Publish v3, restore v2 in a click. Contacts mid-flow finish on their version.
  • Analytics on the node, branches on time. Entries and drop-offs per step, drawn on the canvas. "No reply in four hours", working-hours routes, a fallback for the unexpected.
Appointment FAQ · v3Published
  1. Keyword

    “book”

    1,240 in

  2. List

    What would you like?

    68% chose book

  3. Ask

    Which date?

    98% answered

  4. Call API

    GET /slots?date=…

    412 ms

  5. Hand over

    Front desk, with path

7% dropped at the question. A nudge after four hours brought a third of them back. Timeout branch: 4 h.

Analytics, return on spend and AI

Numbers that say whether it worked, and an AI that reads them.

Every status change is stored as an immutable event, so every figure traces back to a message. Costs use Meta's own daily figures, not an estimate.

  • Funnel with cost per stage. Sent, delivered, read, clicked, replied, converted, with failure reasons and the rupee cost of the campaign.
  • Revenue attribution. Conversions via the API land on the campaign, the journey and the ad click that started the conversation, and are reported back to Meta's Conversions API with a delivery log.
  • Ad spend, cost per lead. Record spend by hand or import it. Cost per lead and revenue by ad, beside conversations per ad.
  • Conversations, team, pipeline, growth. Volume by day and hour, business- versus user-initiated, reply cost after October 2026, response and resolution times, ratings per agent, stage by stage.
Festive launch · 01/09 to 13/09Percentages of the previous stage
  1. Sent4,600
  2. Delivered4,41896%
  3. Read3,12771%
  4. Clicked1,39845%
  5. Replied61244%
  6. Converted27645%

₹3,609 spent at Meta’s rate · ₹4.6L attributed from 276 conversions posted by the store · ₹13.08 per conversion

Developer platform

Built to the standard you expect from a payments API.

A versioned REST API with scoped keys, idempotent writes and signed webhooks, documented from the same spec the server runs on.

  • REST API at /v1. Messages, templates, contacts, segments, campaign triggers, media, journeys, conversions, events. Idempotency keys, cursor pagination, one error envelope.
  • Scoped keys. Per-key scopes, rate limits with headers, test mode, an IP allowlist, revoke, last-used visibility.
  • Webhooks with a debugger. HMAC-signed, retried with backoff. Every delivery attempt, payload and response kept, redeliver in one click.
  • Docs from the spec. A public reference rendered from the live OpenAPI spec, with an in-dashboard reference and curl examples.
Developerv1
# send a template with a document
POST /v1/messages
Idempotency-Key: report-88213

{ "to": "919876543210",
  "template": {
    "name": "report_ready",
    "params": { "patient_name": "Sunita" },
    "header": { "document": "https://…" } } }

# 201 Created
{ "id": "msg_01J8…", "status": "queued",
  "cost": { "category": "utility", "inr": 0.115 } }

Webhook deliveriescrm.example.in

  • message.status_changed · read200 · 84 ms
  • contact.stage_changed · Booked200 · 61 ms
  • message.received503 · retry 3 of 5 in 4 min
  • flow.session_completed · Appointment FAQ200 · 122 ms

HMAC-SHA256 signed, timestampedRedeliver

Security and service

Enterprise-grade inside. Human on the outside.

Isolated, encrypted and audited from day one. Onboarded by a person, not a signup form.

  • Isolated workspaces. Every query scoped to your workspace at the database layer and tested with deliberate breach attempts.
  • Encrypted credentials. Meta tokens and API connections under AES-256-GCM, never logged, never in code.
  • Roles you compose. Owner, admin, agent, or your own roles from twenty-four granular permissions, checked on every route.
  • An audit trail you can read. Every significant action logged with who, when and from where. Sessions listed and revocable.
ActivityFiltered: campaigns, sessions, guard
  • 12/09, 4:20 pmAman · Submitted campaign “Festive launch” for approval· 103.24.x.x
  • 12/09, 4:31 pmPriya · Approved campaign “Festive launch”· 49.36.x.x
  • 12/09, 4:32 pmQuality Guard · Held 212 recipients under the weekly frequency cap· system
  • 13/09, 9:02 amOwner · Revoked session on an unrecognised device· 157.49.x.x

Setup5 of 6

  • Meta app connected
  • Webhook receiving
  • Number registered
  • Templates imported (14)
  • Team invited (6)
  • First campaign reviewed

And the hundred smaller things.

A Home that triages what needs a person now. An attention strip on every screen. An installable app with push alerts. A command palette. Light and dark, both measured for contrast. Many numbers in one workspace. Email that sends one digest a day instead of forty mails. Excel from every table. Members, templates and tags retired rather than deleted.

Talk to us.

In a forty-minute call we go through what you send today, what it costs you, and what a flagged number would cost you. Then we set up a workspace on your own Meta app and build the first campaign with you.