loading
loading
Utilities
Import, export, and upsert workflow data against an Airtable base.
overview
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
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.
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.
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.
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
| Name | Type | Flag | Description |
|---|---|---|---|
| api-key | STRING | --api-key | Airtable API key, generated from your Airtable account page. |
| base | STRING | --base | Airtable Base ID (starts with app followed by 14 characters). |
| table | STRING | --table | Name of the table to import into or export from. |
| config | FILE | --config | Config file of jq queries that map input JSON to Airtable columns. |
| input-json | FILE | --input-json | Input JSON to import into the table. |
| formula | STRING | --formula | Airtable formula used to filter the table on export. |
| update | BOOLEAN | --update | Update existing records instead of creating new ones. |
| primary-field | STRING | --primary | Name of the primary field, required with --update. |
Showing key inputs. airtable-integration exposes 18 inputs in total.
| Name | Type | Flag | Description |
|---|---|---|---|
| import-mode | BOOLEAN | import | Import subcommand: push a JSON file into Airtable and optionally link records to another table. |
| export-mode | BOOLEAN | export | Export subcommand: read a table from Airtable while resolving links to other tables. |
| api-key | STRING | --api-key | Airtable API key. |
| base | STRING | --base | Airtable Base ID (starts with app followed by 14 characters). |
| table | STRING | --table | Name of the table to import into or export from. |
| config | FILE | --config | Config file of jq queries that map input JSON to Airtable columns. |
| input-json | FILE | --input-json | Input JSON to import into the table. |
| input-list | FILE | --input-list | Input list to import, one value per line. |
| field | STRING | --field | Name of the field to populate when importing from --input-list. |
| link-table | STRING | --link-table | Name of the table to link imported records to. |
| link-field | STRING | --link-field | Common field shared between the main table and the link table. |
| update | BOOLEAN | --update | Update existing records instead of creating new ones. |
| primary-field | STRING | --primary | Name of the primary field, required with --update. |
| fields | STRING | --fields | Table fields to export, as a comma-separated list. |
| formula | STRING | --formula | Airtable formula used to filter the table on export. |
| expand | BOOLEAN | --expand | Expand linked fields on export instead of returning record IDs. |
| expand-fields | STRING | --expand-fields | Linked-table fields to expand, as a comma-separated list. |
| max-records | STRING | --max-records | Maximum total number of records returned on export. |
example
# 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[*] Input records: 18[*] Existing records: 9[*] New records: 9[*] Updated records: 9[*] Creating new records...[*] 9/9[*] Done[*] Updating Airtable records...[*] 9/9[*] Doneguidance
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.
Renders JSON as an HTML report. Prefer for read-only sharing when nobody needs an editable base.
Builds a structured report file. Prefer when you want a document rather than a synced table.
faq
related
Spider a URL and return a wordlist for password crackers.
Wordlist and mined-word subdomain permutation.
Decode Android APK files into smali sources and resources.
Check a file's values against conditions and exit with a matching code.
Authenticated Route53 hosted-zone inventory.
Extract file or folder lines by START_LINE,END_LINE batch range.
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.