Resources · n8n integration

NocoDB n8n integrationAutomate NocoDB with n8n.

NocoDB keeps the table, n8n moves everything around it. The NocoDB n8n integration ships 13 operations over 3 resources: rows, linked rows and bases. No trigger node comes with it, so a schedule or an inbound call from another service starts the run. Written for teams using NocoDB as their working database.

Verified Trustpilot reviews · AI, automation & growth agency

Why automate

What does the NocoDB n8n integration actually do?

The NocoDB node turns your NocoDB tables into a read and write endpoint for any workflow. It covers 13 operations across 3 resources: rows (create, upsert, update, delete, get, search, count, attachment upload), linked rows (list, link, unlink) and bases (get one, get many). Everything runs against your own instance, whether NocoDB sits on your server or on a hosted plan, and the same node works on n8n Cloud and on a self-hosted n8n.

The first pattern is collection. A form, a scraper or an AI step produces structured data, and the last node of the workflow writes it into a table with row.create. Teams that already keep an editorial or research table in NocoDB use this to land summarized articles, keyword lists or enriched leads in the same place their colleagues open every morning. Nothing is copied by hand, and the row carries the ID NocoDB generated, so the next node can act on it.

The second pattern is reconciliation. A workflow reads a source, looks for the matching line, and writes back. row.search pulls the rows that match a formula, row.count gives the size of a filtered set before any write, and row.upsert avoids the duplicate problem: with a value in Row ID Value the row is updated, with an empty one it is created. This is how a NocoDB table stays in sync with a spreadsheet such as Google Sheets without a nightly copy job.

The third pattern is relational work. NocoDB links records between tables, and the linked row operations expose that from a workflow: list what a record points to, attach another record, detach it when the status changes. If you have been doing this in Airtable and moved to a self-hosted base, the node gives you the same moves. For heavier queries or joins, a database node like Postgres or Supabase is often the better tool, and the two coexist in one workflow. The n8n review compares the two families of nodes in more depth.

Two limits are worth knowing before you build. There is no NocoDB trigger node, so a workflow never starts from a change made inside NocoDB: it starts on a Schedule Trigger at a fixed interval, or on an n8n Webhook, a URL that a third-party service calls. And the node stops at these 13 operations: for anything else in the NocoDB API, the HTTP Request node calls the endpoint directly and reuses the same credential, the stored connection that n8n hands to the node.

Connect

How do you connect NocoDB to n8n?

  1. 01

    Create an API token in NocoDB

    Log into NocoDB, open the User menu in the bottom left sidebar, then Account Settings. Open the Tokens tab and select Add new API token. Give it a name that says where it is used, something like n8n integration, and save. Copy the token straight away: it is the value n8n will send on every call, and NocoDB is the only place it exists.

  2. 02

    Add the credential in n8n

    In n8n, open the Credentials menu and create a NocoDB API Token credential, the recommended method. Two values are asked: the API Token you just copied, and the Host of your instance, the base URL where NocoDB answers, for example http://localhost:8080 on a local install. A credential is created once and reappears in the dropdown of every NocoDB node you add later.

  3. 03

    Pick a base and a table in the node

    Drop a NocoDB node in a workflow, choose the resource and the operation, then open Base Name or ID. If the credential works, the list fills with your bases, and Table Name or ID fills once a base is chosen. That loading list is the fastest connection test there is. When the base or table changes from one execution to the next, switch the field to an expression instead of the dropdown.

Actions

What can the NocoDB node do?

The NocoDB node exposes 13 operations across 3 resources. For each one: the node as you configure it in n8n, the required fields, and our field notes.

Resources × operations matrix
ResourceCreateGetGet ManyUpdateDeleteCountLinkListSearchUnlinkUpload Attachment to CellCreate or Update
Row✓✓✓✓✓✓✓✓
Linked Row✓✓✓
Base✓✓

Row

8 operations
01

Create a row

row.create

What you see in n8n

Notes & use cases

