Skip to main content

How Send Marketing Email Works

Send personalized marketing emails to your users with rich content and tracking. Marketing emails automatically respect user preferences and opt-out settings.

Style: Designed or Plain

Every marketing email step has a Style.
  • Designed (the default) sends the email in your template: logo, layout and footer. Opens and clicks are tracked when your sending domain tracks them.
  • Plain sends it the way a person types an email in Gmail: just your words, with the formatting Gmail has (bold, italic, lists and links), and nothing else. There are no images, no preview text (the inbox shows your first line), links go exactly as you wrote them, and nothing is tracked: no open pixel and no click tracking. It ends with one plain line holding your organization’s name, address and unsubscribe link, then “Sent with Flywheel” when your Flywheel branding is on. Name the sender after a person, not a brand.
Because a Plain email tracks nothing, its report shows opens and clicks as Not tracked, and a later step can’t branch on whether it was opened or clicked: the builder refuses such a check after a Plain step. Its clicks don’t count anywhere else either, such as a webinar’s offer clicks or purchase attribution. Switching an email with images to Plain removes them, after a warning; buttons go as plain links. A Plain email can’t go from a domain that sends through Resend with open tracking on, because Resend adds its pixel to every email from the domain.

Replies

With no opens or clicks, a reply is how you know a Plain email was read. When the sending domain receives its mail through Mailgun (its MX records point at Mailgun), a Plain email has no separate Reply-To, the way an email typed in Gmail has none: a reply goes to the address it was sent from, reaches Flywheel, is counted, and is forwarded unchanged to the sender’s reply-to address, so you still get your replies (all but mail that answers none of your emails and is flagged as spam or fails its sender’s SPF and DKIM checks). The sender needs a reply-to address on another domain for that (not its own address, and not a domain whose replies also come through Flywheel), and the Style setting says where replies go. A counted reply is recorded on the person (last_replied_at) and on the email, shows in the email’s report, and records a $fw_email_replied event, so a later step or the sequence’s exit criteria can stop or branch when someone replies. An automatic reply, such as an out-of-office, is forwarded but never counted. From a domain that receives its mail anywhere else, a Plain email keeps the sender’s reply-to address, as a Designed one does, and its replies aren’t counted.

Configuration

Inputs

string
required
The Flywheel ID of the user who will receive the email. References a specific user in your system.
object
required
The email content created using the built-in email editor. Supports rich formatting, images, links, and dynamic variables.
string[]
Additional CC recipients for team notifications and compliance. Supports multiple email addresses.
string[]
Additional BCC recipients for blind copy notifications. Useful for internal tracking and compliance.
boolean
default:"false"
Stop the workflow if the email fails to send for any reason. When enabled, email send failures will halt the entire workflow.

Outputs

enum
required
The status of the email send operation. Can be success, failure, or skipped.
string
required
The ID of the user that the email was sent to.
string
required
The ID of the sender configuration used for the email.
string
The ID of the email that was sent (available on success).
object
The options used when creating the email (available on success).
object
The response from the email creation service (available on success).
enum
The code indicating why the email send operation failed or was skipped. Can be resend_error, duplicate_email, or user_marketing_email_opt_out.
string
The message of the error that occurred (available on failure).