← All platforms

Messaging

Resend

target_app: "resend" · endpoint /v1/messaging/execute · Bring your own credentials

Setup

Create an API key at resend.com/api-keys. You can send from onboarding@resend.dev without verifying a domain for quick testing — verify your own domain for production sends.

Credentials needed on your Connections page

api_keyAPI Key. Find it: Resend → API Keys
from_emailFrom Email. Find it: Your verified domain, or onboarding@resend.dev for testing

Actions

send_email

Send an email — html is optional.

Request body:

{
  "user_id": "...",
  "action": "send_email",
  "payload": { "to": "user@example.com", "subject": "Hi", "text": "Plain fallback", "html": "<b>Hi</b>" },
  "target_app": "resend"
}

provider_response.result shape:

{ "id": "49a3999c-0ce1-4ea6-ab68-afcd6dc2e794" }

get_email_status

Check delivery status of a previously sent email.

Request body:

{
  "user_id": "...",
  "action": "get_email_status",
  "payload": { "emailId": "49a3999c-0ce1-4ea6-ab68-afcd6dc2e794" },
  "target_app": "resend"
}

provider_response.result shape:

{ "id": "...", "last_event": "delivered" }

Anticipated errors & fixes

403 "domain is not verified"

Cause: from_email uses a domain not verified in Resend.

Fix: Verify the domain in Resend, or switch from_email to onboarding@resend.dev for testing.

401 Unauthorized (inside provider_response)

Cause: API key is wrong.

Fix: Copy a fresh key from resend.com/api-keys.

401 "Unauthorized: Invalid API key."

Cause: Your eConnect Authorization header is missing, malformed, or the key was regenerated/revoked.

Fix: Copy your api_key fresh from the eConnect dashboard and confirm the header reads exactly "Authorization: Bearer <key>".

429 "Too many requests"

Cause: You've exceeded your plan's per-minute rate limit.

Fix: Wait a minute and retry, or upgrade your plan for a higher per-minute limit.

429 "Monthly API limit exceeded"

Cause: You've used your plan's full monthly request allowance.

Fix: Wait for your next billing cycle reset, or upgrade to a plan with a higher monthly limit.

← Back to all platforms