---
title: Resend
description: Send emails and manage contacts with Resend.
---

import { BlockInfoCard } from "@/components/ui/block-info-card"

<BlockInfoCard 
  type="resend"
  color="#181C1E"
/>

{/* MANUAL-CONTENT-START:intro */}
[Resend](https://resend.com/) is a modern email service designed for developers to send transactional and marketing emails with ease. It provides a simple, reliable API and dashboard for managing email delivery, templates, and analytics, making it a popular choice for integrating email functionality into applications and workflows.

With Resend, you can:

- **Send transactional emails**: Deliver password resets, notifications, confirmations, and more with high deliverability
- **Manage templates**: Create and update email templates for consistent branding and messaging
- **Track analytics**: Monitor delivery, open, and click rates to optimize your email performance
- **Integrate easily**: Use a straightforward API and SDKs for seamless integration with your applications
- **Ensure security**: Benefit from robust authentication and domain verification to protect your email reputation

In Sim, the Resend integration allows your agents to programmatically send emails as part of your automated workflows. This enables use cases such as sending notifications, alerts, or custom messages directly from your Sim-powered agents. By connecting Sim with Resend, you can automate communication tasks, ensuring timely and reliable email delivery without manual intervention. The integration leverages your Resend API key, keeping your credentials secure while enabling powerful email automation scenarios.
{/* MANUAL-CONTENT-END */}


## Usage Instructions

Integrate Resend into your workflow. Send emails, retrieve email status, manage contacts, and view domains. Requires API Key.



## Actions

### `resend_send`

Send an email using your own Resend API key and from address

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `fromAddress` | string | Yes | Email address to send from \(e.g., "sender@example.com" or "Sender Name &lt;sender@example.com&gt;"\) |
| `to` | string | Yes | Recipient email address \(e.g., "recipient@example.com" or "Recipient Name &lt;recipient@example.com&gt;"\) |
| `subject` | string | Yes | Email subject line |
| `body` | string | Yes | Email body content \(plain text or HTML based on contentType\) |
| `contentType` | string | No | Content type for the email body: "text" for plain text or "html" for HTML content |
| `cc` | string | No | Carbon copy recipient email address |
| `bcc` | string | No | Blind carbon copy recipient email address |
| `replyTo` | string | No | Reply-to email address |
| `scheduledAt` | string | No | Schedule email to be sent later in ISO 8601 format |
| `tags` | string | No | Comma-separated key:value pairs for email tags \(e.g., "category:welcome,type:onboarding"\) |
| `resendApiKey` | string | Yes | Resend API key for sending emails |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Whether the email was sent successfully |
| `id` | string | Email ID returned by Resend |
| `to` | string | Recipient email address |
| `subject` | string | Email subject |
| `body` | string | Email body content |

### `resend_get_email`

Retrieve details of a previously sent email by its ID

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `emailId` | string | Yes | The ID of the email to retrieve |
| `resendApiKey` | string | Yes | Resend API key |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `id` | string | Email ID |
| `from` | string | Sender email address |
| `to` | array | Recipient email addresses |
| `subject` | string | Email subject |
| `html` | string | HTML email content |
| `text` | string | Plain text email content |
| `cc` | array | CC email addresses |
| `bcc` | array | BCC email addresses |
| `replyTo` | array | Reply-to email addresses |
| `lastEvent` | string | Last event status \(e.g., delivered, bounced\) |
| `createdAt` | string | Email creation timestamp |
| `scheduledAt` | string | Scheduled send timestamp |
| `tags` | array | Email tags as name-value pairs |
|   ↳ `name` | string | Tag name |
|   ↳ `value` | string | Tag value |

### `resend_create_contact`

Create a new contact in Resend

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `email` | string | Yes | Email address of the contact |
| `firstName` | string | No | First name of the contact |
| `lastName` | string | No | Last name of the contact |
| `unsubscribed` | boolean | No | Whether the contact is unsubscribed from all broadcasts |
| `resendApiKey` | string | Yes | Resend API key |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `id` | string | Created contact ID |

### `resend_list_contacts`

List all contacts in Resend

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `resendApiKey` | string | Yes | Resend API key |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `contacts` | array | Array of contacts |
|   ↳ `id` | string | Contact ID |
|   ↳ `email` | string | Contact email address |
|   ↳ `first_name` | string | Contact first name |
|   ↳ `last_name` | string | Contact last name |
|   ↳ `created_at` | string | Contact creation timestamp |
|   ↳ `unsubscribed` | boolean | Whether the contact is unsubscribed |
| `hasMore` | boolean | Whether there are more contacts to retrieve |

### `resend_get_contact`

Retrieve details of a contact by ID or email

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `contactId` | string | Yes | The contact ID or email address to retrieve |
| `resendApiKey` | string | Yes | Resend API key |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `id` | string | Contact ID |
| `email` | string | Contact email address |
| `firstName` | string | Contact first name |
| `lastName` | string | Contact last name |
| `createdAt` | string | Contact creation timestamp |
| `unsubscribed` | boolean | Whether the contact is unsubscribed |

### `resend_update_contact`

Update an existing contact in Resend

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `contactId` | string | Yes | The contact ID or email address to update |
| `firstName` | string | No | Updated first name |
| `lastName` | string | No | Updated last name |
| `unsubscribed` | boolean | No | Whether the contact should be unsubscribed from all broadcasts |
| `resendApiKey` | string | Yes | Resend API key |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `id` | string | Updated contact ID |

### `resend_delete_contact`

Delete a contact from Resend by ID or email

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `contactId` | string | Yes | The contact ID or email address to delete |
| `resendApiKey` | string | Yes | Resend API key |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `id` | string | Deleted contact ID |
| `deleted` | boolean | Whether the contact was successfully deleted |

### `resend_list_domains`

List all verified domains in your Resend account

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `resendApiKey` | string | Yes | Resend API key |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `domains` | array | Array of domains |
|   ↳ `id` | string | Domain ID |
|   ↳ `name` | string | Domain name |
|   ↳ `status` | string | Domain verification status |
|   ↳ `region` | string | Region the domain is configured in |
|   ↳ `createdAt` | string | Domain creation timestamp |
| `hasMore` | boolean | Whether there are more domains to retrieve |



## Triggers

A **Trigger** is a block that starts a workflow when an event happens in this service.

### Resend Email Bounced

Trigger workflow when an email bounces

#### Configuration

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Yes | Required to create the webhook in Resend. |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `type` | string | Event type \(e.g., email.sent, email.delivered\) |
| `created_at` | string | Webhook event creation timestamp \(ISO 8601\), top-level `created_at` |
| `data_created_at` | string | Email record timestamp from payload `data.created_at` \(ISO 8601\), when present — distinct from top-level `created_at` |
| `email_id` | string | Unique email identifier |
| `broadcast_id` | string | Broadcast ID associated with the email, when sent as part of a broadcast |
| `template_id` | string | Template ID used to send the email, when applicable |
| `tags` | json | Tag key/value metadata attached to the email \(payload `data.tags`\) |
| `from` | string | Sender email address |
| `subject` | string | Email subject line |
| `to` | json | Array of recipient email addresses |
| `data` | json | Raw event `data` from Resend \(shape varies by event type: email, contact, domain, etc.\) |
| `bounceType` | string | Bounce type \(e.g., Permanent\) |
| `bounceSubType` | string | Bounce sub-type \(e.g., Suppressed\) |
| `bounceMessage` | string | Bounce error message |


---

### Resend Email Clicked

Trigger workflow when a link in an email is clicked

#### Configuration

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Yes | Required to create the webhook in Resend. |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `type` | string | Event type \(e.g., email.sent, email.delivered\) |
| `created_at` | string | Webhook event creation timestamp \(ISO 8601\), top-level `created_at` |
| `data_created_at` | string | Email record timestamp from payload `data.created_at` \(ISO 8601\), when present — distinct from top-level `created_at` |
| `email_id` | string | Unique email identifier |
| `broadcast_id` | string | Broadcast ID associated with the email, when sent as part of a broadcast |
| `template_id` | string | Template ID used to send the email, when applicable |
| `tags` | json | Tag key/value metadata attached to the email \(payload `data.tags`\) |
| `from` | string | Sender email address |
| `subject` | string | Email subject line |
| `to` | json | Array of recipient email addresses |
| `data` | json | Raw event `data` from Resend \(shape varies by event type: email, contact, domain, etc.\) |
| `clickIpAddress` | string | IP address of the click |
| `clickLink` | string | URL that was clicked |
| `clickTimestamp` | string | Click timestamp \(ISO 8601\) |
| `clickUserAgent` | string | Browser user agent string |


---

### Resend Email Complained

Trigger workflow when an email is marked as spam

#### Configuration

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Yes | Required to create the webhook in Resend. |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `type` | string | Event type \(e.g., email.sent, email.delivered\) |
| `created_at` | string | Webhook event creation timestamp \(ISO 8601\), top-level `created_at` |
| `data_created_at` | string | Email record timestamp from payload `data.created_at` \(ISO 8601\), when present — distinct from top-level `created_at` |
| `email_id` | string | Unique email identifier |
| `broadcast_id` | string | Broadcast ID associated with the email, when sent as part of a broadcast |
| `template_id` | string | Template ID used to send the email, when applicable |
| `tags` | json | Tag key/value metadata attached to the email \(payload `data.tags`\) |
| `from` | string | Sender email address |
| `subject` | string | Email subject line |
| `to` | json | Array of recipient email addresses |
| `data` | json | Raw event `data` from Resend \(shape varies by event type: email, contact, domain, etc.\) |


---

### Resend Email Delivered

Trigger workflow when an email is delivered

#### Configuration

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Yes | Required to create the webhook in Resend. |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `type` | string | Event type \(e.g., email.sent, email.delivered\) |
| `created_at` | string | Webhook event creation timestamp \(ISO 8601\), top-level `created_at` |
| `data_created_at` | string | Email record timestamp from payload `data.created_at` \(ISO 8601\), when present — distinct from top-level `created_at` |
| `email_id` | string | Unique email identifier |
| `broadcast_id` | string | Broadcast ID associated with the email, when sent as part of a broadcast |
| `template_id` | string | Template ID used to send the email, when applicable |
| `tags` | json | Tag key/value metadata attached to the email \(payload `data.tags`\) |
| `from` | string | Sender email address |
| `subject` | string | Email subject line |
| `to` | json | Array of recipient email addresses |
| `data` | json | Raw event `data` from Resend \(shape varies by event type: email, contact, domain, etc.\) |


---

### Resend Email Failed

Trigger workflow when an email fails to send

#### Configuration

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Yes | Required to create the webhook in Resend. |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `type` | string | Event type \(e.g., email.sent, email.delivered\) |
| `created_at` | string | Webhook event creation timestamp \(ISO 8601\), top-level `created_at` |
| `data_created_at` | string | Email record timestamp from payload `data.created_at` \(ISO 8601\), when present — distinct from top-level `created_at` |
| `email_id` | string | Unique email identifier |
| `broadcast_id` | string | Broadcast ID associated with the email, when sent as part of a broadcast |
| `template_id` | string | Template ID used to send the email, when applicable |
| `tags` | json | Tag key/value metadata attached to the email \(payload `data.tags`\) |
| `from` | string | Sender email address |
| `subject` | string | Email subject line |
| `to` | json | Array of recipient email addresses |
| `data` | json | Raw event `data` from Resend \(shape varies by event type: email, contact, domain, etc.\) |


---

### Resend Email Opened

Trigger workflow when an email is opened

#### Configuration

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Yes | Required to create the webhook in Resend. |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `type` | string | Event type \(e.g., email.sent, email.delivered\) |
| `created_at` | string | Webhook event creation timestamp \(ISO 8601\), top-level `created_at` |
| `data_created_at` | string | Email record timestamp from payload `data.created_at` \(ISO 8601\), when present — distinct from top-level `created_at` |
| `email_id` | string | Unique email identifier |
| `broadcast_id` | string | Broadcast ID associated with the email, when sent as part of a broadcast |
| `template_id` | string | Template ID used to send the email, when applicable |
| `tags` | json | Tag key/value metadata attached to the email \(payload `data.tags`\) |
| `from` | string | Sender email address |
| `subject` | string | Email subject line |
| `to` | json | Array of recipient email addresses |
| `data` | json | Raw event `data` from Resend \(shape varies by event type: email, contact, domain, etc.\) |


---

### Resend Email Sent

Trigger workflow when an email is sent

#### Configuration

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Yes | Required to create the webhook in Resend. |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `type` | string | Event type \(e.g., email.sent, email.delivered\) |
| `created_at` | string | Webhook event creation timestamp \(ISO 8601\), top-level `created_at` |
| `data_created_at` | string | Email record timestamp from payload `data.created_at` \(ISO 8601\), when present — distinct from top-level `created_at` |
| `email_id` | string | Unique email identifier |
| `broadcast_id` | string | Broadcast ID associated with the email, when sent as part of a broadcast |
| `template_id` | string | Template ID used to send the email, when applicable |
| `tags` | json | Tag key/value metadata attached to the email \(payload `data.tags`\) |
| `from` | string | Sender email address |
| `subject` | string | Email subject line |
| `to` | json | Array of recipient email addresses |
| `data` | json | Raw event `data` from Resend \(shape varies by event type: email, contact, domain, etc.\) |


---

### Resend Webhook (All Events)

Trigger on Resend webhook events we subscribe to (email lifecycle, contacts, domains—see Resend docs). Flattened email fields may be null for non-email events; use <code>data</code> for the full payload.

#### Configuration

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Yes | Required to create the webhook in Resend. |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `type` | string | Event type \(e.g., email.sent, email.delivered\) |
| `created_at` | string | Webhook event creation timestamp \(ISO 8601\), top-level `created_at` |
| `data_created_at` | string | Email record timestamp from payload `data.created_at` \(ISO 8601\), when present — distinct from top-level `created_at` |
| `email_id` | string | Unique email identifier |
| `broadcast_id` | string | Broadcast ID associated with the email, when sent as part of a broadcast |
| `template_id` | string | Template ID used to send the email, when applicable |
| `tags` | json | Tag key/value metadata attached to the email \(payload `data.tags`\) |
| `from` | string | Sender email address |
| `subject` | string | Email subject line |
| `to` | json | Array of recipient email addresses |
| `data` | json | Raw event `data` from Resend \(shape varies by event type: email, contact, domain, etc.\) |
| `bounceType` | string | Bounce type \(e.g., Permanent\) |
| `bounceSubType` | string | Bounce sub-type \(e.g., Suppressed\) |
| `bounceMessage` | string | Bounce error message |
| `clickIpAddress` | string | IP address of the click |
| `clickLink` | string | URL that was clicked |
| `clickTimestamp` | string | Click timestamp \(ISO 8601\) |
| `clickUserAgent` | string | Browser user agent string |

