The intents
Twenty-three intents in total. The ones you’ll use most:
The intent engine works on the meaning, not the exact words. “I want to withdraw,” “send to bank,” and “transfer to Access Bank” all land on the withdraw flow.
Five languages
The engine understands intents in:- English
- Nigerian Pidgin
- Yoruba
- Igbo
- Hausa
Voice notes work too
You don’t have to type. Send a voice note. Our transcription model reads it. The transcribed text flows through the same intent engine as a typed message. This matters because many users are more comfortable speaking than typing — especially when typing in a non-English language they speak but don’t write fluently. Voice notes work for both ambient queries (“how much I get for wallet?”) and for conversational replies (“yes I want to apply” in response to a job alert).WhatsApp Flows
Some conversations have multi-step structured forms that work better as a Flow than as a back-and-forth chat. WhatsApp Flows render inside the chat as a swipe-up form with fields, dropdowns, and buttons. We use them for:- Tier 2 KYC. The 5-question conversational profile (trade, tenure, daily volume, work location, payment mix). Faster than the chat back-and-forth.
- Tier 3 KYC. BVN entry, OTP confirmation, address details.
- Posting a job. Title, location, dates, rate, language preference. Submit triggers the post.
- Withdrawal. Amount, destination bank, confirmation.
- Linking a card. Amount, card details (handled by OPay’s hosted checkout via a Flow).
- Direct-debit authorisation. Account number, name confirmation, the ₦50 confirmation guidance.
How a typical session feels
You open the Guild chat. You typebalance.
Guild: Your balance is ₦12,000. Last 3 transactions: — ₦12,000 added by Adekunle Ogundimu (yesterday) — ₦500 airtime to your number (Mon) — ₦4,000 from Adekunle Ogundimu (Sat) ReplyYou replywithdrawto send to your bank,scoreto check your standing, orhelpfor the menu.
withdraw. A Flow opens. You enter ₦10,000, confirm the destination, submit. Twenty seconds later, an SMS lands: “₦10,000 sent to Access Bank ••••3911.”
The whole interaction took under a minute. No dashboard, no logging in, no separate app.
Conversation state
When you’re in the middle of a multi-step interaction (e.g., halfway through a withdrawal), WhatsApp remembers where you are. If you walk away and come back ten minutes later and type something, we resume from the same state. If you type something unrelated (help), we ask if you want to discard the in-progress withdrawal.
State lives in our database, not on Meta’s side. The state persists across devices — if you switch from your phone to your laptop’s WhatsApp Web, the conversation continues.
When the chat doesn’t understand
Sometimes you type something the intent engine can’t classify. Maybe a question we don’t handle, maybe a misspelling that doesn’t match our patterns. In that case, we respond with the home menu: a short list of the most common things you can do. You can pick from the list or rephrase. We don’t dump you to a human at v1. Every common need has a path through one of the 23 intents. If you’re stuck, the home menu is the way out.What we don’t do on WhatsApp
A short list:- We don’t share your data with WhatsApp / Meta. Message contents are stored on our side (encrypted at rest); we receive them via Meta’s WhatsApp Cloud API but they live in our database, not Meta’s.
- We don’t use WhatsApp for outbound marketing. Job alerts and transactional notifications are service messages, not marketing. We respect Meta’s policies.
- We don’t accept attachments other than voice notes and document uploads (for KYC). Images, videos, contact cards, location pins — out of scope at v1.
How this works under the hood
For the curious. The architectural detail lives at whatsapp-svc. The whole flow from message to reply is typically under 800ms.Where to read more
WhatsApp Calling
The tap-to-call sibling channel.
WhatsApp in the architecture
The intent engine and Flows in technical depth.