digi-stud.io

digi-stud.io

Fetch Hierarchical Data Records from Airtable with Multi-level Relationships

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 records, 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 for execution

Input Parameters

The workflow accepts a JSON array with the following structure:

 [
 {
 "base_id": "appN8nPMGoLNuzUbY",
 "table_id": "tblLVOwpYIe0fGQ52",
 "record_id": "reczMh1Pp5l94HdYf",
 "level_3": [
 "fldRaFra1rLta66cD",
 "fld3FxCaYk8AVaEHt"
 ],
 "to_html": true
 }
 ]

Parameter Details

Parameter Type Required Description
base_id string Yes Airtable base identifier
table_id string Yes Airtable table identifier for the main record
record_id string Yes Airtable record identifier to fetch
level_3 array No Array of field IDs from level 2 records for which to fetch level 3 children
to_html 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:

 {
 "id": "recXXXXXXX", 
"field_1": ...,
 "field_2": ...,
 "level2_child": [
 {
 "id": "recXXXXXXX",
 "field_a": ...,
 "field_b": ...,
 "level3_child": [
 {
 "id": "recXXXXXXX",
 "field_y": ...,
 "field_z": ...,
 },
 ...
 ]
 },
 ...
 ]
 }
Do you want to automate your business?

Let's talk about your project