Working with an AI agent? Download the full documentation as a Markdown file to use as context.
Download full .mdFiwano is a verified n8n community node — listed on n8n.io/integrations/fiwano/. Use it to build WhatsApp, Instagram and Facebook Messenger automations, AI agent workflows, and chatbots.
On n8n Cloud, installation may need to be enabled by the instance owner in the Cloud Admin Panel first.
Use only when in-app installation is unavailable in your environment (e.g. restricted self-hosted setup).
mkdir -p ~/.n8n/nodes && cd ~/.n8n/nodes
npm install n8n-nodes-fiwano
# Restart n8n
For self-hosted Docker: build this package into a custom n8n image — see the GitHub repository for details.
| Node | Type | Description |
|---|---|---|
| Fiwano | Action | Send messages, manage channels, WhatsApp templates, contact profile enrichment, redirect URIs |
| Fiwano Trigger | Webhook Trigger | Receive incoming messages and delivery status webhooks with optional HMAC signature verification |
| Resource | Operations |
|---|---|
| Message | Send Text, Send Template (WhatsApp), Send Media (image/audio/video/document) |
| Media | Download (fetch a received media file; expires 60 min after the webhook) |
| Channel | Get Many, Get, Generate OAuth URL, Exchange OAuth Code, Update Webhook, Delete |
| Contact | Get Profile (Instagram & Facebook — returns name/username and profile picture; Instagram also follower count) |
| Template | Get Many, Get, Create, Update, Delete (WhatsApp only) |
| Redirect URI | Get Many, Add, Delete |
Starts your workflow for any of these events (filter by event type in node settings):
| Event | Channels |
|---|---|
message.received |
WhatsApp, Instagram, Facebook |
message.delivered |
WhatsApp, Instagram, Facebook |
message.read |
WhatsApp, Instagram, Facebook |
message.sent |
|
message.failed |
The Fiwano node is intentionally small: it gives n8n a reliable transport layer for WhatsApp, Instagram DM and Facebook Messenger, then leaves the workflow logic to n8n and the tools you connect around it.
| Pattern | How to build it |
|---|---|
| WhatsApp AI agent or chatbot | Fiwano Trigger receives message.received → your AI/model/tool nodes decide the answer → Fiwano sends the reply. Use WhatsApp templates only when you need to start or reopen a conversation outside the 24-hour window. |
| n8n WhatsApp trigger | Use Fiwano Trigger with Specific Channel for one WhatsApp number, or All Active Channels when one workflow should handle every connected channel. |
| Instagram DM automation | Use the same trigger/action pair on an Instagram channel. Keep the workflow focused on inbound support, opt-in lead qualification and customer replies; do not build cold-DM scraping or spam automation. |
| Facebook Messenger workflow | Use channel_type: "facebook" branches when a Messenger Page needs different copy or routing. It is lower-volume than WhatsApp, but useful when customers already start on Messenger. |
| One workflow for all Meta channels | Use All Active Channels, then branch on channel_type (whatsapp, instagram, facebook) only where the channel rules differ. |
Use it when you want n8n to own the automation — AI logic, routing, CRM updates, memory, approvals, escalation — and you only need a clean way to receive and send messages on Meta's official channels.
Do not use it as a bulk cold-outreach engine. WhatsApp, Instagram and Messenger all have messaging-window and opt-in rules; Fiwano follows the official APIs and does not bypass Meta policy.
The trigger can wire its own webhook onto your channels, so you don't have to call Update Webhook by hand. Pick a Webhook Auto-Setup mode and attach a Fiwano API credential. The auto modes (All Active Channels / Specific Channel) need it to call the API — if it's missing, activation fails with a clear error. In Manual the credential is optional, used only to read a default webhook secret:
| Mode | What happens on activation | On deactivation |
|---|---|---|
| All Active Channels | Points every active channel that isn't already wired elsewhere (WhatsApp + Instagram + Facebook) at this trigger — one workflow handles all three. Channels already pointing at another URL are left untouched. | Clears the webhook on the channels that still point at this trigger. |
| Specific Channel | Points one Channel ID at this trigger — takes it over even if it already has a webhook. | Clears that channel's webhook (only if it still points here). |
| Manual (default) | Nothing — you set webhook_url yourself via Exchange OAuth Code / Update Webhook. No credential needed. |
Nothing. |
The trigger's selected Event Types are registered as the channel's webhook_events (events that don't apply to a channel type are ignored — e.g. message.sent/message.failed on Instagram). Channels start with no events enabled, so auto-setup turns them on for you.
Webhook secret. Set a Webhook Secret to verify incoming signatures (HMAC-SHA256; mismatches are rejected with HTTP 401) and, in auto-setup, to register on your channels. You can set it in two places: the trigger's own Webhook Secret field, or — to reuse one secret everywhere — the Webhook Secret field on the Fiwano API credential. The trigger's field wins; if it's empty, the credential's secret is used. That same credential secret also backs the Exchange OAuth Code and Update Webhook operations when you leave their secret empty. Leave both empty to skip verification (not recommended in production).
When it runs: only on workflow activation / deactivation (and when n8n restarts active workflows) — never per message, so it adds no overhead to message handling. A few points to keep in mind:
Two ready-to-import workflows are in the GitHub repository. Use them in order:
channel_id automatically via a webhook callback. (You can also connect channels in the Fiwano portal.)Import them from the editor (Workflows → Import from File…) or the CLI.
Yes. Install the verified Fiwano community node, connect a WhatsApp channel and use Fiwano Trigger for inbound messages or the Fiwano action node to send text, media and WhatsApp templates.
Yes. The same trigger and action nodes work with Instagram DM channels. Use them for inbound support, opt-in lead qualification and customer replies — not cold-DM scraping or spam automation.
Yes. A common pattern is Fiwano Trigger -> AI/model node -> Fiwano Send. Fiwano is the messaging transport; your workflow decides the AI logic, memory, tools and escalation.
Yes. Use the trigger's All Active Channels auto-setup mode and branch on channel_type inside the workflow when you need channel-specific behavior.
Fiwano API Documentation