The workflow JSON
Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →
{
"name": "Loop 1 \u2014 Email CLM",
"nodes": [
{
"parameters": {
"rule": {
"interval": [
{
"field": "minutes",
"minutesInterval": 1
}
]
}
},
"id": "node-cron-1",
"name": "Cron Trigger",
"type": "n8n-nodes-base.scheduleTrigger",
"typeVersion": 1.1,
"position": [
200,
300
]
},
{
"parameters": {
"operation": "list",
"base": {
"__rl": true,
"value": "YOUR_AIRTABLE_BASE_ID",
"mode": "id"
},
"table": {
"__rl": true,
"value": "Leads",
"mode": "name"
},
"filterByFormula": "AND({status}='active',{lifecycle_stage}!='',{next_email_at}!='',IS_BEFORE({next_email_at},NOW()))"
},
"id": "node-at-list-1",
"name": "List CLM Leads",
"type": "n8n-nodes-base.airtable",
"typeVersion": 2,
"position": [
420,
300
],
"credentials": {
"airtableTokenApi": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"jsCode": "const stage=$json.fields?.lifecycle_stage||'new';\nconst seg=$json.fields?.segment||'cold';\nconst templates={new:'Welcome to our platform - here is how to get started.',trial:'Your trial is active - here are 3 things to do first.',active:'You are making great progress - here is what to do next.',churning:'We noticed you have been less active - can we help?'};\nconst body=templates[stage]||templates['new'];\nconst mins={hot:1,warm:10,cold:30};\nconst next=new Date(Date.now()+mins[seg]*60000).toISOString();\nreturn[{json:{...$json,email_body:body,next_email_at:next,last_email_at:new Date().toISOString()}}];"
},
"id": "node-build-1",
"name": "Build CLM Email",
"type": "n8n-nodes-base.code",
"typeVersion": 2,
"position": [
640,
300
]
},
{
"parameters": {
"operation": "create",
"base": {
"__rl": true,
"value": "YOUR_AIRTABLE_BASE_ID",
"mode": "id"
},
"table": {
"__rl": true,
"value": "Interactions",
"mode": "name"
},
"fields": {
"fieldMappingMode": "defineBelow",
"value": {
"values": [
{
"fieldId": "lead_id",
"fieldValue": "={{$json.id}}"
},
{
"fieldId": "type",
"fieldValue": "email"
},
{
"fieldId": "channel",
"fieldValue": "email"
},
{
"fieldId": "direction",
"fieldValue": "outbound"
},
{
"fieldId": "segment_at_time",
"fieldValue": "={{$json.fields.segment}}"
},
{
"fieldId": "score_at_time",
"fieldValue": "={{$json.fields.score}}"
},
{
"fieldId": "status",
"fieldValue": "sent"
},
{
"fieldId": "loop_source",
"fieldValue": "loop_1"
},
{
"fieldId": "created_at",
"fieldValue": "={{$json.last_email_at}}"
}
]
}
}
},
"id": "node-at-interact-1",
"name": "Log Interaction",
"type": "n8n-nodes-base.airtable",
"typeVersion": 2,
"position": [
860,
300
],
"credentials": {
"airtableTokenApi": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"operation": "update",
"base": {
"__rl": true,
"value": "YOUR_AIRTABLE_BASE_ID",
"mode": "id"
},
"table": {
"__rl": true,
"value": "Leads",
"mode": "name"
},
"id": "={{$json.id}}",
"fields": {
"fieldMappingMode": "defineBelow",
"value": {
"values": [
{
"fieldId": "last_email_at",
"fieldValue": "={{$json.last_email_at}}"
},
{
"fieldId": "next_email_at",
"fieldValue": "={{$json.next_email_at}}"
}
]
}
}
},
"id": "node-at-update-1",
"name": "Update Lead",
"type": "n8n-nodes-base.airtable",
"typeVersion": 2,
"position": [
1080,
300
],
"credentials": {
"airtableTokenApi": {
"name": "<your credential>"
}
}
}
],
"connections": {
"Cron Trigger": {
"main": [
[
{
"node": "List CLM Leads",
"type": "main",
"index": 0
}
]
]
},
"List CLM Leads": {
"main": [
[
{
"node": "Build CLM Email",
"type": "main",
"index": 0
}
]
]
},
"Build CLM Email": {
"main": [
[
{
"node": "Log Interaction",
"type": "main",
"index": 0
}
]
]
},
"Log Interaction": {
"main": [
[
{
"node": "Update Lead",
"type": "main",
"index": 0
}
]
]
}
},
"settings": {
"executionOrder": "v1"
},
"tags": []
}
Credentials you'll need
Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.
airtableTokenApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
Loop 1 — Email CLM. Uses airtable. Scheduled trigger; 5 nodes.
Source: https://gist.github.com/axisassists/ea249e6223c4edebd76f0469ae0293a2 — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
I prepared a detailed guide that showed the whole process of integrating the Binance API and storing data in Airtable to manage funding statements associated with tokens in a wallet.
Stop wasting hours on manual dialing and listening to ringtones. This workflow transforms your Airtable into a high-velocity AI Call Center using Vapi AI**.
Reel-Analysis-Of-Favourite-Content-Creator. Uses httpRequest, airtable. Scheduled trigger; 26 nodes.
Link-By-Reel-Analysis. Uses httpRequest, airtable. Scheduled trigger; 24 nodes.
> Transform your content strategy with automated competitor intelligence