Workflows
Blocks
Integrations
Resend

Resend

The Resend block sends transactional email through Resend (opens in a new tab) and manages your audiences and contacts — all from inside a workflow.

Email Automation: Send one email or a batch of up to 100, schedule sends for later, and keep your Resend contact lists in sync — using workflow variables anywhere in the fields.

Key Features

  • Send Email: HTML or plain-text emails with cc/bcc, custom headers, and attachments
  • Batch Sending: Up to 100 emails in a single request
  • Scheduling: Send later with an ISO 8601 Scheduled At time, and cancel before it goes out
  • Audience Management: Create audiences and add, list, or delete contacts
  • Variables Everywhere: Every field accepts {{variable}} values from earlier blocks

Operations

OperationWhat it does
Send EmailSends one email (from, to, cc, bcc, reply-to, subject, HTML and/or text body, headers, attachments, optional schedule)
Send Batch EmailsSends up to 100 emails in one request from a JSON array of email objects
Get EmailFetches a sent email by its ID (status, recipients, timestamps)
Cancel Scheduled EmailCancels an email that was scheduled with Scheduled At before it is sent
Create AudienceCreates a new contact list (audience)
List AudiencesLists all audiences in your Resend account
Create ContactAdds a contact (email, first/last name, unsubscribed flag) to an audience
List ContactsLists all contacts in an audience
Delete ContactRemoves a contact from an audience by contact ID or email address

Configuration

ParameterTypeRequiredDescription
FromTextYes (Send Email)Sender, e.g. Acme <hello@acme.com>. The domain must be verified in Resend
To / Cc / Bcc / Reply ToTextTo is requiredComma-separated email addresses, e.g. a@x.com, b@y.com
SubjectTextYes (Send Email)Email subject line
HTML / TextTextOne of the twoEmail body — HTML, plain text, or both
HeadersJSONNoJSON object of custom headers
AttachmentsJSONNoJSON array like [{"filename":"invoice.pdf","path":"https://…"}] — Resend downloads each path URL itself
Scheduled AtTextNoISO 8601 datetime (e.g. 2026-08-25T09:00:00Z) to send later
EmailsJSONYes (Send Batch)JSON array of email objects, max 100
Email IDTextYes (Get / Cancel)The ID Resend returned when the email was sent
Audience ID / Audience NameTextPer operationTarget audience for contact operations, or name for a new audience
Email, First Name, Last Name, UnsubscribedTextPer operationContact details for Create Contact (Unsubscribed is true/false)
Contact IDTextYes (Delete Contact)Contact ID or the contact's email address

Setting up the credential

  1. Sign in at resend.com (opens in a new tab) and open API Keys (opens in a new tab).
  2. Click Create API Key and copy the key.
  3. In the block settings, click Add Resend account (or open Integrations → Resend → Connect).
  4. Give the connection a name and paste the API Key, then save.
⚠️

The From address must use a domain you have verified in your Resend dashboard, or sends will be rejected.


Example: order confirmation email

  1. A Stripe Trigger starts the workflow when a payment succeeds.
  2. A Resend block with Send Email sends a confirmation to {{customer_email}} with an HTML receipt.
  3. A second Resend block with Create Contact adds the buyer to your "Customers" audience.

Output

The block returns the Resend API response, which downstream blocks can reference:

OperationOutput
Send Email / Cancel Scheduled Email{ id } — the email's Resend ID
Send Batch Emails{ data: [{ id }, …] } — one ID per email
Get EmailThe full email object (status, recipients, timestamps)
Create Audience / Create ContactThe created object, including its id
List Audiences / List Contacts{ data: [ … ] } — the list of objects
Delete ContactDeletion confirmation

Keep the returned email id in a variable if you schedule an email — you need it later for Cancel Scheduled Email.

Indite Documentation v1.7.1
PrivacyTermsSupport