Resend logo

Integrate Resend with your AI CRM

The universal API for sending emails.

Explore Triggers and Actions

Add Contact To Segment

Add an existing contact to a segment in Resend. Use when you need to organize contacts into specific segments for targeted communication.

ActionTry it

Batch Add Suppressions

Add between 1 and 100 Resend suppressions to prevent sending to those emails.

ActionTry it

Batch Remove Suppressions

Remove 1–100 Resend suppressions by email addresses or suppression IDs, but not both.

ActionTry it

Cancel Broadcast

Cancel a queued or scheduled broadcast. Canceling a queued broadcast stops it mid-send: emails already sent are not affected, but no further emails will go out.

ActionTry it

Cancel Email

Cancel a scheduled email.

ActionTry it

Create API Key

Create a new API key to authenticate communications with Resend. Use when you need to generate a new authentication token for API access.

ActionTry it

Create Audience

Create a segment using the legacy audience action and response shape.

ActionTry it

Create Automation

Create a Resend automation from workflow steps and connections. Use when defining a new automation with at least one trigger step. The automation is disabled by default; set status to enabled to enable it on creation.

ActionTry it

Create Contact

Create a global contact and add it to the segment identified by audienceId.

ActionTry it

Create Contact Import

Create a contact import from a CSV file, optionally mapping columns and applying segments and topic subscriptions.

ActionTry it

Create Contact Property

Tool to create a new contact property in Resend. Use when you need to define custom fields for contacts.

ActionTry it

Create Contact V2

Tool to create a new contact in Resend. Use when you need to add a contact to Resend without specifying an audience.

ActionTry it

Create Domain

Create a domain through the Resend Email API. The domain is created in a pending/unverified state and cannot be used for sending emails until DNS verification is completed.

ActionTry it

Create Domain Claim

Start a claim for a domain another Resend account has already verified. Recreates the domain under your account with fresh DKIM keys; the previous account's DNS records cannot be reused. Add the returned TXT record to DNS to prove ownership. An identical pending claim is returned unchanged.

ActionTry it

Create Draft Broadcast

Create a broadcast and leave it as an unsent draft. Use when you want to stage a campaign for review; this action never sends or schedules the broadcast, so a separate send step is always required.

ActionTry it

Create Event

Create a Resend event definition, optionally with a typed payload schema. Use when registering a custom event for automations; this does not emit an event. Event names cannot start with the reserved resend: prefix.

ActionTry it

Create Segment

Create a new segment for contacts to be added to. Use when you need a fresh list of contacts to target; segments are the modern replacement for audiences.

ActionTry it

Create Suppression

Create a Resend suppression for an email address to prevent sending to it.

ActionTry it

Create Template

Tool to create a new email template in Resend. Use when you need to define reusable email templates with optional variables.

ActionTry it

Create Topic

Tool to create a new topic to segment your audience. Use when you need to create a topic for organizing contacts by interests or preferences.

ActionTry it

Create Webhook

Tool to create a webhook to receive real-time notifications about email events. Use when you need to set up automated notifications for email status changes.

ActionTry it

Delete API Key

Remove an existing API key from Resend. Use when you need to revoke or delete an API key.

ActionTry it

Delete Audience

Remove a segment using the legacy audience action and response shape.

ActionTry it

Delete Automation

Remove an existing automation from Resend using its automation ID.

ActionTry it

Delete Broadcast

Remove an existing broadcast that is in draft status. Use this action to delete a draft broadcast from Resend.

ActionTry it

Delete Contact

Remove a contact from the segment identified by audienceId, preserving the global contact. Uses the replacement segment-membership API so a legacy audience-scoped deletion does not also remove the contact from unrelated segments.

ActionTry it

Delete Contact By ID

Tool to remove an existing contact by its ID. Use when you need to delete a contact directly without specifying an audience.

ActionTry it

Delete Contact Property

Remove an existing contact property from Resend.

ActionTry it

Delete Domain

Delete a domain through the Resend Email API. Deletion is irreversible; ensure no active email traffic or DNS configurations depend on the domain before calling.

ActionTry it

Delete Event

Delete an existing Resend event using its event ID (UUID) or event name.

ActionTry it

Delete Segment

Remove an existing segment. Use when you need to permanently delete a segment by its ID.

ActionTry it

Delete Suppression

Remove a Resend suppression using its suppression ID or email address.

ActionTry it

Delete Template

Remove an existing template. Use this action when you need to delete a template from Resend.

ActionTry it

Delete Topic

Delete an existing Resend topic by its topic ID. OAuth connections require the full_access scope.

ActionTry it

Delete Webhook

Remove an existing webhook by ID. Use this to delete a webhook configuration when you no longer need to receive event notifications at that endpoint.