Writes a new row in the selected table and returns it with the ID NocoDB assigned, ready for the next node.

Key parameters

  • Base Name or ID: chosen from the list, or set with an expression, the small n8n formula that reads the incoming item.
  • Table Name or ID: the table to operate on, listed once the base is selected.
  • Fields to Send: the column mapper. With Data to Send on autoMapInputData, incoming properties fall into columns of the same name; mapWithFields lets you fill each column yourself, and Inputs to Ignore drops the properties you do not want stored.
Use cases
a signup form pushes one row per lead into the table sales already reads.
02

Create or update a row

row.upsert

What you see in n8n

Notes & use cases

One operation for both cases: the row exists and gets updated, or it does not and gets created. The duplicate problem disappears from the workflow logic.

Key parameters

  • Row ID Value: the deciding field. Filled, NocoDB updates that row; left empty, it inserts a new one, which is exactly what {{ $json.id }} does when the previous node sometimes returns a match and sometimes nothing.
  • Fields to Send: the columns written in both branches, mapped automatically or set one by one through Data to Send.
Use cases
a daily import refreshes the rows already there and adds the new references, in a single node.
03

Update a row

row.update

What you see in n8n

Notes & use cases

Changes the columns you map on a row that already exists. Columns left out of the mapper keep their current value, so a workflow can own one field without touching the rest of the line.

Key parameters

  • Row ID Value: required here. NocoDB expects the ID of the record, not a name or a label, and the value usually comes from a previous search.
  • Fields to Send: only the columns you want rewritten, with Inputs to Ignore as a safety net when the incoming item carries more properties than the table should receive.
Use cases
a status column moves to Paid once the payment webhook confirms the invoice.
04

Delete a row

row.delete

What you see in n8n

Notes & use cases

Removes one record from the table. There is no confirmation step and no undo inside the workflow, so the node that feeds it matters more than the node itself.

Key parameters

  • Row ID Value: the identifier of the record to remove, typically {{ $json.Id }} from a search run just before.
  • Base Name or ID and Table Name or ID: worth double checking when several bases hold tables with the same name.
Use cases
a cleanup workflow drops the test entries a staging table collected during the week.
05

Get a row

row.get

What you see in n8n

Notes & use cases

Fetches a single record by its identifier and returns its columns as one item, which is the cheapest way to refresh data you already have a pointer to.

Key parameters

  • Row ID Value: the ID of the record to read.
  • Download Field Names or IDs: the attachment columns to pull. The list only offers fields of type attachment.
  • Download Attachments: off, you get the file metadata; on, n8n downloads the files named above as binary data, ready for an upload node or an email.
Use cases
a support workflow reads the contract row linked to a ticket and attaches the signed document to the reply.
07

Count rows

row.count

What you see in n8n

Notes & use cases

Returns how many rows match, without carrying the rows themselves through the workflow. Useful before a write, and cheap enough to run on a short schedule.

Key parameters

  • Table Name or ID: the table to measure, in the base picked above.
  • Filter By Formula: under Options, the same formula syntax as the search operation, which turns the count into a metric for one segment rather than the whole table.
Use cases
an IF node compares the count of unprocessed rows to 0 and stops the workflow early when there is nothing to do.
08

Upload attachment to a row cell

row.upload

What you see in n8n

Notes & use cases

Puts one or more files into an attachment cell of an existing row, so documents live next to the record instead of in a separate folder.

Key parameters

  • Upload Mode: url to let NocoDB fetch the file from a public address, base64 to push the file content coming from an earlier node.
  • Upload Field Name or ID: the attachment column receiving the file.
  • Filename and Content Type: the name stored in NocoDB and the type, such as image/jpeg.
  • Base64 Value or File Url: the file itself, depending on the mode.
Use cases
an invoice generated earlier in the workflow is attached to its supplier row.

Linked Row

3 operations
09

Get linked rows

linkrow.list

What you see in n8n

Notes & use cases

