The short answer
Cost is not what stops us. Fifty marketing templates cost about R32 in Meta fees. Three other things do, and a fourth sets the price.
The first message
Written the way David Ogilvy wrote: a headline that promises a benefit, specific facts instead of adjectives, one reader, one action. Blu speaks as RealtyPA, on the RealtyPA line. Lumanaire is never mentioned.
What Meta allows in a template
| Part | Limit | How we use it |
|---|---|---|
| Header (text) | 60 characters, 1 variable | The promise in one line. This is what shows in the notification. |
| Body | 1,024 characters | Stay under about 450. Short blocks, one idea each. |
| Footer | 60 characters | Who we are and how to stop. |
| Buttons | 25 characters each. Up to 10 in total: 2 website links, 1 phone number, 10 quick replies | Two quick replies. A reply opens the free 24 hour chat window. |
| Template name | 512 characters, lower case, numbers and underscores | blu_intro_v1, blu_permission_v1, blu_welcome_v1 |
Limits read from Meta's template components page on 8 October 2026. Meta reviews every template and sets the category (marketing, utility or authentication) itself. All three below would be marketing.
Template A: "Finally" (your idea, for agents who have opted in)
Send me any address in South Africa and I'll tell you who owns it, when they bought and what they paid.
Send me a voice note after a viewing and I'll log the feedback and book the next one in your diary.
Nothing to install. I work right here in WhatsApp.
Your first 30 days and 5 property reports are free. No card needed.
Why it reads this way
- "Finally" makes it an arrival, as you said: something they have been waiting for, instead of a stranger selling.
- Facts, not claims. Owner, purchase date, price paid, 30 days, 5 reports. An agent can picture each one.
- A reply, not a link. "Show me a property" starts a conversation. Blu proves itself before anyone is asked to sign in.
- "Not for me" is a button. An easy no is better than a block. Blocks are what hurt the number's quality rating.
This message promises owner lookups and voice notes in WhatsApp. Both are still to build, so it cannot go out before they work.
Template B: the permission message (for agents who have not opted in)
I help agents look up any property, its owner and its last sale price, and keep their diary, right here in WhatsApp.
May I send you a short note on how it works? I will only ask this once.
POPIA lets us approach a person once to ask for consent. This message does only that: it says who we are, what we do, and asks. No offer, no link. "Yes" is recorded as consent and Template C follows. "No thanks", STOP or silence means we never message that number again.
It satisfies the POPIA once-only approach. It does not satisfy Meta's opt-in rule on its own, which is why the safer first step is to let agents message us first. See the rules section.
Template C: after a yes
Try me now: send any street address and I'll come back with the owner, the purchase date and the price paid.
When you're ready, your own RealtyPA takes about 3 minutes to set up and your Property24 listings come across with you.
Once the agent has replied, the 24 hour window is open and Blu can answer in free text without a template. This one is kept as a template for agents who say yes a day later.
What converts on WhatsApp
- Expected beats clever. Meta limits how many marketing templates a person receives based on how they engage, and rates each number on blocks and reports. A message the agent agreed to gets delivered and read. One they did not ask for gets blocked.
- The first line does the work. The notification shows the header and the start of the body. Name and promise go there.
- One action. A quick reply asks less than a link and opens the free chat window.
- Personal and specific. First name, their area, their own listings once we know them.
- Send in working hours, Tuesday to Thursday mornings, and never twice.
These are our recommendations from Meta's published rules and from running the RealtyPA support line. We have no conversion figures of our own yet. The first 50 give us the first real numbers.
The journey: first WhatsApp to first sign-in
Steps 4 to 8 use the wording that is in the RealtyPA app today (production code, read 8 October 2026). Steps 1 to 3 and 9 are proposed. The names, addresses and figures in the screens are invented examples.
1The message lands

