Fetch hierarchical data records from Airtable with multi-level relationships
Ready for 3.0Ready for 3.0. This template uses no nodes that n8n 3.0 removes. No removed nodes, versions or helpers found. Static check, last run 2026-10-19.
Nodes used (11)
- Execute Workflow Trigger
n8n-nodes-base.executeWorkflowTrigger - Edit Fields (Set)
n8n-nodes-base.set - Split Out
n8n-nodes-base.splitOut - Filter
n8n-nodes-base.filter - Airtable
n8n-nodes-base.airtable - Code
n8n-nodes-base.code - HTTP Request
n8n-nodes-base.httpRequest - If
n8n-nodes-base.if - Merge
n8n-nodes-base.merge - Aggregate
n8n-nodes-base.aggregate - Loop Over Items (Split in Batches)
n8n-nodes-base.splitInBatches
What it does
Airtable Hierarchical Record Fetcher Description This n8n workflow retrieves an Airtable record along with its related child records in a hierarchical structure. It can fetch up to 3 levels of linked records and assembles them into a comprehensive JSON object, making it ideal for complex data relationships and nested record structures. Features - Multi-level Record Fetching: Retrieves parent record, linked child records (level 2), and optionally grandchild records (level 3) - API Call Optimization: Uses Airtable's filterByFormula to minimize API calls by fetching multiple related records in single requests - Selective Level 3 Fetching: Only fetches level 3 records for specified linked fields to optimize performance - Rich Text Processing: Converts Airtable's pseudo-markdown rich text fields to HTML format - Hierarchical JSON Output: Organizes all data in a structured, nested JSON format - Flexible Configuration: Customizable depth and field selection per execution Input Parameters The workflow accepts a JSON array with the following structure: json { "baseid": "appN8nPMGoLNuzUbY", "tableid": "tblLVOwpYIe0fGQ52", "recordid": "reczMh1Pp5l94HdYf", "level3": "fldRaFra1rLta66cD", "fld3FxCaYk8AVaEHt" , "tohtml": true } Parameter Details | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | baseid | string | Yes | Airtable base identifier | | tableid | string | Yes | Airtable table identifier for the main record | | recordid | string | Yes | Airtable record identifier to fetch | | level3 | array | No | Array of field IDs from level 2 records for which to fetch level 3 children | | tohtml | boolean | No | Convert rich text fields from pseudo-markdown to HTML (default: false). This requires marked npm package. | Output Structure The workflow returns a hierarchical JSON object with the following structure: json { "id": "recXXXXXXX", "field1": ..., "field2": ..., "level2child": { "id": "recXXXXXXX", "fielda": ..., "fieldb": ..., "level3child": { "id": "recXXXXXXX", "fieldy": ..., "fieldz": ..., }, ... }, ... }