Skip to main content

Growth · WhatsApp follow-up

WorkflowD2C growth

Following up abandoned checkouts and new leads on WhatsApp

Most abandoned checkouts and form leads get one email that nobody opens. Here is how a D2C team can follow up on WhatsApp instead, with opt-in, approved templates and a clean way to stop.

Valnora & Elric team5 min read

For many D2C brands, the abandoned checkout email is a ritual more than a channel. It goes out, it sits unread, and the shopper who left a ₹1,800 order at the payment step never hears from the brand again. In markets where shoppers live on WhatsApp, a short, relevant message there reaches people in a way email often does not.

It is also easy to get wrong. Messages without consent, three reminders in a day, or a STOP that does nothing will get a number reported and a brand blocked. This piece walks through a follow-up setup in Agent Serve that is built around consent first, then recovery.

How it works

From an abandoned checkout or a new lead to one WhatsApp message

A Shopify webhook and a lead form each start a workflow that checks opt-in, waits and sends one approved WhatsApp template. Replies, including STOP, come back through the WhatsApp trigger, and every step feeds a recovery dashboard.

Workflow 1 · Abandoned checkout

  1. 01Shopify checkout webhookShopify posts checkout events to the workflow’s Webhook trigger.
  2. 02Opt-in and opt-out checkContinues only if the shopper opted in to WhatsApp and has not sent STOP.
  3. 03Wait windowA Wait block pauses the run, for example one hour.
  4. 04Order placed?Checks the orders table. If the order went through, the run ends.
  5. 05WhatsApp templateSends an approved reminder template with the cart link.

Workflow 2 · New lead

  1. 06Lead formThe form posts to a Webhook trigger with name, phone, consent and interest.
  2. 07First touchWhatsApp template if opted in, or SMS through Twilio.
  3. 08HubSpot contactCreates or updates the contact in HubSpot with the source and consent.

Workflow 3 · Replies and STOP

  1. 09WhatsApp webhookIncoming messages arrive through the WhatsApp trigger.
  2. 10Contacts tableSTOP marks the contact opted out; other replies go to a person.
  3. 11Recovery dashboardCheckouts, messages sent, replies, opt-outs and recovered orders.

How the checkout event reaches the workflow

There is no Shopify trigger in Agent Serve and no abandoned-checkout operation in the Shopify block, so the route is a webhook. In Shopify, add a webhook for checkout events and point it at the URL of a workflow’s generic Webhook trigger. Every checkout Shopify reports then starts a run with the cart, the shopper’s phone and email, and the checkout link.

Orders arrive the same way. A second webhook for new orders writes each order into an orders table in Tables. The follow-up workflow can then tell whether a checkout turned into an order, and the Shopify block can look up orders and customers when it needs more detail.

The first step in the workflow is a check, not a message. A Condition block reads the contacts table: did this shopper opt in to WhatsApp, and have they ever sent STOP? If either answer is wrong, the run ends and writes why.

WhatsApp’s business rules require opt-in before a business messages someone, and messages a business starts must use templates WhatsApp has approved. Read the WhatsApp Business Messaging Policy with whoever owns compliance. In practice that means:

  • Ask clearly. A WhatsApp tick box at checkout and on lead forms, not a line buried in the terms.
  • Store it. Keep the opt-in, its source and date on the contact row.
  • Use approved templates only. Write the reminder, submit it for approval, and use the Send Template operation of the WhatsApp block.

The wait window and one reminder

Next, a Wait block pauses the run. One hour is a common starting point. Short waits run in the workflow; for longer ones switch on Async, which pauses the run and resumes it later, for up to 30 days.

After the wait, the workflow checks the orders table. If the shopper finished the order, the run ends. If not, it sends one approved template with the shopper’s name, the product and the saved checkout link. For brands that offer cash on delivery, saying so in the reminder answers the question many shoppers had when they left.

What the solution produces

Cart reminder template (illustrative)

