Send scheduled emails with Resend
Send scheduled emails through Resend from your verified domain: recurring reports, reminders, and one-time messages at an exact time.
Example: a monthly usage summary
json
{
"name": "Monthly usage email",
"cron": { "expression": "0 9 1 * *", "time_zone": "UTC" },
"nodes": [
{ "id": "usage", "request": { "method": "GET", "endpoint": "https://api.acme.com/internal/usage/last-month", "credential_id": "YOUR_INTERNAL_TOKEN_ID" } },
{ "id": "email", "resend_send_email": {
"credential_id": "YOUR_RESEND_KEY_ID",
"from": "reports@acme.com",
"from_name": "Acme Reports",
"to": "finance@acme.com",
"subject": "Usage for {{ format(now() - months(1), \"MMMM YYYY\") }}",
"text": "API calls: {{ $.calls }}\nActive accounts: {{ $.accounts }}\nOverage: ${{ $.overage }}" } }
]
}Set up
Verify your domain in Resend, create an API key, and save it as a bearer_token credential. from must be on the verified domain.
Reference
Send an email with Resend: resend_send_email
Sends POST https://api.resend.com/emails. Output for the next step: Resend’s response, with the email id.
| Field | Type | Notes |
|---|---|---|
credential_id |
string, required | The id of a bearer_token credential holding a Resend API key (re_…). |
from |
string, required | The sender address, on a domain verified with Resend. Placeholders allowed. |
from_name |
string | Shown with the address, as "Name |
to |
string, required | The recipient address. Placeholders allowed. |
subject |
string, required | Up to 998 characters. Placeholders allowed. |
text |
string, required | Plain text, up to 40,000 characters. Placeholders allowed. |