To build Template approved by Meta, sent from the RealtyPA number through WATI.
2She taps "Show me a property"
Owner: A. Example
Bought: March 2019
Paid: R4,250,000
That was 1 of your 5 free reports. Want me to save it to your properties?
To build Her reply opens the 24 hour window. Blu answers in free text and proves itself in under a minute.
3A voice note, the way agents work
To keep your diary I need to set up your RealtyPA. It takes about 3 minutes.
To build The moment Blu needs somewhere to keep her work is the natural moment to ask her to sign in.
4Sign in with her WhatsApp number
RealtyPASign in
Let's start with your WhatsApp number.
By continuing, you agree to our Terms of Use, Terms of Service, and Privacy Policy.
Exists No password. The link from Blu can carry her number so this step is one tap.
5The code arrives in the same chat
RealtyPALook out for an OTP...
We've sent you a WhatsApp with a one-time-pin.
Exists The code comes from the same RealtyPA number she has just been chatting to, so it feels like one conversation.
6Her Property24 listings come with her
RealtyPAWe found your profile
Here's what we know about you from Property24.
Exists She pastes her Property24 profile link, confirms the listings are hers, and the import runs in the background. A WhatsApp tells her when it is done.
7Just me, or my agency
RealtyPAHow will you use RealtyPA?
This decides how your account is billed and what we set up for you.
Exists An individual is set up at once. An agency is handed to our team, who migrate the listings and invite the agents.
8The trial is already on
RealtyPAYour free trial is active
Everything is switched on for you. No card needed.
Exists 30 days and 5 property reports, whichever runs out first. Nothing to decide and no card.
9What she sees first
RealtyPAMorning, Thandi
Your 15 listings are in. Here is where to start.
To build Proposed. Her own work is already there: what she asked Blu on WhatsApp, her listings, and one next step.
What RealtyPA really has today
Checked against the production code (pa-robotics, main-prod, commit e2083c19b of 8 October 2026, 11:33).
| What you described | In the app | On WhatsApp with Blu |
|---|---|---|
| Blu introduces itself as RealtyPA's assistant | Exists Blu in the app, 18 tools | Partly Blu replies on the RealtyPA line, but to one number only (yours), text only, no tools, short answers |
| Look up any property: owner, purchase date, price | Exists Property Reports, metered per plan. Blu can pull a deed for a property the agent already tracks, after a confirm | To build |
| Create mandates | Exists Mandate screens and mandate documents | To build Blu has no mandate tool in either place yet |
| Diary: book a viewing | Exists Blu creates appointments after a confirm | To build |
| Notes, tasks, viewing feedback | Exists Blu creates notes and tasks | To build |
| Voice notes and photos to Blu | Not applicable | To build Anything that is not text is ignored today |
| Sign in with a WhatsApp code | Exists | Exists The code is sent from the RealtyPA number |
| Property24 import at first sign-in | Exists | Exists WhatsApp when the import is ready |
| Free trial: 30 days, 5 reports, no card | Exists | Not applicable |
| Welcome WhatsApp after first sign-in | Not applicable | Exists Template welcome2, only for accounts that are really new |
| Campaign sender | Exists Sends an approved template in batches of 1,000, super admin only | Partly Opt-outs are honoured already (next two rows). What is missing is a record of each agent's yes, and a check for that yes before a send |
| STOP that holds for good | Not applicable | Exists A STOP reply on the RealtyPA line is caught before Blu sees it, answered, and written to the agent's record. START lifts the pause, but the removed-consent mark stays, so that agent is left out of every later outreach list |
| Outreach list builder and send check | Exists A written runbook and two scripts: one exports a batch of imported agents (250 by default) and one checks delivery afterwards. The export leaves out paying customers, anyone who replied STOP, anyone already sent to, and duplicate or missing numbers. It can filter by area in the agency name, for example "city bowl", and the link's campaign tag is recorded at first sign-in | Partly Sends go out as WATI broadcasts by hand. It works on opt-out only: it does not ask for a recorded yes |
| Token meter and monthly cap per agent | Exists Both channels are metered together | Exists |
Also already there: the Property24 agent profiles imported into RealtyPA as the outreach audience. The outreach runbook's full dry run on 27 August 2026 scanned 54,209 users and found 44,391 imported, active agents. After leaving out 126 paying customers, 2,519 with no usable mobile number and 3,709 duplicate numbers, 38,037 can be sent to. That is the number that matters for outreach (source: docs/wa-outreach-runbook.md; a code comment in welcome-eligibility.ts gives 44,489 imported agents on 30 July 2026). When one of them signs in, the profile is waiting.
The build, in order
- Give WhatsApp Blu the same tools as app Blu, with the same confirm step before anything is saved or a report is spent.
- Lookups for any address, not only properties already in the agent's list, drawing on the Property Reports allowance.
- Voice notes and photos: transcribe, then treat as text.
- Unknown numbers: a guest mode for agents who have not signed in, limited to the 5 trial reports, then the sign-in link.
- Consent record: who said yes, when and to which wording, and an export that sends only to a recorded yes. The STOP side is already built and holds across every campaign.
- Widen the gate from one number to signed-in agents, then to opted-in agents.
What agents want on first sign-in
A first read for us to brainstorm on. It draws on George's first day, the support line, and how the onboarding already works.
Their own stock, already there
The Property24 import is the strongest thing we have. An empty CRM asks for work. A CRM with their 15 listings in it has already done some.
One win in the first minute
A property report on a house they are chasing right now. That is the moment "who owns it and what did they pay" becomes real.
The thread carried over
Whatever they asked Blu on WhatsApp is in the app when they arrive. Same Blu, same memory, both places.
Nothing to learn
George's day was voice notes, photos and one-line texts. The promise is that they keep working that way and the CRM fills itself.
One clear next step
"3 listings have no mandate on file" is better than a tour. One job, one tap, done.
No surprises about money
The trial screen already says it plainly: 30 days, 5 reports, no card. Keep that, and show the price before the trial ends.
Price and burn rate
You thought the number should sit a little above R299 and R499. The figures agree, for agents who use Blu on WhatsApp every day.
What George actually did
Mayfair WhatsApp Build group, the whole group to date: Wednesday 7 October 23:04 to Thursday 8 October 14:13, counted from WhatsApp at 14:20 on 8 October. All of George's messages fall in one working stretch, 08:28 to 14:13.
| From George | Count | Detail |
|---|---|---|
| Text messages | 12 | 863 characters in total, about 72 each |
| Voice notes | 7 | 100 seconds in total, about 14 seconds each |
| Photos | 4 | Plus 1 album marker |
| Documents | 2 | |
| Total items | 26 | In under 6 hours |
| Replies from us | 24 | 5,964 characters, about 250 each |
Read as requests, those 26 items come to about 13 asks. About 5 were CRM work that Blu could do with tools: a diary entry, viewing feedback for the seller report, a reminder for a seller, condition notes on a unit. About 8 were studio work: On Show posts through four versions, AI furniture staging, listing videos. That split is our reading of the thread.
What one ask costs
| Kind of ask | Assumption | Cost each |
|---|---|---|
| Simple answer, no tools | About 3,000 tokens in, 300 out on Blu's model (Claude Sonnet 5) | R0.23 |
| Ask that uses tools (lookup, diary, note) | About 15,000 tokens a turn. This is the figure the production code already budgets on | R1.07 |
| Voice note | Transcription first, then as above. At about 14 seconds each the transcription is a fraction of a cent | under R0.05 |
| Blu's reply on WhatsApp | Free inside the 24 hour window, per Meta's pricing page read 8 October 2026 | R0 |
| Outreach template | Meta marketing rate for South Africa, USD 0.0379, before any WATI markup | R0.64 |
| Studio build (posts, staging, video) | Not metered today: the desk runs on Claude subscriptions. Estimated at API list prices, about 2 million tokens on Claude Opus 5.5, mostly cached | R25 to R100 |
Assumptions: R17.00 to the US dollar (the live rate was about R16.68 on 8 October 2026). Sonnet 5 at USD 3 in and USD 15 out per million tokens, the rate RealtyPA's own cost log uses. Anthropic's current table lists USD 2 and USD 10, which would make a tool ask R0.71. No prompt caching assumed, which would lower it further. The cost of each property report from our deeds supplier is not included here.
Burn per agent per month
| Agent | Asks a day | Asks a month | Blu cost, typical mix | Blu cost, every ask uses tools |
|---|---|---|---|---|
| Light | 3 | 66 | R48 | R71 |
| Typical | 8 | 176 | R129 | R188 |
| George's pace (measured items) | 26 | 572 | R420 | R613 |
22 working days. Typical mix: 6 in 10 asks use tools. Light and Typical are assumed profiles. Only George's pace is measured, and from one day.
Burn for an agency of 10
One principal at George's pace, three typical agents and six light ones: about 1,500 asks a month. Blu costs about R1,100 a month on the typical mix and R1,600 if every ask uses tools. At R499 a seat that agency pays R4,990 a month. At R749 it pays R7,490.
Proposed pricing, for your decision
Today, unchanged
Base, Pro and Enterprise keep Blu in the app with today's allowances: about 50, 100 and 200 tool asks a month. Worst case cost R54, R107 and R214.
New: Pro with Blu on WhatsApp
Everything in Pro, plus Blu on WhatsApp with 250 asks a month. Worst case Blu cost R268, typical R184. Extra asks in packs of 100 for R150.
Separate: Studio
Posts, staging, videos and anything with versions is sold as packs or a monthly retainer per agency, the way Mayfair runs now. It never draws on the agent's 250 asks.
All prices exclude VAT, like today's plans. R749 is a starting point to brainstorm from, not a decision.
POPIA and Meta: what the rules say
A plain reading, not legal advice. A POPIA attorney should read the permission message and the consent record before the first send.
POPIA section 69
- Direct marketing by electronic communication, which includes WhatsApp, needs the person's consent unless they are already a customer.
- We may approach a person who has not said no once, to ask for that consent. The Information Regulator's guidance note of December 2024 says the first message should only ask, and that consent should be recorded on Form 4 or something very close to it.
- Existing customers can be marketed our own similar products, if we got their details in a sale and they can opt out every time.
- Every message must say who it is from and give an address or number to stop it.
- Using a public business listing as the source does not remove the consent rule.
Meta's rules for WhatsApp
- A business must have opt-in before it messages a person. The opt-in must name the business and say they are agreeing to messages from it. It can be collected anywhere: a website, a form, in person.
- Marketing templates are the most restricted category. Meta caps how many each person receives, based on how they engage.
- Each number has a quality rating driven by blocks and reports. A poor rating pauses templates and can restrict the number.
- New business accounts start at 250 business-initiated conversations in 24 hours and scale to 2,000 and beyond with verification and good quality. We need to confirm RealtyPA's current tier in WATI.
- Once a person replies, a 24 hour window opens and free-text replies cost nothing.
Three routes that are clean
A. They message Blu first
An email, a LinkedIn message or a post with a "Chat to Blu on WhatsApp" link. The agent sends the first message, so the opt-in is theirs, the window is open and Blu's replies are free. Cleanest under both sets of rules.
B. The once-only permission message
Template B, sent one time. Sound under POPIA's once-only approach. Meta's opt-in rule is not met beforehand, so keep volumes small and watch the quality rating daily.
C. People who already know us
Agents who have signed in before, trial users who lapsed, and agents in customer agencies. They are already customers, so Template A can go to them with an opt-out.
The first 50 in Cape Town
How the list would be built. The list builder is already in the code (see the table above), so this is a filtered export, not new work. No list has been built and no personal data was collected for this plan.
Sources
- The Property24 agent profiles already in RealtyPA, through the existing export with an area filter. The profiles carry no suburb or city field, so the filter matches the area in the agency name ("city bowl"); live listings would be checked separately
- Agency websites: the team page, where the agent publishes a business mobile number
- Private Property agent pages
- The PPRA public register, to check each agent holds a current Fidelity Fund Certificate
- Agency Google Business profiles, for the office line
Who makes the list
- Individual agents and agencies of up to 10 people, where one person decides
- At least 5 live listings, so the Property24 import is impressive on day one
- A business mobile number the agent has published themselves
- Not a customer, not in a customer agency, not on our STOP list (the export already leaves out paying customers and anyone who replied STOP)
- Spread over suburbs: Atlantic Seaboard, City Bowl, Southern Suburbs, Northern Suburbs, Blouberg
Business contact details from public listings only. Nothing about the person beyond name, agency, area and the published number.
Rollout, and what needs your decision
- Build Blu on WhatsApp to the point where the message's promise is true: tools, any-address lookup, voice notes, guest mode.
- Test with people who already said yes: you, George and two or three friendly agents. Measure real cost per ask for two weeks.
- Submit the three templates to Meta through WATI and confirm the number's messaging tier and quality rating.
- Legal read of Template B and the consent record.
- Route A first: email the 50 with a "Chat to Blu" link. Then, for those who do not respond, Template B once.
- Watch for 7 days: delivered, read, replied, blocked, signed in, imported listings, still active on day 7. Stop if blocks pass 2 in 50.
- Then 100, then 250, each batch only if the one before stayed healthy.
Decisions for you
| Question | Our recommendation |
|---|---|
| Cold template to 50 today, or opt-in first? | Opt-in first (routes A and C), with Template B once for the rest. Not today: Blu cannot yet do what the message promises. |
| Same RealtyPA number as the sign-in codes, or a second number for outreach? | Second number for outreach, so sign-in is never at risk. The agent still meets Blu and RealtyPA either way. |
| Price for Blu on WhatsApp? | R749 per agent per month with 250 asks, studio work sold separately. |
| Does the guest mode give 5 free reports before sign-in? | Yes, but 2 before sign-in and the other 3 after, so the trial pulls them in. |
| Is the name "Blu" in the first line, or "RealtyPA"? | Both: "I'm Blu, your property assistant from RealtyPA." The business name must be there for Meta and POPIA. |
| Go ahead with the WhatsApp Blu build? | Yes. It is the product the message sells. |
Sources and as-of times
- Your voice note of 8 October 2026, 11:57, transcribed on this Mac.
- RealtyPA production code: pa-robotics, branch main-prod, commit e2083c19b (8 October 2026, 11:33). Blu's persona, tools and WhatsApp gate, plan prices and allowances, trial terms, onboarding wording, campaign sender. Outreach list builder, STOP handling and agent counts: docs/wa-outreach-runbook.md, scripts/wa-outreach-tranche.mjs, scripts/wa-outreach-verify.mjs and wati-webhook.controller.ts at the same commit.
- Mayfair WhatsApp Build group, counted from WhatsApp Web at 14:20 on 8 October 2026. 51 messages in the group in total.
- Meta, template components and limits: developers.facebook.com/docs/whatsapp/business-management-api/message-templates/components (read 8 October 2026).
- Meta, pricing on the WhatsApp Business Platform: developers.facebook.com/docs/whatsapp/pricing (read 8 October 2026). It states per-message pricing since 1 July 2025 and that non-template messages are free.
- South African rates of USD 0.0379 marketing and USD 0.0076 utility: reported by briefly.co.za and whautomate.com, not read from Meta's own rate card. The same reports say some service and utility messages are charged from 1 October 2026, which Meta's page does not show. Confirm both on the next WATI invoice.
- Meta, opt-in and per-user marketing limits: developers.facebook.com/documentation/business-messaging/whatsapp/getting-opt-in and /templates/marketing-templates/per-user-limits (read 8 October 2026).
- POPIA section 69 and the Information Regulator's guidance note on direct marketing (December 2024), as summarised by Werksmans and Cliffe Dekker Hofmeyr.
- Claude prices: Anthropic's model table as cached 25 September 2026, and the rate in RealtyPA's cost log.