Load node
What it does
The Load node writes rows to a target system: a database table, a file on a file store, an HTTP API, or a SaaS application such as Salesforce or Google Sheets. It is the last step of most flows.
Each row's result is reported: rows that were written leave on out, rows that failed leave on error, and one summary row leaves on status.
When to use
- The flow moves data into a system of record.
- You need the target's own write behaviour: bulk insert, upsert on a key, update or delete.
- To format a payload and write it with your own SQL, use a Message node and a DB Script node instead.
Configure
The node panel
- Header: the connector's logo, the node's kind and its connector.
- Status: says the node is ready to run, or lists what needs fixing.
- Node name: the name shown on the card.
- Connection: the connection, with Edit to open it.
- Action: the action this node runs, with Configure and the saved-action picker.
- Caching: the cache-write switch.
- Advanced: execution hooks, execution policy and notifications. It starts closed, and its one visible line says whether anything inside is set. See Execution hooks and policies.
What can connect to a Load
The node before a Load must be a Transform, a Transform (Legacy), a Message or a Loop (container). To write rows from any other node, put a Transform between them. After a Load, only a Transform, a Notification or a Log can follow.
Configure Action
For a database connection, Configure Action is the same three-step wizard the Source node uses. On a target, step 2 also holds the write mode, the key columns and the field mapping.
-
Connection: any connection that supports writes, such as the SQL databases, Salesforce, S3, Google Drive, SharePoint, Dropbox, SFTP and Generic API.
-
Operation:
- Databases and Salesforce:
insert,upsert,update,delete. - File stores:
Upload,Put file,Append. - Generic API:
POST,PUT.
The first operation the connector offers is selected for you. If a change to the write mode removes the selected operation, the first remaining one is selected.
- Databases and Salesforce:
-
Target: the table, object, remote path or URL suffix.
-
Key columns (upsert, update, delete): the columns that identify a row in the target.
-
Action name: required. Next stays disabled until it is filled.
On step 1, press Get Metadata to read the connection's objects. Connecting an edge into a Load that has no saved action opens Configure Action.
Save Action saves the action and keeps the dialog open. Done saves it and closes the dialog, and stays open if the save fails. Close closes it without saving.
Caching
Turn on the cache-write switch to save each successfully written row into a named cache. Failed rows are never cached. Later nodes read it with CACHE_VALUE('name', CACHE_KEY(id), 'field').
- Scope:
Execution (per-run only), orPersistent (shared, hydrated)to keep entries between runs. - TTL (hours): for Persistent scope, from 0 to 720. 0 never expires.
- Cache version: raise it to ignore earlier persistent entries from the next run.
Ports
| Port | Direction | Kind | Notes |
|---|---|---|---|
in | in | data | Rows to write. |
out | out | control | The rows that were written. |
status | out | data | One summary row per load: rows written, rows failed and the target. |
error | out | control | The rows that were not written, each with the error and the failing node. |
Files written by a Load
Size. Large files are sent in parts to OneDrive, SharePoint, Dropbox, S3, Azure Blob, SFTP and FTP. The target account's storage quota applies.
Values in CSV and other delimited files:
| Value | Written as |
|---|---|
| Text, number, true or false | Unchanged |
| Date or timestamp | ISO-8601, such as 2026-09-29T12:00:00.000Z |
| Object or list | JSON, such as {"id":1} or [1,2] |
| Empty or no value | Empty |
Parquet files store dates as timestamps.
Examples
Upsert customers. Source (Salesforce Account) > Transform > Load (PostgreSQL, table customers, operation upsert, key column sf_id).
Alert on failed rows. Connect the Load's error port to a Notification node. Each failed row carries the error message.
Record the outcome. Connect status to a Transform and a second Load that inserts the summary row into an audit table.
Daily export. Source > Transform > Load (SFTP, operation Upload, path /out/orders_{{YYYYMMDD}}.csv).
Troubleshooting
| Symptom | Cause | What to do |
|---|---|---|
Rows leave on error with a constraint message | The target rejected them, for example a duplicate key or a null in a required column. | Fix the data upstream, or switch to upsert with the right key columns. |
| Pre-flight stops the run: "The target table's columns are missing" | The saved action has no columns for the table, so a database target cannot write. | Select Configure Action, refresh the schema and save the action. |
| A sign-in error | The connection's credentials expired. | Reconnect on the Connections page. |
| A quota or rate-limit error | The target's storage or request limit was reached. | Free space on the target or retry later. |
| A downstream system reads dates wrongly from a CSV | Dates are written as ISO-8601. | Convert the date format in a Transform before the Load. |