contact.created
Fires when a new contact is added to your audience. Use this to track new subscribers or sync contacts with external systems.
Resend
17 triggers and 67 actions for Resend workflows.
Each trigger lists the event it fires on, the data it sends, and a template you can use it in.
Real-time push from the source.
contact.created
Fires when a new contact is added to your audience. Use this to track new subscribers or sync contacts with external systems.
email.bounced
Fires when an email bounces permanently because the recipient's address is invalid or no longer exists. Use this to clean up invalid contacts from your mailing lists.
email.clicked
Fires when a recipient clicks a link in your email. Use this to track engagement and identify interested users.
email.complained
Fires when a recipient marks your email as spam or complains to their email provider. Use this to remove complainers from your mailing list to protect your sender reputation.
email.delivered
Fires when an email successfully reaches the recipient's mail server. Use this to confirm delivery and update your email status tracking.
email.failed
Fires when an email fails to send due to an error. Use this to identify and log failed sends for troubleshooting and retry logic.
email.opened
Fires when a recipient opens your email. Use this to track email engagement and measure campaign effectiveness.
email.sent
Fires when an email is sent from your account. Use this to log outgoing messages and track sending activity.
contact.deleted
Fires when a contact is removed from your audience. Use this to maintain audience synchronization across your tools.
contact.updated
Fires when a contact's information is modified. Use this to keep contact details in sync with your CRM or database.
domain.created
Fires when a new sending domain is added to your Resend account. Use this to track and log newly verified domains for email sending.
domain.deleted
Fires when a sending domain is removed from your Resend account. Use this to clean up configurations or records associated with that domain.
domain.updated
Fires when an existing domain's settings or verification status changes. Use this to sync domain configuration updates with your systems.
email.delivery_delayed
Fires when an email is temporarily delayed and hasn't been delivered yet. Use this to monitor delivery issues and alert users to potential delivery problems.
email.received
Fires when an email is received at one of your domains through Resend's inbound processing. Use this to process incoming emails and route them to the appropriate handlers.
email.scheduled
Fires when an email is scheduled for future delivery. Use this to log scheduled sends and track campaign timing.
email.suppressed
Fires when an email is suppressed and not sent due to the recipient being on a suppression list. Use this to understand why certain emails weren't delivered.
Operations are the actions a workflow can take in Resend, grouped by category. Each lists its method, parameters, and a template you can drop it into.
Manage authentication credentials for programmatic access to the Resend API. Use these operations to create new keys for applications, view existing keys, and revoke access when keys are no longer needed.
Create a new API key
/api-keysGenerate a new authentication key for accessing the Resend API, with options to restrict access to sending-only operations or specific domains. The key is displayed only once upon creation, so you'll need to store it securely.
Delete an API key
/api-keys/{api_key_id}Permanently revoke an API key to prevent it from being used for authentication. Use this when you need to rotate credentials, disable access for a service, or enhance security after a potential breach.
List all API keys
/api-keysView all API keys associated with your Resend account to manage and monitor your active credentials. This helps you maintain security by identifying which keys are in use and their configurations.
These operations are deprecated and no longer recommended for use in new workflows. Legacy functionality for managing subscriber groups has been replaced by more modern contact and segment management features.
Create a new audience (deprecated)
/audiencesCreate a named audience to group contacts together for targeted email campaigns and broadcasts. This operation allows you to organize your contact list into segments for more focused communication.
Delete an audience (deprecated)
/audiences/{id}Permanently remove an audience from your email system while keeping the contacts themselves intact. This operation is deprecated and segments should be used instead for new implementations.
Get an audience by ID (deprecated)
/audiences/{id}Retrieves the details of a specific audience including its name, creation date, and contact count. Note: This endpoint is deprecated and Segments should be used instead for new implementations.
List all audiences (deprecated)
/audiencesRetrieve all audience groups in your account to view existing contact lists and their sizes. This endpoint is deprecated and replaced by Segments for better contact management.
Send large-scale email campaigns to your audience with scheduling and management capabilities. Use these operations to create broadcasts, schedule or immediately send them, track performance, and make updates before delivery.
Create a new broadcast
/broadcastsCreate a draft broadcast to send newsletters, announcements, or marketing campaigns to your contacts. Once created, you can customize the content and schedule it for delivery at the optimal time.
Send or schedule a broadcast
/broadcasts/{id}/sendSend a finalized broadcast email campaign to your target audience immediately or schedule it for a specific time in the future. Once sent, the campaign cannot be modified, so use this when everything is ready for delivery.
Delete a draft broadcast
/broadcasts/{id}Permanently remove a broadcast that hasn't been sent yet, allowing you to clean up cancelled or experimental email campaigns from your account.
Get a broadcast by ID
/broadcasts/{id}Retrieve detailed information about a specific broadcast campaign, including its content, audience, delivery status, and performance metrics to track campaign success and results.
List all broadcasts
/broadcastsRetrieve a complete list of all your email broadcasts across all statuses (drafts, scheduled, sent, and completed) to review campaign history and check delivery performance.
Update an existing broadcast
/broadcasts/{id}Modify a draft broadcast's content, subject line, target audience, or other settings before sending out your email campaign.
Define and manage custom attributes that describe your contacts beyond standard fields like email and name. Build rich contact profiles by creating properties, updating their definitions, and organizing them for segmentation and personalization.
Create a new contact property
/contact-propertiesCreate custom fields to store additional information about your contacts, such as company details, subscription tier, or customer source, enabling better segmentation and personalization of your email campaigns.
Delete a contact property
/contact-properties/{id}Permanently remove a custom contact property from your email system, deleting any associated values stored on your contacts. Use this to clean up properties that are no longer relevant to your business.
Get a contact property by ID
/contact-properties/{id}Retrieve the complete details of a specific custom contact property to verify its configuration and understand how it's being used in your email campaigns and segments.
List all contact properties
/contact-propertiesRetrieve all custom contact properties you've defined in your account to understand your contact data structure and find property identifiers for use in automations and segmentation.
Update a contact property
/contact-properties/{id}Modify an existing contact property's name or configuration to keep your contact data structure up-to-date as your business needs evolve.
Maintain your complete subscriber database with full CRUD capabilities and relationship management. Handle individual contact creation, updates, deletions, and organize contacts into segments and topics for targeted communication.
Create a new contact
/contactsAdd a new contact to your mailing list with their email address and optional information like name and custom details. Use this to grow your subscriber base from signups, imports, or other sources.
List all contacts
/contactsRetrieve your complete list of contacts with optional filtering by segment to view and manage your mailing list subscribers.
Add a contact to a segment
/contacts/{contact_id}/segments/{segment_id}Manually assign a contact to a specific segment so they'll receive targeted broadcasts and communications intended for that group. This lets you organize your audience based on their behavior, preferences, or data from other systems.
Delete a contact by ID or email
/contacts/{id}Permanently remove a contact from your email list and all associated segments, preventing them from receiving future broadcasts. Use this to manage unsubscribe requests, remove bounced emails, or maintain a clean contact database.
Get a contact by ID or email
/contacts/{id}Retrieve complete information about a specific contact using their ID or email address, including their name, subscription status, and any custom data you've stored about them.
List segments for a contact
/contacts/{contact_id}/segmentsRetrieve all segments (mailing lists or groups) that a specific contact belongs to, helping you understand how each contact is categorized in your email campaigns.
List topic preferences for a contact
/contacts/{contact_id}/topicsRetrieve which email topics a contact has subscribed to or unsubscribed from, enabling you to see their communication preferences at a glance.
Remove a contact from a segment
/contacts/{contact_id}/segments/{segment_id}Removes a contact from a specific segment so they stop receiving targeted messages to that group, while keeping their contact record intact.
Update a contact by ID or email
/contacts/{id}Update an existing contact's information including name, subscription status, or custom properties to keep your contact database current and accurate.
Update topic preferences for a contact
/contacts/{contact_id}/topicsUpdate a contact's topic subscription preferences to control which email categories or communications they receive. This lets you honor subscriber preferences, sync settings from other systems, or adjust subscriptions when contacts change their email settings.
Configure sending domains to establish your email identity and sender reputation. Verify domains, manage multiple sending addresses, and update domain settings to ensure deliverability and brand consistency.
Create a new sending domain
/domainsRegister a new domain to send emails through Resend, establishing a unique email identity for your brand after adding and verifying DNS records.
Delete a sending domain
/domains/{domain_id}Permanently remove a domain from your Resend account, preventing any future emails from being sent through it.
Get a domain by ID
/domains/{domain_id}Retrieve detailed information about a specific domain including its DNS records, verification status, and configuration to ensure it's properly set up for email sending.
List all sending domains
/domainsRetrieve all email domains registered in your Resend account to view their current status and configuration. Use this to manage your sending infrastructure and verify which domains are ready to send emails.
Update a sending domain
/domains/{domain_id}Modify your domain's configuration settings, such as enabling or disabling click and open tracking, without having to remove and recreate it.
Verify a sending domain
/domains/{domain_id}/verifyConfirm that your domain's DNS records are properly set up so you can start sending emails with it. Run this after you've added the required SPF, DKIM, and other DNS records to your domain.
Send individual emails with tracking, scheduling, and batch capabilities for both transactional and marketing use cases. Access sent email history, manage scheduled messages, retrieve attachments, and send up to 100 emails in a single batch request.
Send a batch of up to 100 emails
/emails/batchSend up to 100 emails at once with different recipients and content in a single request, making it efficient to reach multiple people simultaneously.
Send an email
/emailsSend transactional emails to customers triggered by specific actions, with support for HTML formatting, attachments, and scheduled delivery.
Cancel a scheduled email
/emails/{email_id}/cancelStop an email that's scheduled to send later, as long as it hasn't been delivered yet. Use this when you need to prevent a queued message from going out due to changed plans or updated information.
Get a sent email by ID
/emails/{email_id}Retrieve the complete details of a sent email including delivery status, recipients, subject, and content to verify if it was successfully delivered or opened.
Get a specific attachment from a sent email
/emails/{email_id}/attachments/{attachment_id}Retrieve a specific attachment from a sent email to access its content or metadata for record-keeping or verification purposes. This helps you manage and verify files you've shared with customers or clients.
List all sent emails
/emailsRetrieve a paginated list of all emails you've sent through Resend. Use this to monitor your sending activity, verify delivery status, and track email performance over time.
List attachments for a sent email
/emails/{email_id}/attachmentsRetrieve all attachments that were sent with a specific email, including file names and metadata. Use this to verify what files were delivered or audit the contents of sent messages.
Update a scheduled email
/emails/{email_id}Modify a scheduled email before it's sent, allowing you to update the content, recipient details, or send time of queued messages.
Monitor and retrieve inbound emails sent to your Resend-managed domains for two-way communication workflows. Access received messages, review attachments, and integrate inbound mail handling into your automation processes.
Get a received inbound email by ID
/emails/receiving/{email_id}Retrieve the complete details of a received inbound email, including sender information, subject, message body, and headers. Use this to access and process a specific incoming message for further action.
Get a specific attachment from a received email
/emails/receiving/{email_id}/attachments/{attachment_id}Retrieve and download a specific file attachment from an email your business received, enabling you to process documents sent by customers or partners.
List attachments for a received email
/emails/receiving/{email_id}/attachmentsRetrieves all attachments from an inbound email so you can access and process files that customers or partners have sent to your email address.
List received inbound emails
/emails/receivingRetrieve a paginated list of emails received at your Resend inbound address, allowing you to access incoming customer messages and automate email processing workflows.
Organize contacts into dynamic groups based on shared characteristics or behaviors for targeted campaigns. Create segments, manage membership, and delete groups as your contact list and communication strategies evolve.
Create a new contact segment
/segmentsCreate a named segment to organize your contacts into targeted groups that you can use for sending broadcasts and campaigns. This helps you manage and segment your audience for more personalized communication.
Delete a contact segment
/segments/{id}Remove an audience segment from your email list to clean up unused groups and streamline your contact management without deleting the contacts themselves.
Get a segment by ID
/segments/{id}Retrieve the complete details of a specific segment to see its name, number of contacts, and when it was created, helping you verify segment accuracy before sending campaigns.
List all contact segments
/segmentsRetrieve all segments from your account to view available audience groups and their sizes. This helps you identify which segments to use for targeted email campaigns or audience management.
Design and manage reusable email templates to maintain brand consistency and streamline campaign creation. Build template libraries, publish versions, duplicate designs, and keep templates updated without affecting previously sent emails.
Create a new email template
/templatesSave a reusable email template with HTML content and variable placeholders so you can send professionally designed emails repeatedly without rebuilding the layout each time.
List all email templates
/templatesRetrieve all email templates you've created in your account so you can see what's available, find the right template for a campaign, or review your template collection.
Delete an email template
/templates/{id}Permanently remove an email template from your account to keep your template library clean and organized. This is useful when you no longer need a template or want to replace it with an updated version.
Duplicate an email template
/templates/{id}/duplicateCreate a copy of an existing email template to quickly build new variations without starting from scratch. This helps you reuse proven designs and maintain consistency across different email campaigns.
Get an email template by ID
/templates/{id}Retrieve the complete details of a specific email template, including its HTML content, subject line, and dynamic variables. This lets you preview template structure or verify what information you need to populate before sending emails.
Publish an email template
/templates/{id}/publishActivate a draft email template so it can be used to send emails to your audience. This ensures templates are reviewed and approved before going live in your email campaigns.
Update an email template
/templates/{id}Update an existing email template's content, subject line, or properties to apply changes across all future emails sent with that template. Use this to maintain consistent branding, correct errors, or adapt your messaging without recreating templates from scratch.
Create preference centers and manage contact subscription preferences at a granular level beyond list opt-in and opt-out. Let subscribers choose which email topics they wish to receive for improved engagement and compliance with preference management.
Create a new email topic
/topicsCreate a topic for managing email preferences so your contacts can subscribe to or unsubscribe from specific types of emails. This lets you segment your audience based on their interests without manually managing separate lists.
Delete an email topic
/topics/{id}Permanently remove an email topic and clear all associated subscriber preferences. Use this when you no longer need a specific email category or are consolidating your subscription management structure.
Get a topic by ID
/topics/{id}Retrieve detailed information about a specific topic including its name, description, and current subscriber count to monitor your audience engagement and topic performance.
List all email topics
/topicsGet a complete list of all email preference topics in your account to understand your subscription categories or display them to contacts. This helps you manage what types of emails different subscribers want to receive.
Update an email topic
/topics/{id}Modify an existing email topic's name or description to keep your subscriber preference categories current and clearly communicate what content subscribers will receive.
Connect Resend events to external systems through real-time HTTP callbacks for event-driven automation. Configure endpoints to receive notifications about emails, bounces, and other system events, then create, update, or remove webhook receivers as needed.
Create a new webhook endpoint
/webhooksSet up a webhook endpoint to receive real-time notifications whenever email events occur, such as when emails are delivered, bounced, opened, or clicked.
Delete a webhook endpoint
/webhooks/{webhook_id}Permanently remove a webhook endpoint so it stops receiving email event notifications from Resend. Use this when you no longer need to monitor email delivery events or are switching to a different notification system.
Get a webhook endpoint by ID
/webhooks/{webhook_id}Retrieve detailed information about a specific webhook endpoint, including its URL, event subscriptions, and current status. Use this to verify your webhook configuration is correct and troubleshoot any delivery problems.
List all webhook endpoints
/webhooksView all webhook endpoints you've set up to receive email notifications and events. This helps you see which URLs are active and what data they're receiving.
Update a webhook endpoint
/webhooks/{webhook_id}Modify an existing webhook endpoint to change its URL, subscribed events, or settings without recreating it. This lets you update where email notifications are sent or which events trigger your automations.
Drop a trigger and an action into a template; approve from your phone; the workflow runs.