API Docs / Zapier
Zapier
Trigger a Zap when mail arrives in a Kerabie Mail mailbox, or send email from a Zap action step.
Status
The official Kerabie Mail Zapier app is built and validated, but not yet published to Zapier's marketplace.
Publishing is a manual step (Zapier developer login, push, and marketplace review) the project runs separately. Until it's live in the marketplace, use the webhook-based integration below, which works today with no waiting.
Right now: build it with webhooks
Zapier's own built-in Webhooks by Zapier connector (a generic HTTP connector, not Kerabie-specific) can both catch Kerabie Mail webhook events and call the Kerabie Mail API directly. This is the exact same event data and send endpoint the official app will use once published.
Trigger a Zap on new email
- In your Zap, choose Webhooks by Zapier as the trigger app and pick Catch Hook.
- Zapier gives you a unique catch URL, e.g.
https://hooks.zapier.com/hooks/catch/123456/abcdef/. - Create a webhook endpoint in Kerabie Mail pointed at that URL, either from Settings → Webhooks in the console, or via the API:
curl -X POST https://api.kerabie.email/webhooks \
-H "X-API-Key: $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://hooks.zapier.com/hooks/catch/123456/abcdef/",
"events": ["email.received"]
}'Every new email now lands as a trigger payload in your Zap, with the same fields documented on the Webhooks payload reference (message_id, mailbox, from, subject, preview, thread_id, and more). Swap email.received for any other event in the events table to trigger on bounces, opens, clicks, and so on.
Send email from a Zap action
Add a Webhooks by Zapier action step, choose Custom Request, and configure it as:
Method: POST
URL: https://api.kerabie.email/mail/send
Headers:
X-API-Key: YOUR_API_KEY
Content-Type: application/json
Data:
{
"from_email": "support@yourdomain.com",
"to": ["{{customer_email}}"],
"subject": "{{subject}}",
"body_html": "{{html_body}}"
}Map any upstream Zap field into to, subject, or body_html. See the full field list in the Send email API reference.
The official app (pending publication)
Once published, the Kerabie Mail Zapier app replaces the manual webhook wiring above with a native trigger and action, still calling the exact same underlying endpoints.
Trigger: New Email Received
A REST Hook trigger. Selecting it in a Zap calls POST /webhooks with events: ["email.received"] to subscribe, and DELETE /webhooks/{id} to unsubscribe when the Zap is turned off or deleted.
Output fields available to later steps:
| Field | Description |
|---|---|
| event | "email.received" |
| timestamp | When the event fired |
| webhook_id | The subscribed endpoint's id |
| data__message_id | RFC 5322 Message-ID of the received email |
| data__mailbox | Which mailbox received it |
| data__from | Sender address |
| data__subject | Subject line |
| data__received_at | Delivery timestamp |
| data__thread_id | Stable thread identifier, for conversation grouping |
| data__is_reply | Whether this continues an existing thread |
| data__preview | Short text preview of the body |
| data__has_attachments | Boolean |
| data__size_bytes | Message size |
Action: Send Email
Calls POST /mail/send. Input fields exposed in the Zap editor:
| Field | Required | Notes |
|---|---|---|
| From | yes | Must be a mailbox you own or an editor of |
| To | yes | One or more recipients |
| Subject | yes | |
| HTML Body | no | Provide this and/or Plain-Text Body |
| Plain-Text Body | no | |
| CC | no | |
| BCC | no | |
| Reply-To | no | |
| Track Opens | no | Requires a plan with read-receipt support |
| Sandbox Mode | no | Runs the pipeline without an actual SMTP delivery, for testing the Zap |
Authentication
Either way (the fallback webhook setup, or the official app once published), you need a Kerabie Mail API key. Create one under Settings → API Keys with the send and webhooks scopes (add mailboxes:read too if you want a mailbox-list step). Pass it as the X-API-Key header on any custom request.
If you're handling raw webhook deliveries yourself (rather than letting Zapier's Catch Hook do it), verify the X-Kerabie-Signature header as described in the signature verification guide.