Message

Hi {{1}}, you left {{2}} in your cart at Saanvi Home.

Your cart is saved here: {{3}}

Cash on delivery is available on this order.

Reply STOP to stop these messages.

Utility or marketing template · approved in WhatsApp Business Manager

Row in the follow-up table (illustrative)

Record
Source
Shopify checkout webhook
Opt-in
Yes · ticked at checkout
Waited
1 hour
Order placed during wait
No
Message
Cart reminder template sent
Outcome
Order placed 3 hours after the message
Follow-up table · written by the workflow

Send one reminder per checkout. A second message is a decision for the growth lead, not a default, and should come from a different template with a reason, such as an item running low.

New leads get a first touch, and a record

Lead forms work the same way. The form posts to a Webhook trigger with the person’s name, phone, interest and consent choices. If they opted in to WhatsApp, the workflow sends an approved welcome template. If they agreed to SMS only, the Twilio block sends a text instead. Either way, the HubSpot block creates or updates the contact with the source and consent, so sales can see where the lead came from.

STOP has to work, every time

Incoming WhatsApp messages arrive through the WhatsApp webhook trigger in a third workflow. If the reply is STOP, or a close variant, the workflow marks the contact opted out in the contacts table and sends nothing else. Every other workflow checks that column first, so the opt-out holds across carts, leads and any future campaign. Other replies, such as a question about delivery, are written to the table for a person to answer.

Measuring recovery

Every run writes a row: source, opt-in result, message sent, reply, opt-out and whether an order followed. A dashboard on that table in Dashboards shows checkouts received, messages sent, replies, opt-outs and recovered orders. Put "recovered order" into a named metric so it means the same thing on every chart, for example an order from the same phone within 48 hours of a reminder.

Watch the opt-out rate as closely as the recovery rate. A rising opt-out rate means the template, timing or audience needs work. Logs show every run block by block, so when a shopper asks why they got a message, the answer is one click away.

Start with carts only, one template and a one-hour wait. Add lead follow-up once the opt-in data is clean.

Controls and governance

Run logs

Every workflow run records each block’s inputs, outputs and errors, so a reviewer can trace how a result was reached.

Deployed versions

Workflows run from a deployed version, so a change is reviewed before it reaches production runs.

PII detection

A Guardrails block detects personal data and blocks or masks it before text reaches the next step.

Roles and permission groups

Admin, write and read roles per workspace, plus permission groups that limit which models, blocks and integrations a team can use.

Audit trail

Proposals, approvals, declines and executed actions are written to the workspace audit log, which admins can export.

More on how Agent Serve handles access, data and audit on the security page.

Questions teams ask

Is there a built-in abandoned checkout trigger for Shopify?

No. Agent Serve has no Shopify trigger and no abandoned-checkout operation. Point a Shopify webhook for checkout events at a workflow’s generic Webhook trigger, and use the Shopify block to look up orders and customers.

Can we use a WhatsApp provider like Gupshup, WATI or Interakt?

There is no native integration for them. Connect them with the generic API block, with their API key stored as a workspace secret, or through Settings → Tool connections if the provider offers a tool server.

How fresh is the recovery dashboard?

The workflows write a row at every step, so panels update as rows land. It is near-real-time, not second by second.

Before you start

What you need

  • A WhatsApp Business account connected to Agent Serve, with approved message templates
  • A clear WhatsApp opt-in at checkout and on lead forms, stored with each contact
  • A Shopify webhook for checkout events pointed at the workflow’s Webhook URL
  • A contacts table with phone, opt-in, opt-out and source columns
  • A Twilio account for SMS, if you follow up leads without WhatsApp opt-in
  • A HubSpot connection for lead records
  • An agreed wait window and a rule of one reminder per checkout

Enterprise access

Put AI agents to work across your team

Agent Serve is available to teams by invitation. Tell us what you want to build and we will set up your workspace with you.