Publish / notify · All operations
Send an email for each row
A variant of Send a notification
Send one email per input row, with recipients, subject and body taken from the row's columns.
Status
- In arcform
Not built yet
arcform does not do this yet; it would live in how a Protocol runs. Its place on the roadmap
What other tools call it
Meridian's classification; an independent blind rating agreed on 95.7% of 324 rows (variant, version 3).
Alteryx Designer (1)
Emailread 2026-09-27Send an email per record, with optional attachments and rendered reports
Apache Hop (1)
Mailread 2026-09-27Send an email through SMTP built from row fields, with attachments
Apache NiFi (1)
PutEmailread 2026-09-27Send an email to configured recipients for each incoming FlowFile
Duckle (1)
Email (SMTP)read 2026-09-25send one SMTP message per row
Background
In Alteryx Designer, the Email tool sends an email for each row or record in the data stream, and can add attachments.[1] In Apache Hop, the Mail transform sends an email using data from the pipeline fields.[2]
When to use it
Reach for a mailer that sends one email per row when each row is its own message: a statement to a customer, a reminder to an account owner, a report to the person it is about. (Meridian's view) In Alteryx Designer, the Email tool runs as the last tool in the workflow.[1] In Alteryx Designer, the Email tool does not send emails if errors are encountered during the workflow run.[1] In Alteryx Designer, when a workflow uses the Alteryx Multi-threaded Processing (AMP) engine, the Email tool might run before all the other tools in the workflow finish.[1] In Alteryx Designer, linked Control Containers or a Block Until Done tool can make a file be written before the Email tool sends it as an attachment.[1]
In Alteryx Designer, email attachments have a 25 MB size limit per file, and an attachment greater than 25 MB triggers an error message.[1] Every row becomes a message someone receives, so count the rows and read a few rendered messages before the first run against real addresses. (Meridian's view) For a large file, a link in the body travels better than the same attachment sent with every row's email. (Meridian's view)
The method
In Apache Hop, the Mail transform uses a Simple Mail Transfer Protocol (SMTP) server, set on a tab that also holds authentication and encryption details.[2][3] In Apache Hop, the Mail transform can take the file names of its attachments from stream fields when Dynamic filenames is checked.[2] In Apache Hop, the Mail transform can store each generated message as Internet Message Format code in a stream field.[2]
In Alteryx Designer, an Email tool attachment can be a file location browsed to or a field from the input stream that contains the file location.[1] In Apache NiFi, a FlowFile represents each object moving through the system, with a map of key/value attribute strings and content of zero or more bytes.[4] In Apache NiFi, the PutEmail processor sends an email to configured recipients for each incoming FlowFile.[5] In Apache NiFi, the To, Subject and Message properties of the PutEmail processor can use Expression Language over FlowFile attributes.[5] In Apache NiFi, a FlowFile that PutEmail fails to send is routed to a failure relationship, and one sent successfully to a success relationship.[5]
Compared with the alternatives
Apache Hop has a Mail action that sends a text or HTML email with optional file attachments, beside a Mail transform that sends an email using data from the pipeline fields.[6][2] In Apache NiFi, the EmailRecordSink service sends records in email using a chosen writer for formatting, while PutEmail sends an email for each incoming FlowFile.[7][5]
Sources
- [1]Email Tooldocumentation
- [2]Mail | Apache Hopdocumentation
- [3]Simple Mail Transfer Protocolsecondary source
- [4]Apache NiFi Overviewdocumentation
- [5]PutEmail - Apache NiFidocumentation
- [6]Mail | Apache Hopdocumentation
- [7]EmailRecordSink - Apache NiFidocumentation