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

  1. In your Zap, choose Webhooks by Zapier as the trigger app and pick Catch Hook.
  2. Zapier gives you a unique catch URL, e.g. https://hooks.zapier.com/hooks/catch/123456/abcdef/.
  3. 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:

FieldDescription
event"email.received"
timestampWhen the event fired
webhook_idThe subscribed endpoint's id
data__message_idRFC 5322 Message-ID of the received email
data__mailboxWhich mailbox received it
data__fromSender address
data__subjectSubject line
data__received_atDelivery timestamp
data__thread_idStable thread identifier, for conversation grouping
data__is_replyWhether this continues an existing thread
data__previewShort text preview of the body
data__has_attachmentsBoolean
data__size_bytesMessage size

Action: Send Email

Calls POST /mail/send. Input fields exposed in the Zap editor:

FieldRequiredNotes
FromyesMust be a mailbox you own or an editor of
ToyesOne or more recipients
Subjectyes
HTML BodynoProvide this and/or Plain-Text Body
Plain-Text Bodyno
CCno
BCCno
Reply-Tono
Track OpensnoRequires a plan with read-receipt support
Sandbox ModenoRuns 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.

See also