Skip to main content
This workflow asks happy customers to refer a friend and gives each one a WhatsApp link to share. The friend taps the link and sends the first message themselves, so they get their own HubSpot contact and you are replying to a chat they started. When the friend orders, your shop records the referral and both sides are rewarded.

At a glance

How it works

The recipe uses three short workflows: invite, welcome and reward. This diagram shows how they connect.

Before you start

  • Connect Flowella to HubSpot, use contact-based workflows, and store WhatsApp numbers in international format. See Phone number format.
  • Only invite customers who agreed to receive WhatsApp messages from you. Meta requires opt-in before you message anyone.
  • Create a referral code for each customer in your shop or referral tool, which also checks the code at checkout and applies the rewards. Flowella doesn’t create codes or issue rewards.
  • Build each customer’s share link: a wa.me link to your WhatsApp number with a prefilled message that contains their code. See Click-to-chat for the format.
This opens a chat with your number, ready to send Hi, a friend sent me [REF-JANE42].
Don’t collect a friend’s number in a form and message it from the referrer’s record. The friend hasn’t agreed to hear from you, and Meta requires each person’s own opt-in before you message them. The conversation would also sit on the referrer’s contact. With a share link, the friend starts the chat, and Flowella finds or creates their own HubSpot contact from their WhatsApp number.
Create these contact properties:

Create the templates

Both templates are Marketing. Asking for referrals and rewarding them promotes your business, so it can’t be Utility under Meta’s template categorisation guidelines. In the invite, {{2}} is Referral share link and {{3}} is Referral code. In the reward, {{2}} is Referral reward. Keep the link and code in the body: HubSpot sends can’t give a URL or copy-code button a different value for each contact.

Build the workflows

1

Invite customers at a happy moment

Create a workflow that enrols contacts when NPS segment is Promoter, or at a milestone such as a renewal, and Referral share link is known. Add Send WhatsApp Template with the invite. Map Template Variable 1 to first name, 2 to Referral share link and 3 to Referral code.
2

Catch the friend's first message

Create a second workflow that enrols on Text Reply, only for contacts whose Referral status is unknown, with re-enrolment on. Don’t filter on the event’s message: HubSpot checks that against every past reply.
3

Check for a referral code

Add a Branch on Last WhatsApp reply message (flowella_last_reply_message) containing [REF-. Contacts without a code finish here.
4

Welcome the friend

On the code path, add Edit record to set Referral status to Friend started chat and copy Last WhatsApp reply message into Referral message. Then add Send WhatsApp Message with a welcome, such as Welcome. Use your friend's code at checkout for £10 off your first order. and a link to your shop. The friend’s message opens the 24-hour window, so plain text works. Starting a chat isn’t consent to marketing, so get the friend’s opt-in, for example at checkout, before you send them templates later.
5

Reward both sides

When the friend orders with the code, your shop applies both rewards and sets Referral reward on the referrer. Create a third workflow that enrols when Referral reward is known, and add Send WhatsApp Template with the reward message.

Test the workflow

Send the invite to your own number. From a second phone that isn’t a HubSpot contact yet, open the share link and send the message. Check that a new contact appears with Referral status set and that the welcome arrives. Then set Referral reward on your test contact and check the reward message.

Troubleshooting

Last modified on October 24, 2026