NocoDB

App · Databases · 15 actions

Find, create and update records in your NocoDB tables, link them and attach files, on NocoDB Cloud or your own server.

Actions

ActionWhat it does
Add a fieldAdd a field of any common type to a table.
Attach a file to a recordAdd a file to a record's Attachment field, alongside any files already there.
Create a recordAdd a record to a table.
Create a tableAdd a table to a base, with text fields named as you list them.
Create or update a recordUpdate the record whose field has a given value, such as an email address, or create it when there isn't one.
Delete a recordPermanently delete one record from a table.
Delete a tablePermanently delete a table and every record in it.
Find recordsGet the records in a table that meet a condition, such as Status is Open or Due is before a date.
Get a recordGet one record by its ID, with every field's value.
Link recordsLink a record to records in another table through a Links field, such as a contact to their company.
List basesList every base the connection can open.
List fieldsList a table's fields with their types and choices, and the views saved on it.
List tablesList the tables in a base.
Unlink recordsRemove links between a record and records in another table.
Update a recordChange some fields of one record.

Add a field

Add a field of any common type to a table. On NocoDB Cloud this needs a token whose Fields permission is 'Read & write'.

Inputs

Basebase_idtextRequired
The NocoDB base to work in.
Tabletable_idtextRequired
The table to work in.
Field namefield_nametextRequired
What to call the field, such as Renewal date.
Typefield_typetextRequired
What the field holds.One of: text, long_text (Long text), number (Whole number), decimal, currency, percent, rating, checkbox, date, datetime (Date & time), and 11 more. Default: text.
Choiceschoiceslist
The options to choose from, for a select field.
Linked tablelinked_table_idtext
The table to link to, for a Links field.

Outputs

choiceslist
Its choices, for a select field.
idtext
The new field's ID.
linked_table_idtext
The table it links to, for a Links field.
titletext
Its name.
typetext
What it holds.
Example output
{
  "id": "c9",
  "title": "Renewal date",
  "type": "Date"
}

Attach a file to a record

Add a file to a record's Attachment field, alongside any files already there. Files up to 7 MB.

Inputs

Basebase_idtextRequired
The NocoDB base to work in.
Tabletable_idtextRequired
The table to work in.
Record IDrecord_idtextRequired
The record's ID. 'Find records' and 'Create a record' return it as 'id'.
Attachment fieldattachment_fieldtextRequired
The field to add the file to.
FilefiletextRequired
Upload a file, pick one from an earlier step, or paste a link to one.
File namefile_nametext
What to call the file in NocoDB, such as invoice.pdf. Leave blank to keep its own name.

Outputs

attachmentobject
The file just added: its title, a url that opens it, its type and size.
attachmentslist
Every file the field holds now.
fieldtext
The Attachment field.
idnumber
The record the file was added to.
Example output
{
  "attachment": {
    "mimetype": "application/pdf",
    "size": 48213,
    "title": "contract.pdf",
    "url": "https://app.nocodb.com/dltemp/abc/contract.pdf"
  },
  "attachments": [
    {
      "mimetype": "application/pdf",
      "size": 48213,
      "title": "contract.pdf",
      "url": "https://app.nocodb.com/dltemp/abc/contract.pdf"
    }
  ],
  "field": "Contract",
  "id": 12
}

Create a record

Add a record to a table. It comes back as NocoDB saved it, with its new ID.

Inputs

Basebase_idtextRequired
The NocoDB base to work in.
Tabletable_idtextRequired
The table to work in.
Field valuesfieldsobjectRequired
A value for each field to fill in. Leave a field blank to leave it empty.

Outputs

fieldsobject
The record's values, by field name. Checkboxes read true or false, dates 2026-03-01, date-times in ISO 8601, links as the linked records, and attachments as files with a url.
idnumber
The record's ID, which the other record actions take.
Example output
{
  "fields": {
    "CreatedAt": "2026-03-01T09:30:00+00:00",
    "Done": true,
    "Due": "2026-03-01",
    "Email": "ada@example.com",
    "Name": "Ada Lovelace",
    "Status": "Closed",
    "Tags": [
      "VIP",
      "Newsletter"
    ]
  },
  "id": 12
}

Create a table

Add a table to a base, with text fields named as you list them. Add fields of other types with 'Add a field'. On NocoDB Cloud this needs a token whose Tables permission is 'Read & write'.

Inputs

Basebase_idtextRequired
The NocoDB base to work in.
Table nametable_nametextRequired
What to call the table, such as Leads.
Field namesfield_nameslist
One name per field, in order. The first one becomes the name NocoDB shows for each record.

Outputs