ActionTry it

Duplicate Automation

Duplicate an existing automation by its ID and return the new automation's ID.

ActionTry it

Duplicate Broadcast

Create a new draft broadcast from an existing broadcast. Copies the segment, topic, sender, subject, reply-to, preview text, and content. The copy is named after the source with " (copy)" appended, truncated to 70 characters.

ActionTry it

Duplicate Template

Duplicate an existing template through the Resend Email API. Use when you need to create a copy of an existing template.

ActionTry it

Get Automation

Retrieve a Resend automation by ID, including its active workflow steps and connections.

ActionTry it

Get Automation Run

Retrieve a Resend automation run by automation and run IDs, including its status and step executions in graph order.

ActionTry it

Get Broadcast

Retrieve a single broadcast by its ID. Use when you need to read back a broadcast's content, recipient segment, schedule and status before sending it.

ActionTry it

Get Contact

Tool to retrieve a single contact from Resend by ID or email. Use when you need to get details of a specific contact using the global contacts endpoint.

ActionTry it

Get Contact Import

Retrieve a contact import by ID to check its status, timestamps, and processed row counts.

ActionTry it

Get Contact Property

Tool to retrieve a single contact property from Resend. Use when you need to get details about a specific contact property by its ID.

ActionTry it

Get Domain Claim

Retrieve the latest claim for a placeholder domain created by a claim. Returns the claim status, ownership-verification TXT record, and blocking or failure reasons. Supply the placeholder domain ID, not the claim ID.

ActionTry it

Get Email Attachment

Retrieve a single attachment from a sent email. Use when you need to access attachment metadata and download URL.

ActionTry it

Get Email Metrics

Retrieve account-level email metrics over a date range, with optional filters and dimension breakdowns. Use to analyze delivery, engagement, and rates; without dimensions the response contains totals only.

ActionTry it

Get Event

Retrieve a Resend event definition by UUID or event name. Use to inspect an event's payload schema and creation/update timestamps.

ActionTry it

Get Log

Retrieve a single Resend API log by its ID. Use to inspect a request's endpoint, method, status, and request/response bodies.

ActionTry it

Get Received Email

Retrieve a single received email by ID, including its content, headers, recipients, and attachment metadata. Use for an inbound email, not a sent email.

ActionTry it

Get Received Email Attachment

Retrieve a single attachment from a received email, including its metadata and signed download URL. Use for an inbound email's attachment.

ActionTry it

Get Segment

Retrieve a single segment by its ID. Use when you need to get detailed information about a specific segment.

ActionTry it

Get Suppression

Retrieve a Resend suppression by ID or email address. Use to inspect a suppressed address, its origin, source event, and creation time.

ActionTry it

Get Template

Retrieve a single template by ID or alias from Resend. Use when you need to view template details.

ActionTry it

Get Topic

Tool to retrieve a single topic by its ID in Resend. Use when you need to fetch details of a specific topic.

ActionTry it

Get Usage

Retrieve the account's current usage and plan limits for emails, contacts, segments, broadcasts, AI credits, automation runs, domains, and API requests. Use to check quota consumption and reset times.

ActionTry it

Get Webhook

Retrieve a single webhook for the authenticated user. Use this to get details about a specific webhook configuration including its endpoint, subscribed events, and signing secret.

ActionTry it

Get Webhook Event

Retrieve a single webhook event by webhook ID and event ID. Use to inspect its delivery status, next scheduled attempt, and event payload.

ActionTry it

List All Contacts

Tool to retrieve a list of all contacts from Resend. Use when you need to fetch contacts across all audiences with optional pagination, or only the contacts of a single segment by passing segment_id.

ActionTry it

List API Keys

Tool to retrieve a list of API keys for the authenticated user. Use when you need to view all API keys associated with the account, including pagination support for large result sets.

ActionTry it

List Audiences

List segments using the legacy audience action and response shape.

ActionTry it

List Automation Runs

Retrieve a page of runs for a Resend automation. Use to review run IDs, statuses, and timestamps, optionally filtering by comma-separated statuses. Use limit and cursor parameters to paginate through results.

ActionTry it

List Automations

Retrieve a page of Resend automations. Use to find automation IDs and review names, statuses, and timestamps, optionally filtering by enabled or disabled status. Use limit and cursor parameters to paginate through results.

ActionTry it

List Broadcast Clicked Links

Retrieve one page of a broadcast's clicked URLs and total and unique click counts. Use to inspect link engagement for a broadcast. Supports cursor pagination; each returned row ID is an opaque pagination cursor, not a Resend entity ID.

ActionTry it

List Broadcast Recipients

