How to Connect n8n to Baserow: The Open-Source Airtable Alternative (2025)
If you love Airtable's spreadsheet-database hybrid but hate its per-record pricing and the fact that your data lives on someone else's servers, Baserow is the answer. It's an open-source, self-hostable no-code database with a clean UI, a full REST API, and a native n8n node. That combination makes it the perfect backbone for automations: a lightweight CRM, a headless CMS, an order log, or a sync hub between all your tools. In this guide you'll learn exactly how to connect n8n to Baserow, authenticate with a database token, create and read rows, and trigger workflows the moment new data arrives.
Why Baserow instead of Airtable?
Airtable is polished, but the free tier caps records hard and paid plans scale per seat. Baserow flips that model:
- Open source & self-hostable — run it on your own VPS with Docker in minutes, so your data never leaves your infrastructure.
- Cloud option too — if you don't want to host, Baserow.io offers a hosted plan with a generous free tier.
- Predictable pricing — no surprise overages when a workflow inserts 50,000 rows.
- API-first — every table exposes a REST endpoint, and n8n ships a first-class Baserow node plus trigger.
For automation builders, the self-hosting angle matters most: you can run n8n and Baserow side by side on the same machine and keep an entire data pipeline private and free.
Step 1: Get your Baserow database token
Baserow's n8n node authenticates with a database token, not your account password. In the Baserow UI, open Settings → Database tokens and create a new token. Give it read/write scope for the workspace you'll automate. Copy the token immediately — you won't see it again.
In n8n, create a new Baserow API credential. You'll fill three fields:
- Host / Base URL —
https://api.baserow.iofor cloud, or your own domain likehttps://baserow.mycompany.comfor self-hosted. - Username & password for the token flow, or paste the database token depending on your n8n version.
The self-hosted base URL is the field people forget most often. If your automation returns 404s, check that the host points at your instance and not the default cloud endpoint.
Skip the boilerplate. Grab a ready-made n8n workflow that captures form submissions, writes them straight into a database row, and fires a team alert — no wiring from scratch. Get the Form → Database + Team Email template →
Step 2: Create a row from a form submission
The most common Baserow automation is capturing inbound data. Say a Typeform or webhook fires when someone fills out a lead form. Your n8n flow looks like this:
- Trigger node — a Webhook or Typeform Trigger receives the submission.
- Baserow node — set Operation to Create, choose your database and table, then map each incoming field (name, email, message) to a Baserow column.
- Notify — add a Gmail or Slack node so your team hears about the new lead instantly.
Because the Baserow node exposes columns as a dropdown, you don't have to memorize field IDs — n8n loads them live from your table schema. That alone saves the fiddly guesswork you get with raw API calls.
Step 3: Read, update, and list rows
Beyond creating rows, the Baserow node covers the full CRUD set:
- List rows — pull every record from a table, with filters and sorting. Great for building daily digests or exporting to a report.
- Get row — fetch a single record by its row ID when you already know the target.
- Update — change a status field, mark a lead as contacted, or increment a counter. Combine it with an IF node to build stateful logic.
- Delete — clean up test data or expire old records.
A typical lightweight CRM flow: a scheduled trigger runs every morning, lists all rows where status = "new", loops over them, sends a follow-up email, then updates each row's status to "contacted". That's a complete sales-cadence engine with zero SaaS subscription.
Step 4: React to new rows with the Baserow Trigger
Sometimes you want the automation to start because data changed in Baserow. The Baserow Trigger node polls a table and emits an event whenever a new row appears. Use it to:
- Send a welcome email the moment a signup lands in your "Users" table.
- Push new inventory rows to your Shopify or WooCommerce store.
- Kick off an approval workflow when a request row is inserted.
This turns Baserow into an event source — your team edits data in a friendly grid, and n8n quietly does the downstream work.
Going deeper with the HTTP Request node
The native node covers 95% of use cases, but Baserow's REST API exposes more — batch operations, creating tables and fields programmatically, and advanced filtering. When you hit a limit, drop in an HTTP Request node and call the API directly:
- Set the URL to
https://api.baserow.io/api/database/rows/table/TABLE_ID/. - Add a header
Authorization: Token YOUR_DATABASE_TOKEN. - Send JSON bodies for creates and updates, or query params like
?filter__field__contains=valuefor precise reads.
Because Baserow is open source, the API is fully documented and stable — no reverse-engineering required.
Baserow as a sync hub
Once your data lives in Baserow, n8n makes it easy to keep it in step with everything else. Sync Baserow rows to Google Sheets for finance, mirror them into Notion for docs, or push contacts to your email tool. Because n8n sits in the middle, you define the mapping once and let it run. A two-way sync is just two workflows: one that watches Baserow and one that watches the other tool, each writing to the other on change.
Self-hosted vs cloud: which to pick
If privacy, cost control, or heavy row volume matter, self-host Baserow with Docker alongside your n8n instance — both are free and open source. If you want zero maintenance and a fast start, use Baserow cloud and simply point your credential at api.baserow.io. Either way, the n8n workflows you build are identical; only the base URL changes.
Start with a proven template
You now have everything you need: token auth, CRUD operations, triggers, and the HTTP fallback. The fastest way to see it working is to start from a battle-tested flow and swap in your own credentials.
Ready to automate? Stop wiring nodes by hand and start from a workflow that already captures form data, writes the record, and alerts your team. Get this template on Gumroad →