Sendry Docs
Integrations

n8n

Send transactional email, sync contacts, and manage domains from n8n workflows using the official Sendry community node.

n8n-nodes-sendry is the official community node for the open-source workflow automation tool n8n. It exposes the core Sendry operations to any self-hosted or n8n.cloud instance.

  • Source: packages/sendry-n8n.
  • Distribution: npm (n8n-nodes-sendry).
  • Peer dep: n8n-workflow@^1.
  • License: Apache-2.0.

Install

  1. Open your n8n instance and go to Settings → Community Nodes.
  2. Click Install and enter the package name: n8n-nodes-sendry.
  3. Accept the risk prompt — community nodes run inside your n8n server's Node.js sandbox.

From the CLI (self-hosted)

# Inside your n8n container or VM
cd ~/.n8n
npm install n8n-nodes-sendry
# restart n8n

The node appears in the editor as Sendry with a small envelope icon.

Credentials

  1. In n8n: Credentials → New → Sendry API.
  2. API Key: paste a key from Settings → API keys. Use sending_access or full_access for write operations.
  3. API Base URL: leave the default https://api.sendry.online for Sendry Cloud, or point at your self-hosted host.

The credential test hits GET /v1/auth/whoami so n8n confirms the key is live before saving.

Operations

ResourceOperationEndpoint
EmailSendPOST /v1/emails
EmailGetGET /v1/emails/:id
ContactUpsertPUT /v1/contacts/by-email
DomainCreatePOST /v1/domains
AudienceListGET /v1/audiences

Email → Send

  • From, To, Subject — required. To/CC/BCC/Reply To accept comma-separated lists.
  • Body collection — either HTML, Text, or Template ID.
  • Additional Fields:
    • Scheduled At — ISO 8601 or natural language ("in 1 hour").
    • Idempotency Key — auto-generated per n8n execution if blank.
    • Tags (JSON) — array of {"name":"...","value":"..."} objects.

Contact → Upsert

  • Email is required.
  • Optional First Name, Last Name, Audience ID, and a JSON object of custom Properties (keys must match contact-property definitions in your workspace).

Domain → Create

  • Domain Name plus Region (us-east-1 / eu-west-1 / ap-southeast-1).
  • The node returns the DNS records you need to publish before the domain verifies.

Audience → List

  • Limit — 1 to 100. Each audience is emitted as a separate output item so downstream nodes can fan out.

Example workflow

When a Typeform submission arrives, upsert the contact and send a templated welcome email.

  1. Trigger — Typeform → On New Response.
  2. Sendry — Resource Contact, Operation Upsert.
    • Email: {{$json["email"]}}
    • Additional Fields → First Name: {{$json["first_name"]}}
  3. Sendry — Resource Email, Operation Send.
    • From: hello@example.com
    • To: {{$json["email"]}}
    • Subject: Welcome to Acme!
    • Body → Template ID: tmpl_welcome

Continue on fail

Every operation respects n8n's standard Continue on Fail toggle. When enabled, errors are emitted as { "error": "..." } items so downstream branches can react without halting the workflow.

Development

cd packages/sendry-n8n
bun install
bun run build        # tsc + gulp build:icons → dist/
bun run typecheck    # tsc --noEmit

The build produces dist/nodes/Sendry/Sendry.node.js, dist/credentials/SendryApi.credentials.js, and the bundled sendry.svg. n8n picks them up via the n8n field in package.json.

License

Apache-2.0. See the LICENSE in the repository.

On this page