For financial services

Send it. Then prove you sent it.

One-time codes, transaction alerts and due-date reminders on email, SMS and WhatsApp — each one with a status you can read back, a sealed record of exactly what went out, and rules that stop a message going where it should not.

One request, three channelsA status on every messageA sealed record of what was sent
The email delivery report inside QuickGrow: a funnel counting sent, delivered, opened and clicked messages across 130 campaigns, with the drop-off between each stage.

The four messages a customer notices the moment they go missing.

A bank, a mobile money service, a lender or an insurer sends a handful of message types over and over. Each one has a different deadline and a different way of failing. All four run through the same account, on whichever channel suits them.

Seconds matter

One-time codes

Your system asks for a code to go to one number or address. You get a message id back straight away, and you can read its state at any point after that — so a support agent can say what happened instead of guessing.

Triggered by you

Transaction alerts

A debit, a credit, a card used abroad. Your core system calls us when the event happens rather than handing us a file overnight, so the alert follows the money instead of trailing it by hours.

Scheduled

Due dates and repayments

Premium due, instalment due, policy about to lapse. Build the sequence once as an automation with real delays and conditions, and it runs per customer without anyone remembering to press send.

Email only

Statements and documents

Statements, schedules and policy documents go out as email with files attached. Send from your own domain once its records are verified, so the message arrives under your name and not a shared one.

What happens between your system asking and the customer reading.

The same four steps apply whether it is a code, an alert or a reminder, and whether it goes by email, SMS or WhatsApp. Nothing about this path is a batch job.

  1. Your system asks

    One request names the channel, the recipient and either the text or a template with its values. You get back a message id and a state — accepted, or a refusal that says exactly what was wrong with it.

  2. The rules run first

    Before an SMS or a WhatsApp message leaves we check that this person is recorded as having agreed to hear from you on that channel, that it is not their local quiet hours, and that they have not already had too many messages today.

  3. It goes, and the record is written

    The message goes to the network under your sender name. The moment it is accepted we write a sealed record of the exact final content — filled-in values and all — with who asked for it and where the request came from.

  4. The network answers back

    Delivery confirmations and failures come back from the network and land on the message. Its state moves to delivered, or to failed with the reason and code the network gave. You can read it, or we can call you.

Which channel carries which message

Sender names on SMS and WhatsApp are approved before first use — a branded SMS sender needs your business documents, and a WhatsApp sender needs your verified business account.
EmailSMSWhatsApp
Best suited toStatements, documents, long noticesCodes and short alertsAlerts and codes for customers who live in chat
Sender identityYour own domain, once its records verifyA branded sender name, after business verificationYour verified business account
Files attachedYesNoNo
Delivery confirmed back to youYesYesYes
Consent recorded per personUnsubscribes handled for youYesYes
Local quiet hours appliedNoYesYes
Per-person daily limit appliedNoYesYes
QuickGrow's public API reference served from the product: the endpoint navigator on the left beside the request and response detail for a send.
Developer API

Your core system sends it. Nobody uploads a spreadsheet.

One endpoint takes an email, an SMS or a WhatsApp message. The reference is served from the product itself, so what your developers read is what the running system does — and there are SDKs if you would rather not hand-roll the calls.

  • Send with one request; read a message back by its id whenever you need it
  • List what you sent, filtered by channel, state or date, without opening the portal
  • Attach your own reference numbers to a message and get them back on every update

A message that does not arrive should not be something you find out from the customer.

Messages fail. A number is dead, a handset is off, a mailbox is full, a network rejects the sender. What matters is whether your system hears about it in time to do something else.

Every message has a state

Queued, sending, sent, delivered, failed, bounced, or marked as spam by the recipient. A failure carries the reason and the code the network returned, so a wrong number and a blocked sender are not the same answer.

We call your endpoint

Point us at a URL and we call it when a message is sent, delivered, failed or bounced. Every call is signed with a secret only you and we hold, so your side can tell a real update from anything else that finds the address.

And we keep trying

If your endpoint is down we try again — five attempts spread over about half an hour, each one recorded with what your server said. If you miss them all, the state is still there to be read back.

A QuickGrow report comparing email, WhatsApp and SMS side by side over the same period, with the volume each channel carried.
Reporting

One view across all three channels.

Codes on SMS, alerts on WhatsApp and statements by email are one operation, not three. Reports put the channels side by side over the same window, so a drop in delivery shows up as a change in a line rather than as a run of support tickets.

  • Sent, delivered, opened and clicked, per channel and per campaign
  • The funnel between each stage, so you can see where messages stop
  • Cost recorded against each SMS, so spend is attributable rather than a monthly total

Six months later, a customer says they never got the message.

Delivery reports tell you a message went out. They do not tell you what it said. So alongside the message, every successful send writes a separate sealed record of the content itself — on email, SMS and WhatsApp, for one-off sends and campaigns alike.

What gets written

  • The exact final message, after every merge value was filled in
  • Who asked for it — the team member, or the key your system used
  • The address or number it came from, and the one it went to

How it is kept

  • Written once, the moment the network accepts the message
  • Never edited afterwards and never overwritten by a later send
  • Recipient, subject and body encrypted where they sit

What it is for

  • A dispute has a stored answer rather than a reconstruction
  • A complaint filed by a recipient links straight back to the exact message
  • The content is held for disputes and abuse cases, not for browsing

Where your customers’ details sit, and how long they stay there.

Your account is separated from every other account at the database level — not by a filter in the application that someone could forget to apply. Contact details, message content and the credentials for anything you connect are encrypted where they are stored. Account actions are written to a record that the daily clean-up deliberately leaves alone, and that record cannot be quietly edited afterwards.

Platform defaults, applied by a daily clean-up. If your own rules need different periods, say so before you go live.
Kept forWhat that covers
Message records365 daysWho was messaged, when, and what happened to it
Contact activity180 daysOpens, clicks and other events recorded against a contact
Automation runs90 daysThe trace of a journey that ran for one customer
Calls to your endpoint30 daysEach attempt, its response and whether it succeeded
Expired sign-in sessions30 daysCleared out once they are no longer valid
The account audit recordLeft in placeDeliberately excluded from the daily clean-up

The questions a risk and compliance team asks first.

Do you hold SOC 2, ISO 27001 or PCI DSS?

No. We do not hold those certifications, and we are not going to imply we do. What we can put in front of you is the mechanism: your data separated from every other account at the database level, encryption where the data sits, an audit record excluded from the clean-up job, retention periods you can read, erasure on request, and a sealed copy of every message that went out. If your procurement process needs a certificate on file, we are not the right answer for you today.

Will quiet hours or frequency limits hold up a one-time code?

They can, so plan for it. Before an SMS or a WhatsApp message leaves we check three things: that the person is recorded as having agreed to that channel, that it is not their local quiet hours, and that they have not already had their limit for the day. Email is not held by any of those. If you send codes and alerts around the clock, tell us your hours and volumes before you go live so the rules on your account match the traffic you actually send.

What exactly do you store of the message itself?

The final content as the recipient received it, with the merge values already filled in, plus the recipient, the sender, the time, the links it contained and the outcome of the content check. Recipient, subject and body are encrypted where they are stored. It is kept for disputes and abuse investigations rather than for day-to-day browsing, it is never visible to another business on the platform, and we produce a specific record when you ask for it.

Prove what you sent, not just that you sent something.

Start with a key and one test message. Bring your compliance questions to us before the commercial ones — that is the order they matter in.