Airtable Automations
Replaceable in one session with an AI coding agent.
Automations attached to a base: a row changes and something happens — an email goes out, a record is written, an endpoint is called.
Build me automations attached to my own data, replacing the ones bundled with a table product. The idea is right: the automation belongs beside the rows it watches, not in a separate service that polls them. Everything below is about making it reliable, because an automation that fires twice is worse than one that does not fire. STACK - Node 20+ with Fastify - SQLite through better-sqlite3, WAL mode - A worker process, separate from the web process - Caddy in front THE DATA MODEL - automations: id, table_ref, name, trigger_json, conditions_json, steps_json, is_active, created_at - runs: id, automation_id, row_id, trigger_payload_json, status, started_at, finished_at, error, dedupe_key - step_runs: id, run_id, step_index, input_json, output_json, status, error, ms - queue: id, run_id, run_at, attempts, locked_by, lease_expires_at - Every step's input and output stored. When a customer gets an email they should not have, that record is the only thing that explains it THE TRIGGER, WHICH IS WHERE THIS GOES WRONG - A row created, updated, or entering a condition; a schedule; a webhook - **Fire from the same transaction that made the change**, by writing a queue row inside it. Not from polling, which is late and duplicates, and not from a database trigger that can fire twice - A row updated twice in a second should produce one run, not two: debounce per row with a short window - 'Entering a condition' means the condition was false before and true now. Comparing only the new value fires every time the row is touched, which is the classic bug in this category RELIABILITY - The queue is a table with a lease. A crashed worker's run is reclaimed rather than lost - Retries with exponential backoff and jitter, and a dead-letter list with a one-button replay - **Idempotency for anything with an effect in the world.** A step declares whether it is safe to retry; one that is not carries an idempotency key through to the service it calls - Deduplication on the trigger, so a redelivered webhook runs once THE STEP THAT SENDS EMAIL, WHICH DESERVES ITS OWN RULE - **A per-recipient daily cap, enforced centrally.** An automation looping over a filtered view is how somebody receives four hundred messages, and it happens to everybody once. This costs an afternoon and prevents a very bad day - Every send recorded with the recipient, the template and the payload - A test mode that renders the email and does not send it THE INTERFACE - The automation as a sentence: when this, if that, do these - A run list with failures first, each expandable to every step's input and output - **A dry run against a real row**, showing what would happen without doing it. That is the feature that makes people trust it enough to turn it on OPERATIONS - .env: DATABASE_PATH, BASE_URL, SESSION_SECRET, SMTP_URL, ENCRYPTION_KEY - Migrations on boot, each once; payloads pruned on a stated retention - Health endpoint reporting queue depth, oldest unlocked run and expired leases WHAT MATTERS MOST The transactional trigger and the mail cap. The first stops runs being missed or doubled; the second stops one mistake becoming four hundred emails.
What you lose
- Automations configured by the person who owns the data, without a developer
- Runs and their payloads visible in the same place as the records
- Connectors for the common destinations already written
- Nothing to operate
If you would rather not build
- A cron job and a script, which is what most of these actually are
- A database trigger writing a queue row, which is the core idea in ten lines
The escape hatch
open source · no votes, no paid placement
n8n
$0Self-hostable workflow automation with a visual editor and code steps.
n8n-io/n8nfree · open source
Activepieces
$0Open-source automation with typed pieces and run history.
activepieces/activepiecesfree · open source
Why this verdict
our own opinion · changed only by a person
78/100
Verdict yes at 78: a queue, a lease and a small step vocabulary. The condition-entering rule and the per-recipient mail cap are the two things homemade versions always learn the hard way.
History
tracked since 14 Aug 2026 · nothing is ever overwritten
Nothing recorded yet. This chart fills in once the page has visitors, votes or prompt copies — it will not draw a flat line to look busy.
Questions about Airtable Automations
answered from the record above
Is Airtable Automations free?
No — the plan we track is $45 a month. Business at $45 per seat per month billed annually, which is where the automation limits become useful.
Can you replace Airtable Automations by building your own?
YES. Replaceable in one session with an AI coding agent. Replacement score 78 out of 100, build time one session. Read what you lose before you decide.
How much does Airtable Automations cost?
$45 a month on Business — $540 a year. Recorded 14 Aug 2026.
What do you lose by replacing Airtable Automations?
Automations configured by the person who owns the data, without a developer; Runs and their payloads visible in the same place as the records; Connectors for the common destinations already written; Nothing to operate. If any of those carry weight for you, keep paying.
Is there an open-source alternative to Airtable Automations?
Yes: n8n, Activepieces. The prompt on this page is for when you want it your way instead.
Related entries
same category first, most replaced first
Every week, something stops being worth paying for.
New verdicts, prices that moved, entries added. One email a week. Unsubscribe in one click. Nothing is being sent yet — your address is kept here, and the first issue is the first thing it is used for.
free forever · no tracking pixel · stored here, never passed to anyone

