Resend Send

Resend Send

Certified

Send email via Resend API

Sends an email through Resend with To/CC/BCC, headers, tags, attachments from Kestra storage (uri) or remote URLs (path), and optional scheduled send time. Requires a verified sender domain and API key; all properties render with the flow context.

yaml
type: io.kestra.plugin.resend.email.Send

Send a simple email

yaml
id: send_email
namespace: company.team

tasks:
  - id: notify
    type: io.kestra.plugin.resend.email.Send
    from: "your-email@example.com"
    to:
      - "demo@example.com"
    subject: "Welcome!"
    html: "<h1>Hello</h1>"
    apiKey: "{{ secret('RESEND_API_KEY') }}"

Send an email with attachment.

yaml
id: send_email_with_attachment
namespace: company.team

inputs:
  - id: user_file
    type: FILE

tasks:
  - id: send_email
    type: io.kestra.plugin.resend.email.Send
    from: "user@example.com"
    to:
      - "recipient@example.com"
    subject: "Welcome with attachment!"
    html: "<h1>Hello</h1><p>Here’s your file.</p>"
    attachments:
      - name: "test.pdf"
        uri: "{{ inputs.user_file }}"
        contentType: "application/pdf"
    apiKey: "{{ secret('RESEND_API_KEY') }}"

Schedule email with tags and remote attachment

yaml
id: send_email_scheduled
namespace: company.team

tasks:
  - id: send_email
    type: io.kestra.plugin.resend.email.Send
    from: "alerts@example.com"
    to:
      - "ops@example.com"
    subject: "Nightly report"
    text: "Report ready. See attached log."
    attachments:
      - name: "log.txt"
        path: "https://example.com/logs/today.txt"
    tags:
      - name: "env"
        value: "prod"
      - name: "type"
        value: "report"
    headers:
      X-Source: "kestra-flow"
    scheduledAt: "2024-08-05T11:52:01.858Z"
    apiKey: "{{ secret('RESEND_API_KEY') }}"
Properties

Resend API key

Secret Resend token used for authentication.

Sender

Sender email address that belongs to a verified domain in Resend.

Subject

Subject line required by Resend.

SubTypestring

Recipients

Recipient addresses; accepts a string or list rendered from context.

Attachments

Attachments defined by name plus either uri (Kestra storage) or path (HTTP/HTTPS); optional contentType and contentId.

Definitions
name*Requiredstring

Attachment file name

Displayed filename, for example 'report.pdf'.

contentIdstring

Content ID

CID used to reference the attachment inline in HTML (cid: ...).

contentTypestring

MIME type

Optional MIME type override when not detected automatically.

pathstring

Remote HTTP/HTTPS file URL

Resend downloads the file directly from the provided URL.

uristring

Attachment from Kestra storage

Use a kestra:// URI; the file is read from internal storage and Base64 encoded.

SubTypestring

BCC

Optional BCC recipients

SubTypestring

CC

Optional CC recipients

Headers

Custom headers as string key/value pairs.

HTML Body

HTML body; Resend requires either html or text to be provided.

Idempotency Key

Optional idempotency key; currently not forwarded to Resend.

Reference (ref) of the pluginDefaults to apply to this task.

SubTypestring

Reply-To

Optional Reply-To addresses as a string or list.

Scheduled At

ISO 8601 timestamp for scheduled send (e.g., 2024-08-05T11: 52: 01.858Z).

Tags

Custom tags (name/value pairs) for tracking

Definitions
namestring
valuestring

Text Body

Plain text body; Resend requires either text or html to be provided.

Resend email ID