WApp Chat accepts external automation events over HTTP, so any tool that can send JSON can trigger a workflow.
Read Automation API first for the full payload format.
n8n #
Use an HTTP Request node:
| Field | Value |
|---|---|
| Method | POST |
| URL | https://wapp.chat/api/whatsapp/automation/events |
| Body type | JSON |
| Header | x-wappchat-key: <api-key> |
| Header | Content-Type: application/json |
Example body:
{
"event": "lead.created",
"source": "n8n",
"idempotency_key": "lead.created:{{$json.id}}",
"contact": {
"name": "{{$json.name}}",
"phone": "{{$json.phone}}"
},
"payload": {
"service": "{{$json.service}}",
"city": "{{$json.city}}"
}
}
Use a stable source ID for idempotency_key. Do not generate a random value on each retry.
Google Sheets Apps Script #
function sendWappChatEvent(row) {
const body = {
event: 'lead.created',
source: 'google-sheets',
idempotency_key: `lead-row-${row.id}`,
contact: {
name: row.name,
phone: row.phone
},
payload: {
service: row.service,
city: row.city
}
};
UrlFetchApp.fetch('https://wapp.chat/api/whatsapp/automation/events', {
method: 'post',
contentType: 'application/json',
headers: {
'x-wappchat-key': 'wchat_live_...'
},
payload: JSON.stringify(body)
});
}
Google Sheets CSV Campaigns #
For campaign-style sending:
- Export a CSV from Sheets.
- Import it in
https://wapp.chat/whatsapp/contacts. - Tag the imported contacts.
- Create an approved-template campaign.
- Review delivery status in WApp Chat.
Security #
For production partner integrations:
- keep API keys server-side
- enable signed requests where possible
- use stable idempotency keys
- test with a small contact group before scaling
Continue with API Keys and Signatures.