Sendry Docs
Integrations

Zapier

Send transactional email, sync contacts, and react to delivery events from any Zap using the official Sendry Zapier app.

sendry-zapier is the official Zapier integration for Sendry. It ships as a single private app maintained from packages/sendry-zapier and is built on Zapier Platform CLI v15+.

  • Source: packages/sendry-zapier.
  • License: Apache-2.0.
  • Auth: API key in the Authorization: Bearer header.
  • Runtime: zapier-platform-core@^15.

Install

Once published to the Zapier marketplace, connect from any Zap with + Add an action → search for Sendry.

During the private beta, follow the invite link emailed to your team or have an admin run zapier invite against the developer portal.

Authenticate

Create a key at Settings → API keys and paste it into the Zapier connection screen. Use a sending_access or full_access key for write actions; read_only keys work for the search and trigger sample fetches but cannot send.

Self-hosted Sendry users can change the API base URL field from the default https://api.sendry.online to point at their own deployment.

Triggers

REST hooks register a webhook on POST /v1/webhooks when the Zap turns on and delete it via DELETE /v1/webhooks/:id when the Zap is paused or deleted.

TriggerEventSample fields
Email Sent (email_sent)email.deliveredid, to, from, subject, status, delivered_at
Email Bounced (email_bounced)email.bouncedid, bounce_type, bounce_reason, bounced_at
Contact Unsubscribed (contact_unsubscribed)contact.unsubscribedid, email, topic_id, unsubscribed_at

Each trigger also exposes a polling fallback so the Zap editor can show sample data before the hook is live.

Actions

ActionEndpointNotes
Send Email (send_email)POST /v1/emailsAuto-generated Idempotency-Key per Zap run. to/cc/bcc/reply_to accept comma-separated lists. Tags accept name=value pairs. Supports template_id and scheduled_at.
Create or Update Contact (upsert_contact)PUT /v1/contacts/by-emailIdempotent by email. Optional audience_id and JSON properties.
Create Domain (create_domain)POST /v1/domainsReturns the DNS records to publish before verification.
SearchEndpoint
Find Contact by Email (find_contact_by_email)GET /v1/contacts/by-email?email=

Returns an empty array on 404 so Zapier's Find or Create flow upserts the contact correctly when missing.

Example Zap

When a Stripe customer is created, upsert the contact in Sendry and send a welcome email.

  1. Trigger — Stripe → New Customer.
  2. Action — Sendry → Create or Update Contact
    • Email: {{customer__email}}
    • First name: {{customer__name}}
    • Audience ID: aud_signups
  3. Action — Sendry → Send Email
    • From: hello@example.com
    • To: {{customer__email}}
    • Subject: Welcome to Acme!
    • Template ID: tmpl_welcome

Development

cd packages/sendry-zapier
bun install
bun run test          # Jest via zapier-platform-core appTester
zapier validate       # requires `npm i -g zapier-platform-cli`

License

Apache-2.0. See the LICENSE in the repository.

On this page