Write to Airtable from an automation
The Airtable: Write Rows action lets a workflow send its data straight into any base and table on a connected Airtable account. It reuses the same connection and rate-limit machinery as dataset sync, but it writes ad-hoc workflow output rather than SKU.io's mapped datasets — so use it when you want a report, a filtered slice, or a computed result to land in Airtable rather than a full dataset sync.
Before you begin
- Connect at least one Airtable account to SKU.io. See Connect Airtable.
- Have the target base and table ready in Airtable, with fields that match the keys in your upstream data.
- Open a workflow under Workflows that already has upstream nodes producing item data (each item's JSON map becomes one Airtable record's fields).
- Know the base ID (starts with
app) and table ID (starts withtbl) or table name from your Airtable base's API docs.
Steps
- Open your workflow under Workflows and open the node canvas.
- In the node palette, open the Integrations category and add the Airtable: Write Rows node.
- Connect the output of the node whose items you want to write into the Input of the Airtable: Write Rows node.
- Select the node and open its settings panel.
- In Airtable Account, choose the connected account to write to. This dropdown lists the Airtable accounts connected to SKU.io. If you pick an account that has since been disconnected, the node can't authenticate and the run fails — reconnect it first under Apps & Integrations → Airtable.
- In Base ID, enter the target base id (starts with
app). - In Table ID, enter the target table id (starts with
tbl) or the table name. - Set Merge Field(s) to control create-versus-update behavior:
- Leave it empty to always create new records.
- Enter one or more comma-separated Airtable field ids to upsert (merge) on those keys. SKU.io matches existing records on those fields and updates them, creating a record only when no match exists.
- To validate the setup without writing, turn on Dry run. On a dry-run pass the node writes nothing to Airtable — it logs the action it would have taken (create or upsert, row count, base, and table) and passes your items through unchanged so downstream nodes still receive them.
- Turn off Dry run and run or publish the workflow to write for real. Each upstream item's JSON map is sent as one Airtable record's fields.
- Open the run's logs to confirm the result. A successful write logs
Wrote N row(s) to base … / table … — X created, Y updated. If there were no upstream items, the node succeeds as a no-op and logsNo rows to write.
How the write behaves at run time
These behaviors happen automatically when the node runs — no configuration is needed, but it helps to know them:
- Batching. Records are sent in batches of up to 10, which is Airtable's per-request cap. Larger inputs are chunked into successive batches automatically.
- Rate limiting and retry. Writes are throttled per base to stay under Airtable's limit. If Airtable still returns a rate-limit (HTTP 429) response, the node waits out a 30-second back-off and retries the batch once.
- Required fields. The node fails validation unless Airtable Account, Base ID, and Table ID are all set.
Next steps
- How Airtable sync works — the record lifecycle behind dataset sync, for comparison with this ad-hoc write.
- Reliability, limits, and sync-health alerts — the shared rate limits and back-off this node honors.
- Sync your data to Airtable — set up a mapped, ongoing dataset sync instead of a one-off workflow write.
Last verified:
Was this helpful?