Skip to content

Email Send

Overview

The Email Send node sends an email to one or more recipients using a configured SMTP credential or provider integration. It accepts dynamic input data to populate recipient addresses, subject, and body via template interpolation. A successful send emits on the output port; delivery failures or authentication errors route to the error port so the workflow can handle retries or fallbacks. Credentials must be pre-configured in the workspace's integrations settings before this node can be used.

Configuration

FieldTypeRequiredDescription
credentialIdstringYesID of the SMTP or email provider credential configured in workspace integrations (e.g. SendGrid, Postmark, or custom SMTP).
tostringYesRecipient address(es). Supports a single address, a comma-separated list, or a template expression resolving to either (e.g. {{input.user_email}}).
subjectstringYesEmail subject line. Supports template interpolation from upstream node output.
bodystringYesEmail body content. Supports plain text or HTML. Supports template interpolation from upstream node output.
bodyFormatenumNoContent type of the body field. Accepted values: text (default) or html.
ccstringNoCarbon-copy recipient address(es). Comma-separated or a template expression.
replyTostringNoReply-To address to set on the outgoing message. Defaults to the sender address of the credential.
fromNamestringNoDisplay name for the sender. Overrides the default display name set on the credential.

Inputs

PortTypeDescription
inputobjectTrigger input carrying workflow context and any dynamic values (e.g. user email, battle result, model output) available for template interpolation in subject, body, and recipient fields.

Outputs

PortTypeDescription
outputobjectEmitted on successful delivery acceptance by the mail provider. Passes the original input payload through, augmented with a messageId field returned by the provider.
errorobjectEmitted when the send fails (authentication error, invalid address, provider rejection, network timeout). Carries error.code, error.message, and the original input for retry or fallback handling.

Example

json
{
  "nodeType": "email_send",
  "config": {
    "credentialId": "cred_sendgrid_prod",
    "to": "{{input.contender_email}}",
    "subject": "Your battle result: {{input.battle_title}}",
    "body": "<h2>Battle complete</h2><p>Your model scored <strong>{{input.score}}</strong>. View the full results at {{input.result_url}}.</p>",
    "bodyFormat": "html",
    "fromName": "LenserFight Battles"
  }
}