Small BusinessReal EstateFinanceMarketingLegalOperationsSalesTemplatesPricingDocs
Get started

Step Guide: Send Email

Email

Send emails from Formt or your own custom domain

Overview

The Send Email step sends an email using a third-party delivery service. It supports two sending modes: Formt (shared infrastructure) for simple notifications, or Custom Domain for sending from your own verified domain. Both modes take a subject line and HTML body as input, and optionally attach files.

When to Use

  • Send notification emails when a workflow completes or hits a milestone
  • Deliver generated reports, PDFs, or CSV files as email attachments
  • Send personalized emails by mapping dynamic data into the subject and body
  • Send bulk outreach to contact lists imported from CSV or Google Sheets using a custom domain
  • Build automated email sequences as part of a multi-step workflow

How It Works

The step reads subject and body from its input record. Both must be non-empty strings. An optional attachments field accepts an array of upload UUIDs; files are downloaded from storage and attached to the email. How the recipient and from address are determined depends on the selected action (Formt or Custom Domain). The email is sent via a third-party delivery service and the step writes {success: true} to its output. If any required field is empty, the step fails with a validation error.

Actions

Formt
Sends from a Formt email address using Formt's shared sending infrastructure. The recipient email is set directly in the step config and cannot be mapped from an upstream step. Best for simple notifications to known, individual recipients.
How it works
The recipient address is stored in the step config (not in the input field set), so it's always a static value. At execution time, the email is sent from a Formt email address via Formt's shared sending infrastructure.
  • Use this mode for internal notifications, alerts, or emails to a single known recipient
  • The recipient field is in the step config panel, not in the input field set. You cannot map it from an upstream step
Custom Domain
Sends from your own verified domain (e.g. sales@acme.com) using a dedicated sending server. The recipient email is a normal input field that can be mapped from upstream steps like CSV, Google Sheets, or ForEach. Required for sending to dynamic contact lists.
How it works
You choose a verified domain and enter the local part of the from address (e.g. sales, hello, noreply). The recipient_email field is part of the input field set, so it can be typed directly or mapped from an upstream step's output. At execution time, the email is sent from {localPart}@{domain} via the org's dedicated sending server. The domain must be verified in Settings → Email before it can be used.
  • Set up and verify your domain in Settings → Email before using this action
  • If you use a real mailbox as the from address (e.g. sales@acme.com), recipients can reply directly to that inbox
  • Follow the domain warmup schedule when sending from a new domain to build a good sender reputation
Tips
  • Use AI Text Generate before this step to compose dynamic email content with HTML formatting
  • Map the attachments field from a PDF or CSV step's output to include generated files
  • The subject and body fields are required in both modes. The step fails if either is empty
  • To send from your own domain, you'll need to verify it first. See the Custom Domain Sending guide for a full walkthrough including DNS setup and warmup