Retrieve a page of broadcast recipients filtered by a required event type. Use to inspect who received, opened, clicked, bounced, or otherwise interacted with a broadcast. Supports email substring filtering and cursor pagination.

ActionTry it

List Broadcasts

Tool to retrieve a list of broadcasts. Use when you need to fetch all broadcasts or paginate through them.

ActionTry it

List Contact Imports

Retrieve a page of Resend contact imports, optionally filtered by status. Use to monitor import jobs and their row counts. Follow has_more with after or before cursors to retrieve additional pages.

ActionTry it

List Contact Properties

Tool to retrieve a list of contact properties from Resend. Use when you need to view available contact property definitions.

ActionTry it

List Contact Segments

Retrieve a list of segments that a contact is part of. Use when you need to determine which segments a specific contact belongs to.

ActionTry it

List Contact Topics

Retrieve a list of topic subscriptions for a contact in Resend. Use when you need to check which topics a specific contact is subscribed to.

ActionTry it

List Contacts

List contacts belonging to the segment identified by the legacy audienceId parameter.

ActionTry it

List Domains

List all domains. Use the returned domain IDs as inputs for tools like RESEND_VERIFY_DOMAIN that require a domain_id.

ActionTry it

List Email Attachments

Tool to retrieve a list of attachments from a sent email. Use when you need to get information about files attached to an email sent via Resend.

ActionTry it

List Emails

Tool to retrieve a list of emails sent by your team. Use when you need to fetch outbound emails from your account. Supports pagination with limit, after, and before parameters.

ActionTry it

List Events

Retrieve a page of Resend event definitions and their payload schemas. Use when discovering events available for automations, with optional cursor pagination. This lists event definitions, not emitted event occurrences.

ActionTry it

List Logs

Retrieve a page of Resend API request logs with optional cursor pagination. Use to inspect called endpoints, HTTP methods, response status codes, and user agents when investigating API activity.

ActionTry it

List Received Email Attachments

Retrieve a paginated list of attachments for a received email, including metadata and signed download URLs. Use for an inbound email's attachments.

ActionTry it

List Received Emails

Tool to retrieve a list of received emails for the authenticated user. Use when you need to fetch incoming emails from the receiving endpoint.

ActionTry it

List Segments

Retrieve a page of Resend segments for audience management. Use the after or before cursor to paginate through available segments.

ActionTry it

List Suppressions

Retrieve a page of suppressed email addresses from Resend, optionally filtered by bounce, complaint, or manual origin. Use after or before cursors to paginate results.

ActionTry it

List Templates

Tool to retrieve a list of templates from Resend. Use when you need to get all available templates with optional pagination support.

ActionTry it

List Topics

Tool to retrieve a list of topics for the authenticated user. Use when you need to fetch available topics with optional pagination support.

ActionTry it

List Webhook Event Attempts

Retrieve a page of delivery attempts for an event on a Resend webhook, including HTTP status codes, response bodies, and send timestamps. Use when diagnosing webhook delivery failures. Pass the last attempt's cursor as after to retrieve another page when has_more is true.

ActionTry it

List Webhook Events

Retrieve a page of events for a Resend webhook, including delivery status. Use when inspecting webhook deliveries. Pass the last event's cursor as after to retrieve another page when has_more is true.

ActionTry it

List Webhooks

Retrieve a list of webhooks for the authenticated user. Use this to view all configured webhooks with their endpoints, event types, and status.

ActionTry it

Publish Template

Publish a template through the Resend Email API. Use when you need to make a template publicly available.

ActionTry it

Remove Contact From Segment

Remove an existing contact from a segment. Use when you need to disassociate a contact from a specific segment.

ActionTry it

Replay Webhook Event

Queue one more delivery of an event to an enabled webhook. The event must be retrievable through Get Webhook Event. A disabled webhook returns a 422 validation_error. A manual replay does not schedule automatic retries; a successful response means delivery was queued, not completed.

ActionTry it

Retrieve Audience

Retrieve a segment using the legacy audience action and response shape.

ActionTry it

Retrieve Contact

Retrieve a global contact by ID. The legacy audienceId input is retained for compatibility.

ActionTry it

Retrieve Domain

Retrieve a single domain.

ActionTry it

Retrieve Email

Retrieve a single email.

ActionTry it

Send Batch Emails

Trigger up to 100 batch emails at once. Use when you need to send multiple emails in a single API request.

ActionTry it

Send Broadcast

Send an existing Resend broadcast immediately or schedule it for a later ISO 8601 date. Use after creating and preparing the broadcast for delivery to its recipients.

ActionTry it

Send Email

Send an email using Resend. Confirm recipients and content with the user before invoking — sends are irreversible. All recipients must be listed explicitly via `to`, `cc`, or `bcc`; audience-based sending is unsupported. Render HTML or plain text externally before passing via `html` or `text`.

