
Resend Send
CertifiedSend email via Resend API
Resend Send
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.
type: io.kestra.plugin.resend.email.SendExamples
Send a simple email
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.
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
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
apiKey *Requiredstring
Resend API key
Secret Resend token used for authentication.
from *Requiredstring
Sender
Sender email address that belongs to a verified domain in Resend.
subject *Requiredstring
Subject
Subject line required by Resend.
to *Requiredarray
Recipients
Recipient addresses; accepts a string or list rendered from context.
attachments array
Attachments
Attachments defined by name plus either uri (Kestra storage) or path (HTTP/HTTPS); optional contentType and contentId.
io.kestra.plugin.resend.email.Send-Attachment
Attachment file name
Displayed filename, for example 'report.pdf'.
Content ID
CID used to reference the attachment inline in HTML (cid: ...).
MIME type
Optional MIME type override when not detected automatically.
Remote HTTP/HTTPS file URL
Resend downloads the file directly from the provided URL.
Attachment from Kestra storage
Use a kestra:// URI; the file is read from internal storage and Base64 encoded.
bcc array
BCC
Optional BCC recipients
cc array
CC
Optional CC recipients
headers object
Headers
Custom headers as string key/value pairs.
html string
HTML Body
HTML body; Resend requires either html or text to be provided.
idempotencyKey string
Idempotency Key
Optional idempotency key; currently not forwarded to Resend.
pluginDefaultsRef Non-dynamicstring
Reference (ref) of the pluginDefaults to apply to this task.
replyTo array
Reply-To
Optional Reply-To addresses as a string or list.
scheduledAt string
Scheduled At
ISO 8601 timestamp for scheduled send (e.g., 2024-08-05T11: 52: 01.858Z).
text string
Text Body
Plain text body; Resend requires either text or html to be provided.
Outputs
id string
Resend email ID