# Send scheduled emails with Resend

Send scheduled emails through [Resend](https://resend.com) 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 <from>". 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. |
