Updated Jul 15, 2026

Utilities

Bridge workflow findings and Airtable bases

Import, export, and upsert workflow data against an Airtable base.

Agent

overview

What airtable-integration does

airtable-integration sits at pipeline edges: import shaped JSON into a named --table under --base, or export rows to feed discovery. Subcommands are import and export. Outputs are a file and a folder for downstream nodes.

Reach for it when the team already triages in Airtable. Pass --config (jq field maps), --input-json or --input-list, and optional --link-table with --link-field. Re-runs stay clean with --update plus --primary so matched rows patch instead of duplicating.

Unlike json2html or generate-yaml-report, this writes a live editable base, not a static report. Export supports --formula, --fields, --max-records, and --expand. Trickest runs it as a managed node; supply --api-key as an input.

use cases

Where airtable-integration fits

Publish workflow findings into Airtable

Import a JSON output into a table so results land in a base the team can sort, filter, and comment on, instead of a raw file no one opens.

Drive a workflow from an Airtable target list

Export a table of domains or assets, optionally narrowed with an Airtable formula, and feed it into discovery so the source of truth stays in the base.

Keep records in sync without duplicates

Run import with --update and --primary so re-running the workflow patches existing rows matched on the primary field rather than creating new ones each time.

Link related records across tables

Import with --link-table and --link-field so new records connect to existing rows on a shared field, building relationships the team can navigate in the base.

reference

airtable-integration inputs and flags

18 inputs
NameTypeFlagDescription
api-keySTRING--api-keyAirtable API key, generated from your Airtable account page.
baseSTRING--baseAirtable Base ID (starts with app followed by 14 characters).
tableSTRING--tableName of the table to import into or export from.
configFILE--configConfig file of jq queries that map input JSON to Airtable columns.
input-jsonFILE--input-jsonInput JSON to import into the table.
formulaSTRING--formulaAirtable formula used to filter the table on export.
updateBOOLEAN--updateUpdate existing records instead of creating new ones.
primary-fieldSTRING--primaryName of the primary field, required with --update.

Showing key inputs. airtable-integration exposes 18 inputs in total.

Full flag reference (18 inputs)
NameTypeFlagDescription
import-modeBOOLEANimportImport subcommand: push a JSON file into Airtable and optionally link records to another table.
export-modeBOOLEANexportExport subcommand: read a table from Airtable while resolving links to other tables.
api-keySTRING--api-keyAirtable API key.
baseSTRING--baseAirtable Base ID (starts with app followed by 14 characters).
tableSTRING--tableName of the table to import into or export from.
configFILE--configConfig file of jq queries that map input JSON to Airtable columns.
input-jsonFILE--input-jsonInput JSON to import into the table.
input-listFILE--input-listInput list to import, one value per line.
fieldSTRING--fieldName of the field to populate when importing from --input-list.
link-tableSTRING--link-tableName of the table to link imported records to.
link-fieldSTRING--link-fieldCommon field shared between the main table and the link table.
updateBOOLEAN--updateUpdate existing records instead of creating new ones.
primary-fieldSTRING--primaryName of the primary field, required with --update.
fieldsSTRING--fieldsTable fields to export, as a comma-separated list.
formulaSTRING--formulaAirtable formula used to filter the table on export.
expandBOOLEAN--expandExpand linked fields on export instead of returning record IDs.
expand-fieldsSTRING--expand-fieldsLinked-table fields to expand, as a comma-separated list.
max-recordsSTRING--max-recordsMaximum total number of records returned on export.

example

Run airtable-integration

airtable-integration · command
# import shaped workflow findings into Airtable, updating rows by primary fieldairtable import --base appEXAMPLE0000000 --api-key $AIRTABLE_API_KEY --table Findings --config airtable-fields.json --input-json findings.json --link-table Hosts --link-field host --update --primary name
sample output
[*] Input records: 18[*] Existing records: 9[*] New records: 9[*] Updated records: 9[*] Creating new records...[*] 9/9[*] Done[*] Updating Airtable records...[*] 9/9[*] Done

guidance

Choosing airtable-integration

Use when a workflow must read from or write to an Airtable base: publish findings into a shared view, or pull a filtered target list. It is a data bridge at pipeline edges, not a scanner. Prefer json2html or generate-yaml-report for static, non-synced deliverables.

json2html

Renders JSON as an HTML report. Prefer for read-only sharing when nobody needs an editable base.

generate-yaml-report

Builds a structured report file. Prefer when you want a document rather than a synced table.

faq

airtable-integration questions

Yes. `airtable import` pushes JSON into a table and can link rows to another table. `airtable export` pulls a table back out and can resolve links so you get expanded related fields instead of bare record IDs.

Run airtable-integration yourself

A JSON findings file feeds airtable-integration, which shapes it with JQ and imports the records into an Airtable base the team can work in.

Facts on this page come from the live Trickest tool library.