Segmentflow EmailSend accepts familiar envelope fields, but it is not a raw email provider API. Every EmailSend is template-backed, resolves one primary Profile, freezes the effective envelope, and returns a durable status handle. Use this guide when you are moving existing server-side send calls toDocumentation Index
Fetch the complete documentation index at: https://segmentflow.ai/docs/llms.txt
Use this file to discover all available pages before exploring further.
emails.send or emails.batchSend.
Field mapping
| Resend-style field | Segmentflow EmailSend field | Notes |
|---|---|---|
from | from | Must match an exact SenderProfile email on a verified sending domain. Friendly names are supported. |
to | to.email | One primary recipient per EmailSend. Use emails.batchSend for multiple primary recipients. |
| Customer id or user id | to.externalId | Optional caller-owned Profile identity. Include to.email when a new Profile may need to be created. |
| Segmentflow Profile id | profileId | Use when you already know the primary recipient Profile. to is optional when profileId is present. |
subject | subject | Final frozen subject text. If omitted, Segmentflow uses the saved Template subject. |
reply_to or replyTo | replyTo | Single friendly-address value. Must use a verified sender domain owned by your Organization. |
cc | cc | Visible copied recipients. Envelope-only; does not create Profiles or Messages. |
bcc | bcc | Hidden copied recipients. Envelope-only and not returned by ordinary API responses. |
| Template variables | data | One-send payload available to templates under /data/*. |
| Provider idempotency header | Idempotency-Key | Required for emails.send. Batch uses item-level idempotencyKey. |
| Provider response id | EmailSend.id | Store this durable status handle and retrieve it with emails.retrieve. |
Raw html, text, or react | Saved Email Template | Create and publish the Template first, then pass its exact templateId. |
Single send
EmailSend status handle with lifecycle status, the source templateId, the immutable templateSnapshotId, the resolved primary profileId, and the safe effective envelope.
Batch sends
Resend-style provider batches usually send an array of complete email envelopes. Segmentflow batch creates many independent EmailSends and lets you put shared fields indefaults.
templateId, from, senderProfileId, subject, replyTo, subscriptionGroupId, and tracking. They cannot include profileId, to, data, cc, or bcc.
Each item has an ordered result. A valid item can be accepted while another item is returned as Rejected.
Differences to plan for
| Behavior | Segmentflow EmailSend |
|---|---|
| Content | Template-backed only. Create a saved Email Template and send with exact templateId. |
| Primary recipients | Exactly one primary recipient per EmailSend. Use batch for multiple primary recipients. |
| Profile resolution | profileId, to.email, and to.externalId resolve one primary Profile. EmailSend does not update Profile properties. |
| Sender authorization | from must resolve to an exact SenderProfile email on a verified sending domain. |
| Reply handling | replyTo can differ from from, but must use an Organization-owned verified sender domain. |
| Copied recipients | cc and bcc are envelope-only. They do not create Profiles, Messages, or separate Delivery Events. |
| Blind-copy visibility | bcc is stored for delivery and retry behavior, but ordinary create and retrieve responses do not echo it. |
| Idempotency | The key is compared against the full effective request, including sender, subject, recipients, tracking, and data. |
| Status | Create returns a durable EmailSend status handle. Delivery outcomes are tracked separately from lifecycle status. |
| Raw provider options | Raw content, inline templates, arbitrary headers, attachments, and provider-specific render options are out of scope. |
Idempotency differences
Foremails.send, pass an Idempotency-Key header. For emails.batchSend, pass idempotencyKey on every item.
Segmentflow compares the key against the full effective request after defaults and resolution. Reusing the same key with the same effective request returns the existing EmailSend. Reusing the key with a changed sender, subject, recipient, copied recipient, tracking setting, subscription gate, or data returns a conflict for single send or a Rejected item in batch.
Next steps
Emails
Read the full EmailSend request model and lifecycle guide.
Sending domain
Verify the sender domain before production EmailSends.

