Email webhook
POST /api/email/
An inbound-parse provider (SendGrid, Mailgun, Postmark) or a forwarding rule POSTs parsed mail to this endpoint. The employee processes it and replies via outbound email. Distinct from the hosted Personal Mailbox and the Gmail OAuth tool.
Body parameters
| Name | Type | Required | Description |
|---|---|---|---|
employee_id |
uuid | yes | The employee that should process the email. |
body |
string | yes | The parsed email body. |
from |
string | no | Optional. Sender address, used as reply context. |
subject |
string | no | Optional. Email subject, prepended as context. |
Request headers
| Name | Type | Required | Description |
|---|---|---|---|
Authorization |
string | yes | Bearer sk-your-api-key — same keys as the API, MCP, and Webhook channels. |
Error responses
| Status | Meaning |
|---|---|
| 400 | Bad request — missing fields, invalid UUID, or malformed JSON |
| 401 | Invalid or missing API key |
| 403 | Channel not enabled, or email not verified |
| 413 | Request body exceeds 64 KB |
| 429 | Rate limit exceeded — see Retry-After header |
| 502 | Employee unreachable (infrastructure error) |
| 504 | Employee timed out (5 minute limit) |
Request - cURL
curl -X POST https://sistava.com/api/email/ \
-H "Authorization: Bearer sk-your-api-key" \
-H "Content-Type: application/json" \
-d '{
"employee_id": "YOUR_EMPLOYEE_UUID",
"from": "[email protected]",
"subject": "Re: Q1 proposal",
"body": "Can you send the updated numbers by Friday?"
}'
Response 202
{
"status": "accepted"
}
Concepts and walkthrough: https://sistava.com/en/guide/channels/email
API reference index: https://sistava.com/en/docs