Upinion · Pilot — Channel → wa.me → Flow · End-to-end test
Test the architecture on 10 real users, before we point it at Algeria.
We validated the wa.me Channel pattern with Gerben's own phone (Day 2 Istanbul). Now we validate it with real, non-technical members of an existing Upinion community — to find the rough edges before we expose the pattern to a vulnerable population where breakage costs trust.
1Why now — what this test answers
- We validated wa.me works in a Channel of 6 followers (Gerben, 27 May). We have NOT validated that real, non-technical users follow through the full flow without coaching.
- Find the rough edges (notification settings · Android vs iOS · the silent failures) on people we can DM directly for feedback — before we expose the pattern to a vulnerable population in Algeria where breakage = trust damage.
- Generate the first concrete completion-rate + drop-off-point numbers to put in the NL Embassy proposal.
2Prerequisites — what must be true before Day 1
| What | Owner | Status | Notes |
|---|---|---|---|
| WhatsApp Business account (test number) | Rik / Julian | todo | Cloud API tier. Either via Turn.io trial (recommended — Flows ready) or direct Meta sandbox. |
| Flow JSON deployed to Meta Flow Builder | Rik / Julian | ready | Use upinion-demos/whatsapp/flow-specs/anwar-safety-survey-3q.json. Adapt question copy if needed for this audience. |
| Bot listener: keyword → Flow trigger | Rik / Julian | todo | When user sends `START_SURVEY` in chat, server responds with an interactive Flow message. ~1 hour with Turn.io. |
| WhatsApp Channel created | Noor (community manager) | todo | Manual creation (no API). 5 min in WhatsApp Business app. Name: 'Upinion Pilot' or similar — these are existing members, no masking needed. |
| List of 10 consenting community members | Noor | todo | Pick existing engaged members from a non-Algerian community (e.g., Lebanon, Greece, Bangladesh). Mix of iOS + Android. Mix of engagement levels. |
| Topup integration — DEFERRED | — | skip | First pilot is functional only. Topup tests come after. Removes Reloadly as a blocker. |
| Pseudonym / microsite — DEFERRED | — | skip | Internal pilot with known members. Brand as 'Upinion'. Pseudonym tests come with the Algeria pilot. |
| Multi-language Flow — DEFERRED | — | skip | English only for this test. Multi-lang variants once the base loop is proven. |
3The flow — step by step (what each user does, what we measure)
| # | Who | What happens | What we measure |
|---|---|---|---|
| 1 | User | Follows the Upinion Pilot Channel (Noor sends them the join-link via existing DM) | Joined ✓ / not joined |
| 2 | Upinion | Posts a single Channel message: "Hi — quick 3Q survey to test our new flow. Tap below 👉 https://wa.me/<bot>?text=START_SURVEY" | Sent ✓ |
| 3 | User | Sees the channel post (push notification + Updates tab) | Notification received ✓ / opened the post |
| 4 | User | Taps the wa.me link | Tap registered (server log) |
| 5 | Opens the bot chat with `START_SURVEY` pre-typed in the input | Chat opened ✓ (server sees no message yet) | |
| 6 | User | Taps send | Inbound message received by bot ✓ |
| 7 | Bot | Replies with an interactive Flow trigger message | Flow trigger sent ✓ (Meta API ack) |
| 8 | User | Taps the Flow CTA → Flow opens with Q1 | Flow opened ✓ (Flow API webhook) |
| 9 | User | Completes Q1 → Q2 → Q3, submits | Each question answered (granular) |
| 10 | Bot | Receives completion payload, sends thank-you message | Completion recorded ✓ |
4Reach-out script (community manager — drop in your DMs)
Hi [name] — we're testing a new way to send surveys, and we'd love your help.
It takes 2 minutes:
1. Tap to follow our pilot Channel: [link]
2. When our message arrives, tap the link inside it
3. Tap "send" when WhatsApp opens
4. Fill in the 3 questions, hit submit
That's it. If anything breaks or is confusing, just reply here — that's the whole point of the test.
Thanks for being on our test team. — Noor
5What success looks like — the metrics that matter
| Metric | Target | What it tells us if missed |
|---|---|---|
| Channel follow rate | ≥ 8 / 10 | If <8, the join flow is the blocker. |
| wa.me link tap rate (of followers) | ≥ 7 / 10 | If <7, the CTA copy isn't compelling enough. |
| Keyword send rate (of tappers) | ≥ 6 / 10 | Two-tap UX. If users don't send, the pre-typed keyword is confusing. |
| Flow open rate (of keyword senders) | ≥ 6 / 10 | If <6, Flow trigger render is broken on some devices. |
| Flow completion rate (of openers) | ≥ 5 / 10 | If <5, the Flow itself has friction (question count, copy, UX). |
| End-to-end completion (channel → submit) | ≥ 5 / 10 | Hard floor for going to Algeria pilot. Below this, fix before scaling. |
| Median time-to-complete | < 3 min | If much longer, the Flow is too heavy. |
6Known unknowns — watch for these
- Does the wa.me link behave the same on Android vs iOS? Can confirm only by testing both.
- Notification settings — some users mute Channels by default. Do they get notified at all? Need to check.
- If a user accidentally edits the pre-typed keyword before sending, the bot won't match. How often does this happen?
- Does the Flow render correctly on older Android (WhatsApp version <2.24)? Pilot will catch this.
- Does the bot's Flow trigger arrive within seconds, or does it lag (template approval delays)?
- If a user goes silent after Q1, can we recover? (Yes — but only with a re-engagement template after the 24h window.)
7Timeline
| When | Owner | Deliverable |
|---|---|---|
| This week (now-Fri) | Rik / Julian | Bot listener + Flow JSON live on a test number. Internal end-to-end test passes. |
| Next week (Mon-Wed) | Noor | Channel created. 10 members invited via DM. Reach-out script sent. |
| Next week (Thu-Fri) | Pilot users | Run the flow. Server logs every step. Noor follows up with each user. |
| Following Monday | Whole team | Review metrics, qualitative feedback, decide: go/no-go on Algeria pilot scope. |
8Quick links — what you need to start
📋 Flow JSON ready to deploy
Drop into Meta Flow Builder, adapt question copy if needed.
▶ Interactive WhatsApp prototype
8 flows demonstrating the architecture. Reference for what the user experiences.
📊 Engagement Monitor (backend)
Where pilot metrics will appear once instrumented. Today, mock data — but the shape is the spec.
🧭 Hub
Full project context.