Reads what a record points to through a link field, and gives back the related records as separate items. It answers the question a flat read cannot: what is attached to this line.

Key parameters

  • Row ID Value: the record whose links you are reading.
  • Link Field Name or ID: the relational column to follow, offered in the list for fields of type link.
  • Return All and Limit: same pagination choice as elsewhere, with Fields, Sort and Filter By Formula available under Options.
Use cases
list the orders attached to a customer row before building a recap message.

Base

2 operations
12

Get many bases

base.getAll

What you see in n8n

Notes & use cases

Lists the bases the token can reach, with their identifiers. Most workflows never need it, and the ones that do need it a lot: it is how a run discovers where to write instead of having the base hardcoded.

Key parameters

  • Workspace Name or ID: optional, and the only setting here. Left empty, the node returns what the credential can see.
Use cases
an audit workflow lists the bases, then loops over each one to count rows and report the totals.
13

Get one base

base.get

What you see in n8n

Notes & use cases

Retrieves a single base and its details, which is mostly a resolution step: you hold an identifier, you want the object behind it.

Key parameters

  • Base Name or ID: the only required field, picked from the list or given by an expression when the identifier comes from an earlier node.
Use cases
a workflow that received a base ID in a webhook call resolves it first, then decides whether the rest of the run should proceed.
Need help

Need help automating NocoDB with n8n?

A person reads every message.

FAQ

NocoDB and n8n: common questions

01Is the NocoDB n8n integration free?
Yes on the n8n side. The NocoDB node ships with n8n, so there is nothing to install and nothing extra to pay for the connector itself. It behaves the same on n8n Cloud, the hosted offer run by n8n, and on a self-hosted instance installed with Docker or npm under the Community Edition and its Sustainable Use licence. A workflow built in one place runs in the other without changes. What your NocoDB instance costs depends on how you run it, and that side is not covered here. The only requirement is a reachable host and a valid token.
02What credentials do you need for the NocoDB node?
Two methods exist, and one is recommended. With the API Token method you create a token in NocoDB under Account Settings, then the Tokens tab, and you enter it in n8n along with the Host of your instance, for example a local address on port 8080. The second method, User Token, relies on the session auth token. NocoDB built it for quick API experiments, it stays valid until logout or for 10 hours, and NocoDB deprecated it in v0.205.1. Pick the API token. The credential is stored once in n8n and selected from a dropdown by every NocoDB node you add afterwards.
03What are the limits of the NocoDB node in n8n?
The node exposes 13 operations on 3 resources, which covers rows, linked rows and bases, and nothing else in the NocoDB API. Views can be read through the search operation, but there is no operation to create a table, a column or a view. Reads are paginated: with Return All off, the search and linked row operations stop at Limit, so an export that looks short is usually a pagination setting rather than missing data. For any endpoint the node does not cover, the HTTP Request node calls the NocoDB API directly and reuses the same credential, which keeps the token in one place.
04How do you trigger an n8n workflow from NocoDB?
Not from NocoDB itself. There is no NocoDB trigger node, so a change made inside a table does not start a workflow on its own. Two patterns replace it. The first is a Schedule Trigger, which runs at a fixed interval, followed by a Search rows operation filtered on a status column, so the workflow picks up whatever appeared since the last run and marks the rows it processed. The second is an n8n Webhook, a URL your own service or an automation calls when something happens, which then reads or writes the row. Both are reliable, they are just not instant in the first case.
05n8n or Make for NocoDB?
It depends on four things. Hosting: n8n can be self-hosted with Docker or npm, Make is hosted only, which settles the question when the data has to stay on your own servers next to your NocoDB instance. Cost model: Make bills per operation, so a workflow that walks thousands of rows behaves very differently on the invoice. Control: with n8n self-hosted, the credentials and the run history sit on your infrastructure. Visual logic: both are visual builders, and Make is often quicker to grasp on simple linear scenarios. Neither is wrong, and the review page linked above goes into detail.