flowsensy

n8n custom node for sending WhatsApp template messages

Package Information

Released: 2 mo ago
Downloads: 0 weekly / 0 monthly
Latest Version: 0.22.0

Available Nodes

Documentation generating…

Documentation

n8n-nodes-flowsensy

Flowsensy

An n8n community node package for sending WhatsApp template (HSM) messages
through the WhatsApp Cloud API,
proxied via prod-backend.flowsensy.com.

  • Flowsensy Send WhatsApp Template — an action node with one operation
    today: Send Template Message. Pick an approved template from a dropdown
    (each option previews the rendered message), fill in the template's
    variables in a friendly mapped-fields UI, and send it to a phone number.
  • WhatsApp Template API credential — stores the bearer access token and
    the WhatsApp account UID used by every request.

Build

cd n8n-nodes-flowsensy
npm install
npm run build      # compiles TypeScript to ./dist and copies icons

Install into your n8n instance

You have two options.

Option A — Install via the n8n UI (self-hosted)

  1. Publish the package to npm (npm publish) or use a local tarball.
  2. In n8n, go to Settings → Community Nodes → Install.
  3. Enter the package name n8n-nodes-flowsensy and confirm.

Community-node installs via the UI require a package that is on npm.

Option B — Local / manual install (great for testing)

Link the built package into your n8n custom folder:

# in this project
npm run build
npm link

# tell n8n where custom nodes live (default is ~/.n8n/custom)
mkdir -p ~/.n8n/custom
cd ~/.n8n/custom
npm link n8n-nodes-flowsensy

# restart n8n
n8n start

Then search for "Flowsensy Send WhatsApp Template" in the node panel,
and create a WhatsApp Template API credential (Access Token + WhatsApp
Account UID) when prompted.

Option C — Docker

Mount the built package into the container's custom folder:

docker run -it --rm \
  -p 5678:5678 \
  -v ~/.n8n:/home/node/.n8n \
  -v $(pwd):/home/node/.n8n/custom/n8n-nodes-flowsensy \
  docker.n8n.io/n8nio/n8n

How "Send Template Message" works

  1. Templates dropdown — populated at runtime from
    GET /api/whatsapp/templates/list/{whatsapp_account_uid}. Each option's
    description shows a rendered preview of the template (header, body,
    footer, buttons) so you can tell templates apart before picking one.
  2. Variables — once a template is selected, the node parses its
    HEADER/BODY/BUTTONS components for {{1}}/{{name}} placeholders
    (supporting both POSITIONAL and NAMED parameter formats, plus media
    headers and URL/copy-code buttons) and exposes one input field per
    variable, labelled using the template's own example values.
  3. Send — the node reassembles your entered values into the WhatsApp
    Cloud API's components structure and calls
    POST /api/whatsapp/messages/template/{whatsapp_account_uid}/{template_name}.

All requests are authenticated with Authorization: Bearer <accessToken>
from the WhatsApp Template API credential.

Using Flowsensy as an AI Agent tool

The node is marked usableAsTool: true, so every operation (Send Template
Message, Send Text/Image/Document/Audio/Video Message, and all the
Interactive operations) can be attached directly under an AI Agent
node's Tool input — no separate "Flowsensy Tool" node is needed.

  1. On the self-hosted n8n instance, set the environment variable
    N8N_COMMUNITY_PACKAGES_ALLOW_TOOL_USAGE=true and restart n8n. Community
    nodes cannot be used as tools until this is enabled by the instance admin.
  2. Add Flowsensy under the AI Agent's Tool connector like any other tool
    node, and pick the Resource/Operation you want the agent to call (e.g.
    Send Text Message).
  3. For any field you want the LLM to fill in dynamically (recipient number,
    message body, template variables, button labels, etc.), replace its value
    with a
    $fromAI()
    expression, e.g.:
    {{ $fromAI('to', 'Recipient WhatsApp number, digits only', 'string') }}
    {{ $fromAI('message', 'The message text to send', 'string') }}
    
    Fields left as plain static values stay fixed and are not exposed to the
    model.
  4. If you want to expose multiple operations at once (e.g. both "Send Text
    Message" and "Send Image Message") as separate callable tools, add the
    Flowsensy node multiple times, once per operation, and give each one a
    distinct tool name/description via the node's "Tool" tab.

Note: operations with Wait for Response enabled pause the whole
workflow execution waiting for a WhatsApp reply. That works fine as a
regular node, but is not meaningful when the node is called as a tool
mid-agent-turn — leave Wait for Response off for tool use.

Reference: https://docs.n8n.io/integrations/creating-nodes/

Discussion