n8n
Install the community node, create the credential, build a first workflow, and understand the single-webhook caveat before you add a trigger.
WASync ships a community node for n8n, published on npm as
n8n-nodes-wasync. It wraps
the same REST API these docs describe, so anything the node does you can also do
with curl — and anything it does not do yet, you can.
Before you start: an account and a connected number
The node talks to your WASync account. If you do not have one yet, create it first — it takes a minute and costs nothing:
Create a free developer account
Go to developers.wasync.app/register — name, email, password. Every new account comes with its own workspace: the place your WhatsApp numbers and API keys live.
Get a WhatsApp number into that workspace
Two situations:
- You already use WASync inside Bitrix24 — sign in with the same email you
use in Bitrix24. Your portal appears as a workspace and its connected numbers
are ready to use. Sending through the API needs the API add-on on that
number ($12 per number per month; without it the node's send step answers
addon_required). - You are new to WASync — connect a number to your own workspace with one API call that returns a QR code (or a pairing code you type into WhatsApp). The exact steps are in Connect a WhatsApp number. Every number starts with a 7-day free trial; plans are WAPP $19 or WABA $29 per number per month, USD.
Create an API key
Sign in and open developers.wasync.app/keys. Pick the workspace, give the key a name, tick the scopes below, create it — and copy it immediately, it is shown once. This is the value the n8n credential asks for.
One account, many numbers
The node's Connection → List operation shows every number the key can reach. If the list is empty, the workspace has no connected number yet — go back to step 2.
1. Install the community node
In your n8n instance, go to Settings → Community nodes → Install, enter the package name and confirm:
n8n-nodes-wasyncCommunity nodes are available on self-hosted n8n and on n8n Cloud plans that allow them. After installing, the WASync and WASync Trigger nodes appear in the node panel.
2. Create the credential
Add a credential of type WASync API. It takes a single field: your API key,
which is sent as Authorization: Bearer ….
Paste the key you created above (see Before you start) — it is shown once. Give it only the scopes the workflow needs:
- listing connections and reading messages →
whatsapp.read - sending and marking read →
whatsapp.send - the trigger →
whatsapp.events
See Scopes.
3. Your first workflow
The simplest useful workflow is two nodes: a manual trigger and a send.
Find the connection id. Add a WASync node, choose resource
Connection → operation List, and run it. Copy the id of the number you
want to send from.
Send a message. Add a second WASync node, resource Message → operation Send. Fill in:
| Field | Value |
|---|---|
connectionId | the id you just copied |
to | international digits, no + — e.g. 40712345678 |
text | the message body |
Execute. The node returns the message id you can join on later — see the two ids.
Operations the node supports
| Resource | Operation | Parameters |
|---|---|---|
| Connection | List | — |
| Message | Send | connectionId, to, text |
| Message | Get Many | connectionId, limit |
| Message | Mark as Read | — |
Text sending only. Sending a WhatsApp template and checking whether a number is on WhatsApp are not available through the API today, so the node does not offer them — do not build a workflow that assumes they exist.
4. The trigger
WASync Trigger starts a workflow when something happens on your account. It supports four events:
message.receivedmessage.statusconnection.connectedconnection.disconnected
The payloads are exactly the ones in the Webhooks
guide — same fields, same ids, same
timestamp-in-milliseconds.
One webhook slot per account — a trigger moves it
The API has a single webhook URL per account (PUT /webhook,
POST /webhook/rotate, and no delete). Activating a WASync Trigger points that
one slot at n8n.
So: if your own backend was already receiving webhooks, it stops the moment the trigger takes over. And two WASync Triggers cannot both hold the slot — the second one wins. If you need events in more than one place, receive them once and fan out yourself: let n8n hold the slot and forward from a workflow, or let your backend hold it and call an n8n Webhook node.
Test and production trigger URLs are different URLs, so switching between them also moves the slot.
Because deliveries are dropped after three failed attempts, keep a reconciliation path even in n8n: a scheduled workflow calling Message → Get Many every 30–60 seconds catches anything the trigger missed while the instance was restarting.
When the node is not enough
The node covers the common path. For media sends, pairing codes, connection
provisioning, Idempotency-Key handling or anything else in the
API reference, use n8n's HTTP Request node with the
same credential: base URL https://developers.wasync.app/api/v1, header
Authorization: Bearer <key>.