Working with an AI agent? Download the full documentation as a Markdown file to use as context.
Download full .mdYou are building an app in Lovable, Bolt, Replit, Base44, v0, Emergent, Rocket or Hercules, and it needs to talk to people where they already are: WhatsApp, Instagram DMs and Facebook Messenger. This guide shows how to add all three with Fiwano, what to tell your builder, and the few platform details that decide whether webhooks arrive.
Some builders already ship a messaging option. Check it first — if it covers your case, you don't need anything else. As of October 2026:
channel_id for
it. See Channels.Every builder produces the same four pieces. The step-by-step version with payloads is the Quickstart.
VITE_… or NEXT_PUBLIC_…). Send it as the X-API-Key header, or as
Authorization: Bearer if a tool only supports bearer tokens.webhook_url and enable message.received in webhook_events
— delivery is opt-in. Verify X-Webhook-Signature, answer 200 right away and
process afterwards; see Retry policy.POST /api/v1/messages/send with the webhook's
channel_id and data.from as recipient.Fiwano does not keep message history. If your app shows conversations, store incoming and outgoing messages in your own database.
One sentence is enough — the full API and webhook contract is in
llms-full.txt, written for AI agents:
Add WhatsApp, Instagram and Messenger messaging to this app with Fiwano, following https://fiwano.com/llms-full.txt.
When the builder asks for the API key, enter it as a secret. Then set the URL of the webhook endpoint it created as the channel's webhook URL in the Fiwano portal and send a test message from your phone.
| Builder | Backend code runs in | Webhook URL | Watch out for |
|---|---|---|---|
| Lovable | Edge functions (Lovable Cloud) | The function's URL (Cloud → Edge functions → Copy URL) | Edge functions require a JWT by default and reject webhooks with 401 before your code runs. Ask Lovable to turn off JWT verification for the webhook function — the signature check is its authentication |
| Bolt | Server functions (Bolt Cloud) or Supabase Edge Functions | The function's URL | On Supabase, the same JWT setting as Lovable |
| Replit | Your app's server | The deployment URL (*.replit.app) |
Point the webhook at the deployment, not the workspace preview |
| Base44 | Backend functions (Deno) | https://<your-app-domain>/functions/<name> |
Webhook calls carry no user session — the function reads and writes data as the service role |
| v0 / Vercel | Next.js route handlers | Your production domain | Preview deployments sit behind Vercel's deployment protection and answer webhooks with 401 |
| Hercules | Convex backend | A public API route | Run slow work through a scheduled function, not inside the request |
| Emergent, Rocket | The app's backend or Supabase Edge Functions | The endpoint's URL | Keep the API key in the platform's secrets |
On serverless platforms, "process in the background" means the platform's own
mechanism — for example EdgeRuntime.waitUntil() on Supabase Edge Functions or
waitUntil() on Vercel. Work started without it can stop when the response is
sent.
Several builders can register an external REST API once and reuse it across projects. This makes calling Fiwano easier; receiving messages still needs the webhook endpoint above.
https://fiwano.com, API key in a custom header X-API-Key, test request
GET /api/v1/channels. Add the Quickstart as a knowledge file.https://fiwano.com/api/v1/openapi.json and set the X-API-Key header.message.received is enabled on the
channel, and that the endpoint answers 2xx (a platform 401 from JWT or
preview protection looks like silence from your side). Fiwano emails you after
repeated failed deliveries.message_id.Building with n8n instead? See n8n Integration. Comparing approaches in general? See Ways to Connect.
Yes. Store your Fiwano API key as a backend secret, call the API from a backend function, and receive messages on a public webhook endpoint. The guide includes a prompt you can paste into your builder.
Yes. Your backend requests a setup link, your customer connects their own WhatsApp number, Instagram account or Facebook Page in a hosted flow, and your app receives a channel_id for it.
No. Fiwano is a verified Meta Tech Provider, so you connect channels without creating or reviewing your own Meta app.
Supabase Edge Functions, which Lovable Cloud uses, require a JWT by default and answer webhooks with 401. Turn off JWT verification for the webhook function; the X-Webhook-Signature check authenticates the request.