Scene 1 · Architecture C · Two-number setup

Two contact cards — info channel vs. survey channel

WhatsApp has no persistent scroll-feed. The solution: two numbers. Anwar News pushes verified info (broadcast-only). Anwar Survey & Help receives reports, runs surveys, and issues topups (fully interactive). Keeping them separate prevents the survey replies from burying broadcast news in a single thread.

Contact 1 — Anwar News

  • Push-only broadcast number
  • Verified info cards, route updates
  • Quick-reply buttons for saving or subscribing to alerts
  • No replies processed — keeps thread clean

Contact 2 — Anwar Survey & Help

  • Fully interactive: surveys, reports, OTP, topup
  • Opens WhatsApp Flows (form screens)
  • All replies processed by bot
  • Reply STOP anytime to opt out

Why two numbers?

WhatsApp has no persistent scroll-feed and no archive tabs. One number would mix broadcast news with user replies, making content unfindable. Two numbers simulate a hub (read-only) + inbox (interactive) pattern.


Scene 2 · Click-to-WhatsApp ad entry

Language picker — interactive list message

User taps a Facebook ad → click-to-WhatsApp deeplink opens this chat. The bot sends a welcome message and an interactive list message — a native WhatsApp primitive that renders a scrollable option sheet. Six language choices. The selected language persists for all subsequent messages and Flow screens.

WhatsApp primitive used

Interactive list message — a native WhatsApp Business API type. Renders a bottom-sheet picker. Up to 10 rows per section, up to 3 sections. Works without Flows — no 24-hour session window required.

Multi-language routing

Language code stored on the contact record. Every subsequent template and Flow screen is sent in the chosen locale. Supported: Arabic (RTL), French, English, Tamashek, Hausa, Bambara.


Scene 3 · Identity verification

OTP via WhatsApp — anti-abuse gate before topup

Before a topup is issued, the bot verifies the user is a real person on this number. A 6-digit code is sent in a template message. The user enters it into a Flow screen. This blocks bot farming and duplicate claims. One verification per device.

How OTP works here

WhatsApp Business API supports sending template messages with a one-time passcode. The user receives the code in chat (above), then enters it into a Flow screen. The Flow submits the code back to the server via the encrypted Flows endpoint.

Why OTP in WhatsApp (not SMS)?

Target users often have unreliable SMS delivery. WhatsApp has higher delivery rates in Algeria, Niger, and Mali. The bot is already open — no app switch needed.


Scene 4 · Anwar News contact · Broadcast channel

Verified-info broadcast with quick-reply actions

This is the Anwar News number — push-only. No surveys here. A verified info card arrives as an image attachment with caption and quick-reply buttons. Users can read the full article (microsite link), save locally, or subscribe to topic alerts. Replies to this number are not processed (one-way broadcast).
Anwar News is a broadcast channel. You cannot send messages here.

Template types used

  • Image header + text body template
  • Quick-reply buttons (up to 3)
  • Utility category (free within service window)
  • Marketing category for re-engagement pings

Architecture gap flagged

WhatsApp has no persistent scroll-feed or archive. Old broadcasts disappear into the chat history. The microsite link (anwar.info) acts as the permanent record. ✗ No scroll-feed inside WA — microsite is the archive


Scene 5 · WhatsApp Flows · THE key feature

Survey Flow — star rating, radio, text, photo picker, branching

THIS is the differentiator vs. chat-only architecture (demo-3). A Flow takes over the bottom half of the screen and renders native form components: star ratings, radio lists, multi-line text, photo picker. Two screens shown — Screen 1 is the main survey, Screen 2 demonstrates branching (city field appears only when "Other" is selected).

Screen 1 of 3 — Survey

Screen 2 of 3 — Branching ("Other" selected)

Flow components shown: Star rating · Radio button group · Multi-line text field · Photo picker · Dropdown (select) · Conditional field (branch on "Other") · Back/Next navigation · Screen progress dots. All rendered natively inside WhatsApp — no browser, no external link.

Scene 6 · Topic subscription Flow

Topic notification opt-in — checkbox Flow screen

Screen 3 of the survey Flow doubles as a topic subscription form. Checkboxes let users choose which alert categories they want. The STOP instruction is shown on-screen. Selections are stored server-side and used to filter outbound template messages.

How topic routing works

  • Flow submits checkbox values to server
  • Server stores topic flags on contact record
  • Outbound templates filtered by topic tag
  • Unsubscribe via STOP keyword or another Flow

Checkbox component

Native WhatsApp Flows checkbox group — supports multi-select, per-item subtitles, and required-field validation. No equivalent in chat-only (demo-3) architecture.


Scene 7 · Bi-directional reporting

