Overview
Base URL: https://api.wsla.io
The current public Wsla Zapier integration uses two endpoints:
GET /zapier/contactsfor connection testingGET /zapier/eventsfor themessage.customer.createdpolling trigger
Authentication
Wsla authenticates Zapier requests using a workspace-specific API key generated from
Wsla > Integrations > Zapier.
Supported headers
Authorization: Bearer wsla_zap_xxxxxxxxxxxxxxxxx
Accept: application/json
Alternative header:
x-api-key: wsla_zap_xxxxxxxxxxxxxxxxx
Accept: application/json
Endpoints used by the current Zapier integration
| Method | Path | Used for |
|---|---|---|
GET |
/zapier/contacts |
Connection test during account authentication |
GET |
/zapier/events |
Polling trigger for new customer messages |
GET /zapier/contacts
Returns contacts in the authenticated Wsla workspace.
Query parameters
| Name | Type | Required | Description |
|---|---|---|---|
limit | integer | No | Maximum records to return. Default 50. |
offset | integer | No | Pagination offset. Default 0. |
created_after | ISO 8601 datetime | No | Return contacts created on or after this timestamp. |
updated_after | ISO 8601 datetime | No | Return contacts updated on or after this timestamp. |
Example request
curl -X GET "https://api.wsla.io/zapier/contacts?limit=1" -H "x-api-key: wsla_zap_xxxxxxxxxxxxxxxxx" -H "Accept: application/json"
Response
{
"contacts": [
{
"id": 611998,
"name": "Ahmed Ali",
"number": "201001234567",
"email": "ahmed@example.com",
"channel": "whatsapp_oficial",
"active": true,
"disableBot": false,
"isGroup": false,
"birthDate": null,
"lastInteractionClient": "2026-03-22T05:48:07.000Z",
"createdAt": "2026-03-21T10:14:00.000Z",
"updatedAt": "2026-03-22T05:48:07.000Z",
"tags": [],
"extraInfo": []
}
],
"meta": {
"limit": 1,
"offset": 0,
"count": 1
}
}
GET /zapier/events
Returns outbound Wsla events for polling. The current published Zapier trigger uses
eventType=message.customer.created.
Query parameters
| Name | Type | Required | Description |
|---|---|---|---|
eventType | string | No | Filter by event type. Current published app uses message.customer.created. |
since | ISO 8601 datetime | No | Return events created on or after this timestamp. |
limit | integer | No | Maximum records to return. Default 100, max 500. |
Example request
curl -X GET "https://api.wsla.io/zapier/events?eventType=message.customer.created&limit=50" -H "x-api-key: wsla_zap_xxxxxxxxxxxxxxxxx" -H "Accept: application/json"
Response
{
"events": [
{
"id": 24,
"eventType": "message.customer.created",
"resourceType": "message",
"resourceId": "2867236",
"dedupKey": "message.customer.created:wamid.sample",
"createdAt": "2026-03-22T05:48:10.423Z",
"payload": {
"id": 2867236,
"wid": "wamid.sample",
"ticketId": 594008,
"contactId": 611998,
"contactName": "Ahmed Ali",
"contactNumber": "201001234567",
"contactEmail": "ahmed@example.com",
"contact": {
"id": 611998,
"name": "Ahmed Ali",
"number": "201001234567",
"email": "ahmed@example.com"
},
"whatsappId": 43,
"whatsappName": "Main Official",
"whatsappNumber": "9665580584911",
"whatsappChannel": "whatsapp_oficial",
"whatsapp": {
"id": 43,
"name": "Main Official",
"number": "9665580584911",
"channel": "whatsapp_oficial"
},
"body": "مرحبا",
"fromMe": false,
"read": false,
"mediaType": "text",
"mediaUrl": null,
"reaction": null,
"templateId": null,
"templateMetaId": null,
"quotedMsgId": null,
"channel": "whatsapp_oficial",
"createdAt": "2026-03-22T05:48:07.000Z"
}
}
]
}
Event types currently emitted
message.customer.createdcontact.createdticket.createdticket.updatedticket.closed
The currently published Zapier integration uses only message.customer.created.
Errors
| Status | Code | Description |
|---|---|---|
401 | ERR_ZAPIER_API_KEY_REQUIRED | No API key was provided. |
401 | ERR_ZAPIER_API_KEY_INVALID | The API key is invalid or revoked. |
4xx / 5xx | WSLA_API_ERROR | Generic upstream error returned to the Zapier app. |
Operational notes
- All endpoints return JSON.
- Dates are returned in ISO 8601 format.
dedupKeyshould be used by polling clients to prevent duplicate processing.- Per-key event scoping may restrict
/zapier/eventsresults to selected WhatsApp connections.
Last updated: 2026-03-27