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 ". Placeholders allowed.
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.