"Send a report" — persistent CTA opens a report Flow

Every welcome message on Anwar Survey & Help ends with a persistent "Send a report" button. Tapping it opens a compact Flow: category, free text, optional photo, optional voice note (voice note is a chat-layer workaround — see Scene 8). This is the bi-directional signal collection channel.

Persistent report button in welcome message

Report Flow (opens on tap)


Scene 8 · Voice gap — honest limitation

Voice note workaround — chat layer mic after Flow closes

WhatsApp Flows do NOT support voice input. This is a hard architectural gap. The workaround: after a Flow closes, the bot sends a prompt inviting the user to record a voice note directly in chat. The mic button in the standard input bar is highlighted. Voice notes sent this way are received as standard audio files by the platform.

Gap: voice inside Flows

WhatsApp Flows have no voice-recording component. This is a hard platform limitation — no workaround exists inside the Flow screen itself.

✗ Voice inside Flow — platform does not support it

Workaround: chat-layer voice

After a Flow closes, the bot prompts the user to record directly in chat. Voice notes received this way are standard audio files — processable by the platform. Not as seamless as in-Flow, but functional.

Other Flow gaps

  • ✗ No delete/edit answer in a submitted Flow
  • ✗ Flow rendering on WhatsApp Desktop is limited
  • ✗ No scroll-feed or persistent archive

Scene 9 · Topup delivery · Utility template

100 DA topup confirmation — utility template message

After survey completion and verification, the topup is credited and a confirmation message arrives. This is a utility template — sent outside the 24-hour service window, charged at the lower utility rate. Within 24 hours of user interaction it is free (service window). The phone number is partially masked for privacy.

Template categories & cost

  • Utility — topup confirm, OTP. Cheapest paid tier.
  • Service (free) — any reply within 24 h of user message.
  • Marketing — re-engagement pings. Most expensive.

Privacy: masked number

Last 3 digits displayed, rest masked. Server never sends full number in message body. GDPR / PDPA aligned.


Architecture summary & capability matrix

A Flows-heavy (this page)

Native form components inside WhatsApp. Best UX for surveys and structured reports. Requires WhatsApp Business API + Flows approval. Shown in scenes 5, 6, 7.

B Chat-only

Pure message exchange — quick replies and list messages only. No form rendering. Lower barrier, works with any BSP. Shown in demo-3 (Amawal).

C Two-number

Info channel (Anwar News, broadcast) + survey channel (Anwar Survey & Help, interactive). Solves the archive-less environment problem. Shown in scene 1.

✓ Capabilities confirmed

  • Native form UI (radio, checkbox, star, text, dropdown)
  • Survey branching — conditional fields in Flows
  • OTP verification via WhatsApp template + Flow
  • Mobile topup confirmation (utility template)
  • Topic-based notification subscriptions
  • Multi-language support (6 locales, RTL Arabic)
  • Pseudonym / brand separation (Anwar + microsite)
  • Photo upload in Flow and in chat
  • Bi-directional report submission
  • Two-number architecture (broadcast + interactive)
  • Click-to-WhatsApp ad entry
  • STOP opt-out mechanism

✗ Gaps & workarounds

  • Voice inside Flow Workaround: prompt user to record in chat after Flow closes
  • Delete/edit answer after Flow submitted No workaround — by design in WA Flows
  • Persistent scroll-feed / archive Workaround: microsite (anwar.info) is the permanent record
  • Flow rendering on WhatsApp Desktop Flows render on mobile only — desktop shows fallback link
  • Scroll-feed / content discovery pattern Not a WhatsApp use case — requires a web channel

Cost estimate — 10,000 users / month

  • 💬Service-window messages (within 24 h): free
  • 🔔Utility templates (topup, OTP): ~$0.005–0.008 / msg · ~$50–80/mo
  • 📣Marketing templates (re-engagement): ~$0.02–0.04 / msg · ~$100–300/mo
  • 🌐BSP / API fees: ~$50–100/mo depending on provider
  • 📱Flows API: currently free (Meta pricing may change)
  • Total estimate: $200–500 / month at 10k users

Risks & vendor exposure

  • Meta policy exposure — survey use allowed but enforcement is automated. Small accounts may be flagged without recourse.
  • Jan 2026 bot ban risk — WhatsApp has stated enforcement of survey restrictions in some markets. Position as "community feedback tool", not "bot".
  • Display name revocation — if microsite (anwar.info) goes down, WhatsApp may revoke the verified business name.
  • Flows approval latency — each Flow screen requires Meta review. Plan 1–2 week approval cycles.
  • Single-vendor dependency — all data, delivery, and UX through Meta infrastructure.