Channels
2 min read

Connect WhatsApp

Take your bot to WhatsApp Business with the official Meta or Twilio API.

Your bot can serve customers on WhatsApp Business using the official API (Meta Cloud API or Twilio), in compliance with Meta's policies.

Step 1 — Open Integrations

In the dashboard, go to Integrations → WhatsApp. There, choose your provider:

  • Meta Cloud API (recommended): connect your WhatsApp Business account directly.
  • Twilio: if you already use Twilio for messaging.

Step 2 — Fill in the provider details

Follow the form with your provider's credentials (phone number, tokens). The step-by-step guide is on the same screen.

Step 3 — Verify the connection

On save, UseFlowy verifies the connection and the status switches to Connected. From that moment, incoming messages on your number are handled by the bot.

About the 24-hour window

WhatsApp only allows free-form replies within 24 hours of the customer's last message. Outside that window, UseFlowy automatically enforces compliance policies:

  • Proactive campaigns are only sent within the window or through approved templates.
  • Your number is never put at risk: when in doubt, the message is blocked and logged.

Voice notes: your bot understands them

When a customer sends a voice note on WhatsApp (or uses the microphone in the chat on your website), your bot automatically transcribes it and replies to the audio's content, just like text:

  • Transcription runs on AI (engine depends on your plan: Whisper on Groq or on OpenAI).
  • The understood text appears next to the audio in the inbox, so your team doesn't need to play every note.
  • If a note can't be transcribed (unreadable audio or monthly limit reached), the bot honestly says so and asks for the message as text.
  • Every plan includes a monthly limit of transcribed voice notes (see your plan or request an increase).

Multiple numbers

If your plan allows it, you can connect several WhatsApp numbers and assign different bots to each one from the same integrations screen.

Found an issue? Let us know — this doc lives in our repo.
Was this helpful?