fieldslist
Its fields, each with id, title and type.
idtext
The new table's ID.
titletext
Its name.
Example output
{
  "fields": [
    {
      "id": "c1",
      "title": "Id",
      "type": "ID"
    },
    {
      "id": "c2",
      "title": "Name",
      "type": "Text"
    }
  ],
  "id": "m4f9t2c8v1b6n3x",
  "title": "Leads"
}

Create or update a record

Update the record whose field has a given value, such as an email address, or create it when there isn't one. The result says which happened.

Inputs

Basebase_idtextRequired
The NocoDB base to work in.
Tabletable_idtextRequired
The table to work in.
Match onmatch_fieldtextRequired
The field that identifies the record, such as Email or Order number. Its values should be unique.
Match valuematch_valuetextRequired
The value that field has, such as ada@example.com.
Field valuesfieldsobject
The values to save, whether the record is found or created. Leave a field blank to leave it as it is.

Outputs

createdtrue/false
True when the record was created, false when an existing one was updated.
fieldsobject
The record's values, by field name. Checkboxes read true or false, dates 2026-03-01, date-times in ISO 8601, links as the linked records, and attachments as files with a url.
idnumber
The record's ID, which the other record actions take.
Example output
{
  "created": false,
  "fields": {
    "CreatedAt": "2026-03-01T09:30:00+00:00",
    "Done": true,
    "Due": "2026-03-01",
    "Email": "ada@example.com",
    "Name": "Ada Lovelace",
    "Status": "Closed",
    "Tags": [
      "VIP",
      "Newsletter"
    ]
  },
  "id": 12
}

Delete a record

Permanently delete one record from a table.

Inputs

Basebase_idtextRequired
The NocoDB base to work in.
Tabletable_idtextRequired
The table to work in.
Record IDrecord_idtextRequired
The record's ID. 'Find records' and 'Create a record' return it as 'id'.

Outputs

deletedtrue/false
Whether it was deleted.
idnumber
The deleted record's ID.
Example output
{
  "deleted": true,
  "id": 12
}

Delete a table

Permanently delete a table and every record in it. On NocoDB Cloud this needs a token whose Tables permission is 'Read & write'.

Inputs

Basebase_idtextRequired
The NocoDB base to work in.
Tabletable_idtextRequired
The table to work in.

Outputs

deletedtrue/false
Whether it was deleted.
idtext
The deleted table's ID.
titletext
Its name.
Example output
{
  "deleted": true,
  "id": "m4f9t2c8v1b6n3x",
  "title": "Leads"
}

Find records

Get the records in a table that meet a condition, such as Status is Open or Due is before a date. Leave the condition blank to get every record. For anything more involved, save a view in NocoDB and start from it.

Inputs

Basebase_idtextRequired
The NocoDB base to work in.
Tabletable_idtextRequired
The table to work in.
Viewview_idtext
Only the records a saved view shows, in its order. Leave blank to search the whole table.
Wherefilter_fieldtext
The field to check. Leave blank to get every record.
Conditionconditiontext
How the field is compared with the value.One of: equals (is), not_equals (is not), contains, not_contains (does not contain), greater (is greater than / after), less (is less than / before), at_least (is at least / on or after), at_most (is at most / on or before), empty (is empty), not_empty (is not empty). Default: equals.
Valuevaluetext
What to compare the field with. Dates go in as 2026-03-01, checkboxes as yes or no, and several choices separated by commas. Not needed for 'is empty'.
Sort bysort_fieldtext
The field to put the records in order by.
Ordersort_directiontext
Which way to sort.One of: ascending (A → Z, smallest or oldest first), descending (Z → A, largest or newest first). Default: ascending.
Maximum recordsmax_recordsnumber
The most records to return, up to 1,000.From 1 to 1000. Default: 100.

Outputs

countnumber
How many records came back.
has_moretrue/false
True when more records match than 'Maximum records' let through.
recordslist
The matching records.
Example output
{
  "count": 1,
  "has_more": false,
  "records": [
    {
      "fields": {
        "CreatedAt": "2026-03-01T09:30:00+00:00",
        "Done": true,
        "Due": "2026-03-01",
        "Email": "ada@example.com",
        "Name": "Ada Lovelace",
        "Status": "Closed",
        "Tags": [
          "VIP",
          "Newsletter"
        ]
      },
      "id": 12
    }
  ]
}

Get a record

Get one record by its ID, with every field's value.

Inputs

Basebase_idtextRequired
The NocoDB base to work in.
Tabletable_idtextRequired
The table to work in.
Record IDrecord_idtextRequired
The record's ID. 'Find records' and 'Create a record' return it as 'id'.

Outputs

