You don't need a dedicated EnoSend node in n8n. The built-in HTTP Request node handles everything because EnoSend is a plain REST API.
1. Add an HTTP Request node
In your workflow: + → HTTP Request. Set:
Method: POST
URL:
https://api.enosend.com/wa/v1/messagesAuthentication: Generic Credential Type → Header Auth → Name:
Authorization, Value:Bearer wa_live_YOUR_KEYSend Body: ON, Body Content Type: JSON
JSON Body:
{ "to": "{{ $json.phone }}", "type": "text", "text": "Hi {{ $json.first_name }} — your order is ready." }
2. Wire a trigger
Connect any trigger to it — a Webhook node, a Google Sheets row, a Postgres notification, whatever fires the message. The expressions in the JSON body pick up fields from the previous node automatically.
3. Loop for bulk
If you have a list and want to send to all of them, two options:
Loop in n8n: put a Split In Batches node before the HTTP Request and iterate.
Use the bulk endpoint: POST to
https://api.enosend.com/wa/v1/bulkwith up to 500 recipients in one call. Faster and counts as one campaign in your dashboard.
4. Receive replies
Inbound flow is the mirror image: add a Webhook node, copy its production URL, paste it into EnoSend → Instance settings → Webhooks. EnoSend POSTs every inbound message there; n8n triggers your workflow.
Same pattern works for Zapier (Webhooks by Zapier action) and Make (HTTP module). Nothing EnoSend-specific to learn.