ActionTry it

Send Event

Send an event associated with a contact ID or email, with an optional payload. Triggers matching enabled automations, which can send emails or modify contacts according to their configured steps.

ActionTry it

Share Email

Create a shareable link for a sent or received Resend email. Use its email ID and optionally set a link lifetime of up to 48 hours; omitted expiry defaults to 48 hours.

ActionTry it

Stop Automation

Stop an automation by its ID and return its status after stopping.

ActionTry it

Update Automation

Update a Resend automation's name, status, or workflow graph. Use for an existing automation; supply at least one update. To replace the workflow graph, provide both steps and connections together.

ActionTry it

Update Broadcast

Update an existing broadcast in Resend. Use when you need to modify broadcast details like name, subject, content, or recipients.

ActionTry it

Update Contact

Tool to update an existing contact in Resend by ID or email. Use when you need to modify contact details such as name or subscription status.

ActionTry it

Update Contact Property

Update an existing contact property in Resend. Only the fallback_value can be updated; the key and type fields cannot be changed after creation.

ActionTry it

Update Contact Topics

Update topic subscriptions for a Resend contact by ID or email address. Use to opt a contact in to or out of specific topics.

ActionTry it

Update Domain

Update an existing domain's click tracking, open tracking, and TLS settings. Omitted settings are sent as disabled tracking and opportunistic TLS.

ActionTry it

Update Draft Broadcast

Update a broadcast that is still an unsent draft. Use when you need to revise a staged campaign; the broadcast is read back first and the update is refused unless its status is 'draft' and it has no scheduled send time.

ActionTry it

Update Email

Update the scheduled send time of a scheduled email by ID.

ActionTry it

Update Event

Update a Resend event definition's payload schema by UUID or event name. Supply a flat key/type map to replace the schema, or null to clear it. This updates the event definition; it does not emit an event.

ActionTry it

Update Segment

Update an existing segment in Resend. Use when you need to rename a segment identified by its Segment ID.

ActionTry it

Update Template

Tool to update an existing email template in Resend. Use when you need to modify template properties such as name, subject, HTML content, or variables.

ActionTry it

Update Topic

Tool to update an existing topic in Resend. Use when you need to modify the name of a topic.

ActionTry it

Update Webhook

Tool to update an existing webhook configuration. Use when you need to modify the endpoint URL, change event subscriptions, or enable/disable a webhook.

ActionTry it

Verify Domain

Verify a domain through the Resend Email API. DNS records must fully propagate before verification succeeds; avoid immediate retries after DNS setup.

ActionTry it

Verify Domain Claim

Trigger asynchronous DNS verification and ownership transfer for a domain claim. Add the claim's TXT record to DNS first. Supply the placeholder domain ID, not the claim ID. The claim stays pending while verification runs; poll RESEND_GET_DOMAIN_CLAIM for status. Once completed, add the transferred domain's new DKIM records to DNS and verify them with RESEND_VERIFY_DOMAIN.

ActionTry it

How the Resend integration works

The Resend integration connects your Dench AI CRM directly to Resend, so agents can read and act on your Resend data as part of everyday work — answering questions in chat, keeping your CRM in sync, and running automations without anyone copying data between tools.

113 actions are available for agents to invoke on your behalf. Every call runs through Resend's own authorization, scoped to the account you connect.

Set up Resend in Dench

  1. 1

    Sign in to your Dench workspace and open Integrations.

  2. 2

    Find Resend and click Connect — you'll authorize access through Resend's own sign-in flow. No API keys or code required.

  3. 3

    Ask an agent to use Resend in chat, or call it from an automation.

  4. 4

    Manage or disconnect the connection any time from workspace settings.

Frequently asked questions

How does the Resend integration work with Dench?

The Dench Resend integration connects your AI CRM to Resend, so AI agents can work with your Resend data as part of chats, automations, and CRM workflows. You connect your account once, and every agent in your workspace can use it — governed by your workspace permissions.

What actions can AI agents perform with Resend via Dench?

The Resend integration currently exposes 113 actions, including Add Contact To Segment, Batch Add Suppressions, Batch Remove Suppressions, Cancel Broadcast, Cancel Email, and Create API Key. Agents invoke them on your behalf from chat or from automations.

Do I need to write code to connect Resend to Dench?

No. You connect Resend from your Dench workspace using Resend's own sign-in and authorization flow — no API keys to copy, no glue code to maintain.

Is the Resend integration secure?

Connections are authorized through Resend's own authentication flow, and Dench stores only the authorization needed to act on your behalf. You can review and disconnect the Resend connection from your workspace settings at any time.

Resend | Dench AI CRM