fieldsobject
The record's values, by field name. Checkboxes read true or false, dates 2026-03-01, date-times in ISO 8601, links as the linked records, and attachments as files with a url.
idnumber
The record's ID, which the other record actions take.
Example output
{
  "fields": {
    "CreatedAt": "2026-03-01T09:30:00+00:00",
    "Done": true,
    "Due": "2026-03-01",
    "Email": "ada@example.com",
    "Name": "Ada Lovelace",
    "Status": "Closed",
    "Tags": [
      "VIP",
      "Newsletter"
    ]
  },
  "id": 12
}

Link a record to records in another table through a Links field, such as a contact to their company. Links it already has are kept.

Inputs

Basebase_idtextRequired
The NocoDB base to work in.
Tabletable_idtextRequired
The table to work in.
Record IDrecord_idtextRequired
The record's ID. 'Find records' and 'Create a record' return it as 'id'.
Links fieldlink_fieldtextRequired
The field that links this table to the other one.
Linked record IDslinked_record_idslistRequired
The IDs of the records in the other table, such as 4 and 7.

Outputs

fieldtext
The Links field.
idnumber
The record the links belong to.
linkednumber
How many records were linked.
linked_recordslist
Every record the field links to now, each with its id.
Example output
{
  "field": "Company",
  "id": 12,
  "linked": 1,
  "linked_records": [
    {
      "fields": {
        "Company": "Acme Inc."
      },
      "id": 4
    }
  ]
}

List bases

List every base the connection can open.

Inputs

None.

Outputs

baseslist
The bases.
countnumber
How many bases there are.
Example output
{
  "bases": [
    {
      "id": "p8x2kq7w1m3n5r0",
      "title": "CRM",
      "workspace": "Acme"
    }
  ],
  "count": 1
}

List fields

List a table's fields with their types and choices, and the views saved on it.

Inputs

Basebase_idtextRequired
The NocoDB base to work in.
Tabletable_idtextRequired
The table to work in.

Outputs

countnumber
How many fields there are.
display_fieldtext
The field NocoDB shows as each record's name.
fieldslist
The fields, in the table's order.
tabletext
The table's name.
viewslist
The views saved on the table, each with its id, title and type.
Example output
{
  "count": 3,
  "display_field": "Name",
  "fields": [
    {
      "can_write": false,
      "id": "c1",
      "title": "Id",
      "type": "ID"
    },
    {
      "can_write": true,
      "id": "c2",
      "title": "Name",
      "type": "Text"
    },
    {
      "can_write": true,
      "choices": [
        "Active",
        "Churned"
      ],
      "id": "c3",
      "title": "Status",
      "type": "Single select"
    }
  ],
  "table": "Contacts",
  "views": [
    {
      "id": "vw1",
      "title": "Contacts",
      "type": "grid"
    }
  ]
}

List tables

List the tables in a base.

Inputs

Basebase_idtextRequired
The NocoDB base to work in.

Outputs

countnumber
How many tables there are.
tableslist
The tables.
Example output
{
  "count": 1,
  "tables": [
    {
      "id": "m4f9t2c8v1b6n3x",
      "title": "Contacts"
    }
  ]
}

Remove links between a record and records in another table. The records themselves aren't deleted.

Inputs

Basebase_idtextRequired
The NocoDB base to work in.
Tabletable_idtextRequired
The table to work in.
Record IDrecord_idtextRequired
The record's ID. 'Find records' and 'Create a record' return it as 'id'.
Links fieldlink_fieldtextRequired
The field that links this table to the other one.
Linked record IDslinked_record_idslistRequired
The IDs of the records in the other table, such as 4 and 7.

Outputs

fieldtext
The Links field.
idnumber
The record the links belong to.
linked_recordslist
Every record the field links to now, each with its id.
unlinkednumber
How many links were removed.
Example output
{
  "field": "Company",
  "id": 12,
  "linked_records": [],
  "unlinked": 1
}

Update a record

Change some fields of one record. Fields left blank keep what they have.

Inputs

Basebase_idtextRequired
The NocoDB base to work in.
Tabletable_idtextRequired
The table to work in.
Record IDrecord_idtextRequired
The record's ID. 'Find records' and 'Create a record' return it as 'id'.
Field valuesfieldsobjectRequired
The fields to change and their new values. Leave a field blank to keep what it already has.

Outputs

fieldsobject
The record's values, by field name. Checkboxes read true or false, dates 2026-03-01, date-times in ISO 8601, links as the linked records, and attachments as files with a url.
idnumber
The record's ID, which the other record actions take.
Example output
{
  "fields": {
    "CreatedAt": "2026-03-01T09:30:00+00:00",
    "Done": true,
    "Due": "2026-03-01",
    "Email": "ada@example.com",
    "Name": "Ada Lovelace",
    "Status": "Closed",
    "Tags": [
      "VIP",
      "Newsletter"
    ]
  },
  "id": 12
}

On this page