SFTP CSV → validate → database, rejects emailed
Reads the CSV back off SFTP and takes it a row at a time: good rows are loaded into a table, a bad one is emailed to somebody instead of being dropped on the floor. The row-at-a-time part is the foreach — validate judges whatever payload it is handed, so validating an array would pass or fail the whole file at once.
The pipeline
This is the actual graph the template creates — 6 steps; dashed lines are the failure/invalid paths.
Connects to
- SFTP
- PostgreSQL
How you know it worked
Five rows land in demo.file_customers, and exactly one — the row whose email is 'not-an-email' — arrives in MailHog as a CSV attachment. Nothing is lost either way, which is the whole point of routing rejects rather than failing the run.
Try this templateUsed in: Banking & finance, Healthcare & laboratories, Telecom & utilities
Related templates
Database → CSV on SFTP
Writes a CSV onto the SFTP server — including one deliberately broken row. It exists to give the validate-and-route demo something to find, which…
Excel exportDatabase → Excel workbook in object storage
The same rows again, this time as a real .xlsx workbook dropped into MinIO. Nothing about the pipeline changes except the format — that is the…
TCP socketTCP request/response
Sends a line to a raw TCP endpoint and reads one bounded response back. The read is always bounded — by a delimiter here — because a pipeline step…
Stop moving data by hand.
Start free with three projects, or talk to us about running it across your organisation.