This workflow follows the Agent → Airtable recipe pattern — see all workflows that pair these two integrations.
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": "ContentCalendar",
"nodes": [
{
"parameters": {
"pollTimes": {
"item": [
{
"mode": "everyMinute"
}
]
},
"authentication": "airtableTokenApi",
"baseId": {
"__rl": true,
"value": "https://airtable.com/appXBHmjTdHh5YZ7U/tbl68MH4pQgGu7XS5/viwnsmAF4PRDYb88F?blocks=hide",
"mode": "url"
},
"tableId": {
"__rl": true,
"value": "https://airtable.com/appXBHmjTdHh5YZ7U/tbl68MH4pQgGu7XS5/viwnsmAF4PRDYb88F?blocks=hide",
"mode": "url"
},
"triggerField": "Created",
"additionalFields": {}
},
"type": "n8n-nodes-base.airtableTrigger",
"typeVersion": 1,
"position": [
-1184,
328
],
"id": "8afad002-8454-4a4c-ac20-7260a1037ebf",
"name": "Airtable Trigger",
"credentials": {
"airtableTokenApi": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"model": "deepseek/deepseek-chat-v3-0324:free",
"options": {}
},
"type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
"typeVersion": 1,
"position": [
160,
-1088
],
"id": "1bfdaaae-bf5d-4b66-b879-e6d9d14e551f",
"name": "OpenRouter Chat Model",
"credentials": {
"openRouterApi": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"operation": "create",
"base": {
"__rl": true,
"value": "appXBHmjTdHh5YZ7U",
"mode": "list",
"cachedResultName": "N8nFlow",
"cachedResultUrl": "https://airtable.com/appXBHmjTdHh5YZ7U"
},
"table": {
"__rl": true,
"value": "tblTywsISLJt4zTRR",
"mode": "list",
"cachedResultName": "ContentCalendar",
"cachedResultUrl": "https://airtable.com/appXBHmjTdHh5YZ7U/tblTywsISLJt4zTRR"
},
"columns": {
"mappingMode": "defineBelow",
"value": {
"Day1": "={{ $json.output[0]['Day 1'] }}",
"Day2": "={{ $json.output[1]['Day 2'] }}",
"Day3": "={{ $json.output[2]['Day 3'] }}",
"Day4": "={{ $json.output[3]['Day 4'] }}",
"Day5": "={{ $json.output[4]['Day 5'] }}",
"Day6": "={{ $json.output[5]['Day 6'] }}",
"Day7": "={{ $json.output[6]['Day 7'] }}",
"Day8": "={{ $json.output[7]['Day 8'] }}",
"Day9": "={{ $json.output[8]['Day 9'] }}",
"Day10": "={{ $json.output[9]['Day 10'] }}",
"Day11": "={{ $json.output[10]['Day 11'] }}",
"Day12": "={{ $json.output[11]['Day 12'] }}",
"Day13": "={{ $json.output[12]['Day 13'] }}",
"Day14": "={{ $json.output[13]['Day 14'] }}",
"Day15": "={{ $json.output[14]['Day 15'] }}",
"Day16": "={{ $json.output[15]['Day 16'] }}",
"Day17": "={{ $json.output[16]['Day 17'] }}",
"Day18": "={{ $json.output[17]['Day 18'] }}",
"Day19": "={{ $json.output[18]['Day 19'] }}",
"Day20": "={{ $json.output[19]['Day 20'] }}",
"Day21": "={{ $json.output[20]['Day 21'] }}",
"Day22": "={{ $json.output[21]['Day 22'] }}",
"Day23": "={{ $json.output[22]['Day 23'] }}",
"Day24": "={{ $json.output[23]['Day 24'] }}",
"Day25": "={{ $json.output[24]['Day 25'] }}",
"Day26": "={{ $json.output[25]['Day 26'] }}",
"Day27": "={{ $json.output[26]['Day 27'] }}",
"Day28": "={{ $json.output[27]['Day 28'] }}",
"Day29": "={{ $json.output[28]['Day 29'] }}",
"Day30": "={{ $json.output[29]['Day 30'] }}",
"Day31": "={{ $json.output[30]['Day 31'] }}",
"Day32": "={{ $json.output[31]['Day 32'] }}",
"Day33": "={{ $json.output[32]['Day 33'] }}",
"Day34": "={{ $json.output[33]['Day 34'] }}",
"Day35": "={{ $json.output[34]['Day 35'] }}",
"Day36": "={{ $json.output[35]['Day 36'] }}",
"Day37": "={{ $json.output[36]['Day 37'] }}",
"Day38": "={{ $json.output[37]['Day 38'] }}",
"Day39": "={{ $json.output[38]['Day 39'] }}",
"Day40": "={{ $json.output[39]['Day 40'] }}",
"Day41": "={{ $json.output[40]['Day 41'] }}",
"Day42": "={{ $json.output[41]['Day 42'] }}",
"Day43": "={{ $json.output[42]['Day 43'] }}",
"Day44": "={{ $json.output[43]['Day 44'] }}",
"Day45": "={{ $json.output[44]['Day 45'] }}",
"Day46": "={{ $json.output[45]['Day 46'] }}",
"Day47": "={{ $json.output[46]['Day 47'] }}",
"Day48": "={{ $json.output[47]['Day 48'] }}",
"Day49": "={{ $json.output[48]['Day 49'] }}",
"Day50": "={{ $json.output[49]['Day 50'] }}",
"Day51": "={{ $json.output[50]['Day 51'] }}",
"Day52": "={{ $json.output[51]['Day 52'] }}",
"Day53": "={{ $json.output[52]['Day 53'] }}",
"Day54": "={{ $json.output[53]['Day 54'] }}",
"Day55": "={{ $json.output[54]['Day 55'] }}",
"Day56": "={{ $json.output[55]['Day 56'] }}",
"Day57": "={{ $json.output[56]['Day 57'] }}",
"Day58": "={{ $json.output[57]['Day 58'] }}",
"Day59": "={{ $json.output[58]['Day 59'] }}",
"Day60": "={{ $json.output[59]['Day 60'] }}",
"Day61": "={{ $json.output[60]['Day 61'] }}",
"Day62": "={{ $json.output[61]['Day 62'] }}",
"Day63": "={{ $json.output[62]['Day 63'] }}",
"Day64": "={{ $json.output[63]['Day 64'] }}",
"Day65": "={{ $json.output[64]['Day 65'] }}",
"Day66": "={{ $json.output[65]['Day 66'] }}",
"Day67": "={{ $json.output[66]['Day 67'] }}",
"Day68": "={{ $json.output[67]['Day 68'] }}",
"Day69": "={{ $json.output[68]['Day 69'] }}",
"Day70": "={{ $json.output[69]['Day 70'] }}",
"Day71": "={{ $json.output[70]['Day 71'] }}",
"Day72": "={{ $json.output[71]['Day 72'] }}",
"Day73": "={{ $json.output[72]['Day 73'] }}",
"Day74": "={{ $json.output[73]['Day 74'] }}",
"Day75": "={{ $json.output[74]['Day 75'] }}",
"Day76": "={{ $json.output[75]['Day 76'] }}",
"Day77": "={{ $json.output[76]['Day 77'] }}",
"Day78": "={{ $json.output[77]['Day 78'] }}",
"Day80": "={{ $json.output[79]['Day 80'] }}",
"Day81": "={{ $json.output[80]['Day 81'] }}",
"Day82": "={{ $json.output[81]['Day 82'] }}",
"Day83": "={{ $json.output[82]['Day 83'] }}",
"Day84": "={{ $json.output[83]['Day 84'] }}",
"Day79": "={{ $json.output[78]['Day 79'] }}"
},
"matchingColumns": [],
"schema": [
{
"id": "RunNumber",
"displayName": "RunNumber",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "number",
"readOnly": false,
"removed": true
},
{
"id": "Day1",
"displayName": "Day1",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day2",
"displayName": "Day2",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day3",
"displayName": "Day3",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day4",
"displayName": "Day4",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day5",
"displayName": "Day5",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day6",
"displayName": "Day6",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day7",
"displayName": "Day7",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day8",
"displayName": "Day8",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day9",
"displayName": "Day9",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day10",
"displayName": "Day10",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day11",
"displayName": "Day11",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day12",
"displayName": "Day12",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day13",
"displayName": "Day13",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day14",
"displayName": "Day14",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day15",
"displayName": "Day15",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day16",
"displayName": "Day16",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day17",
"displayName": "Day17",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day18",
"displayName": "Day18",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day19",
"displayName": "Day19",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day20",
"displayName": "Day20",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day21",
"displayName": "Day21",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day22",
"displayName": "Day22",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day23",
"displayName": "Day23",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day24",
"displayName": "Day24",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day25",
"displayName": "Day25",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day26",
"displayName": "Day26",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day27",
"displayName": "Day27",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day28",
"displayName": "Day28",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day29",
"displayName": "Day29",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day30",
"displayName": "Day30",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day31",
"displayName": "Day31",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day32",
"displayName": "Day32",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day33",
"displayName": "Day33",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day34",
"displayName": "Day34",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day35",
"displayName": "Day35",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day36",
"displayName": "Day36",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day37",
"displayName": "Day37",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day38",
"displayName": "Day38",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day39",
"displayName": "Day39",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day40",
"displayName": "Day40",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day41",
"displayName": "Day41",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day42",
"displayName": "Day42",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day43",
"displayName": "Day43",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day44",
"displayName": "Day44",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day45",
"displayName": "Day45",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day46",
"displayName": "Day46",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day47",
"displayName": "Day47",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day48",
"displayName": "Day48",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day49",
"displayName": "Day49",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day50",
"displayName": "Day50",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day51",
"displayName": "Day51",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day52",
"displayName": "Day52",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day53",
"displayName": "Day53",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day54",
"displayName": "Day54",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day55",
"displayName": "Day55",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day56",
"displayName": "Day56",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day57",
"displayName": "Day57",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day58",
"displayName": "Day58",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day59",
"displayName": "Day59",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day60",
"displayName": "Day60",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day61",
"displayName": "Day61",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day62",
"displayName": "Day62",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day63",
"displayName": "Day63",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day64",
"displayName": "Day64",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day65",
"displayName": "Day65",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day66",
"displayName": "Day66",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day67",
"displayName": "Day67",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day68",
"displayName": "Day68",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day69",
"displayName": "Day69",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day70",
"displayName": "Day70",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day71",
"displayName": "Day71",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day72",
"displayName": "Day72",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day73",
"displayName": "Day73",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day74",
"displayName": "Day74",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day75",
"displayName": "Day75",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day76",
"displayName": "Day76",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day77",
"displayName": "Day77",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day78",
"displayName": "Day78",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day79",
"displayName": "Day79",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day80",
"displayName": "Day80",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day81",
"displayName": "Day81",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day82",
"displayName": "Day82",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day83",
"displayName": "Day83",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Day84",
"displayName": "Day84",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Created",
"displayName": "Created",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": true,
"removed": false
}
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {}
},
"type": "n8n-nodes-base.airtable",
"typeVersion": 2.1,
"position": [
-160,
328
],
"id": "15abe780-98a2-4f08-9f0d-b38b8b18622a",
"name": "Create a record",
"credentials": {
"airtableTokenApi": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"schemaType": "manual",
"inputSchema": "[\n { \"Day 1\": \"Post\" },\n { \"Day 2\": \"Post\" },\n { \"Day 3\": \"Post\" },\n { \"Day 4\": \"Post\" },\n { \"Day 5\": \"Post\" },\n { \"Day 6\": \"Post\" },\n { \"Day 7\": \"Post\" },\n { \"Day 8\": \"Post\" },\n { \"Day 9\": \"Post\" },\n { \"Day 10\": \"Post\" },\n { \"Day 11\": \"Post\" },\n { \"Day 12\": \"Post\" },\n { \"Day 13\": \"Post\" },\n { \"Day 14\": \"Post\" },\n { \"Day 15\": \"Post\" },\n { \"Day 16\": \"Post\" },\n { \"Day 17\": \"Post\" },\n { \"Day 18\": \"Post\" },\n { \"Day 19\": \"Post\" },\n { \"Day 20\": \"Post\" },\n { \"Day 21\": \"Post\" },\n { \"Day 22\": \"Post\" },\n { \"Day 23\": \"Post\" },\n { \"Day 24\": \"Post\" },\n { \"Day 25\": \"Post\" },\n { \"Day 26\": \"Post\" },\n { \"Day 27\": \"Post\" },\n { \"Day 28\": \"Post\" },\n { \"Day 29\": \"Post\" },\n { \"Day 30\": \"Post\" },\n { \"Day 31\": \"Post\" },\n { \"Day 32\": \"Post\" },\n { \"Day 33\": \"Post\" },\n { \"Day 34\": \"Post\" },\n { \"Day 35\": \"Post\" },\n { \"Day 36\": \"Post\" },\n { \"Day 37\": \"Post\" },\n { \"Day 38\": \"Post\" },\n { \"Day 39\": \"Post\" },\n { \"Day 40\": \"Post\" },\n { \"Day 41\": \"Post\" },\n { \"Day 42\": \"Post\" },\n { \"Day 43\": \"Post\" },\n { \"Day 44\": \"Post\" },\n { \"Day 45\": \"Post\" },\n { \"Day 46\": \"Post\" },\n { \"Day 47\": \"Post\" },\n { \"Day 48\": \"Post\" },\n { \"Day 49\": \"Post\" },\n { \"Day 50\": \"Post\" },\n { \"Day 51\": \"Post\" },\n { \"Day 52\": \"Post\" },\n { \"Day 53\": \"Post\" },\n { \"Day 54\": \"Post\" },\n { \"Day 55\": \"Post\" },\n { \"Day 56\": \"Post\" },\n { \"Day 57\": \"Post\" },\n { \"Day 58\": \"Post\" },\n { \"Day 59\": \"Post\" },\n { \"Day 60\": \"Post\" },\n { \"Day 61\": \"Post\" },\n { \"Day 62\": \"Post\" },\n { \"Day 63\": \"Post\" },\n { \"Day 64\": \"Post\" },\n { \"Day 65\": \"Post\" },\n { \"Day 66\": \"Post\" },\n { \"Day 67\": \"Post\" },\n { \"Day 68\": \"Post\" },\n { \"Day 69\": \"Post\" },\n { \"Day 70\": \"Post\" },\n { \"Day 71\": \"Post\" },\n { \"Day 72\": \"Post\" },\n { \"Day 73\": \"Post\" },\n { \"Day 74\": \"Post\" },\n { \"Day 75\": \"Post\" },\n { \"Day 76\": \"Post\" },\n { \"Day 77\": \"Post\" },\n { \"Day 78\": \"Post\" },\n { \"Day 79\": \"Post\" },\n { \"Day 80\": \"Post\" },\n { \"Day 81\": \"Post\" },\n { \"Day 82\": \"Post\" },\n { \"Day 83\": \"Post\" },\n { \"Day 84\": \"Post\" }\n]",
"autoFix": true
},
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"typeVersion": 1.3,
"position": [
156,
-1296
],
"id": "cf76b446-b223-4702-a3ec-5b2eea61bb75",
"name": "Structured Output Parser12"
},
{
"parameters": {
"promptType": "define",
"text": "=Generate one original, engaging tweet idea for each day, from Day 1 to Day 84, using the provided ideas as creative inspiration. For every day:\n\nCreate a unique tweet concept that draws from (but does not simply rephrase or slightly modify) the idea assigned to that day.\n\nTailor each tweet idea to fit the entity\u2019s persona, core messages, target audience, and communication style as described in the Entity Context.\n\nEnsure every tweet idea authentically reflects the entity\u2019s voice and values, delivering value, insight, or inspiration relevant to the day\u2019s thematic guidance.\n\nFollow the sequence of the ideas, using each as a springboard for your daily tweet concept.\n\nKeep tweets concise and engaging, suitable for Twitter\u2019s character limits (280 characters or less) and best practices.\n\nMaintain factual integrity: Do not include content based on unverifiable events or occurrences.\n\nDoes not include the entity\u2019s name, website (or any part of the website name), or any other identifying information related to the entity in any response. Write each tweet in first person.\n\nOutput Instructions:\n\nReturn your answer as a valid JSON array of 84 objects.\nEach object must have a single key in the format \"Day X\" (where X is the day number) and the value must be the content idea as a string.\nDo not include any explanations, keys, or formatting outside the JSON array.\nDo not use any key except \"Day X\" for each object.\nDo not wrap the array in any other object or add any outer key such as \"output\".\nYour entire response must be a single, flat JSON array of 84 objects\u2014nothing else.\n\n\nEntity Context \n{{ $('Airtable Trigger').item.json.fields.EntitySummary }} {{ $('Airtable Trigger').item.json.fields.Persona }} {{ $('Airtable Trigger').item.json.fields['Core Messages'] }} {{ $('Airtable Trigger').item.json.fields['Target Audience'] }} {{ $('Airtable Trigger').item.json.fields.CommunicationStyle }} {{ $('Airtable Trigger').item.json.fields.ExampleMessages }} \n\nContent ideas \n{{ $json.fields.Day1 }}\n{{ $json.fields.Day2 }}\n{{ $json.fields.Day3 }}\n{{ $json.fields.Day4 }}\n{{ $json.fields.Day5 }}\n{{ $json.fields.Day6 }}\n{{ $json.fields.Day7 }}\n{{ $json.fields.Day8 }}\n{{ $json.fields.Day9 }}\n{{ $json.fields.Day10 }}\n{{ $json.fields.Day11 }}\n{{ $json.fields.Day12 }}\n{{ $json.fields.Day13 }}\n{{ $json.fields.Day14 }}\n{{ $json.fields.Day15 }}\n{{ $json.fields.Day16 }}\n{{ $json.fields.Day17 }}\n{{ $json.fields.Day18 }}\n{{ $json.fields.Day19 }}\n{{ $json.fields.Day20 }}\n{{ $json.fields.Day21 }}\n{{ $json.fields.Day22 }}\n{{ $json.fields.Day23 }}\n{{ $json.fields.Day24 }}\n{{ $json.fields.Day25 }}\n{{ $json.fields.Day26 }}\n{{ $json.fields.Day27 }}\n{{ $json.fields.Day28 }}\n{{ $json.fields.Day29 }}\n{{ $json.fields.Day30 }}\n{{ $json.fields.Day31 }}\n{{ $json.fields.Day32 }}\n{{ $json.fields.Day33 }}\n{{ $json.fields.Day34 }}\n{{ $json.fields.Day35 }}\n{{ $json.fields.Day36 }}\n{{ $json.fields.Day37 }}\n{{ $json.fields.Day38 }}\n{{ $json.fields.Day39 }}\n{{ $json.fields.Day40 }}\n{{ $json.fields.Day41 }}\n{{ $json.fields.Day42 }}\n{{ $json.fields.Day43 }}\n{{ $json.fields.Day44 }}\n{{ $json.fields.Day45 }}\n{{ $json.fields.Day46 }}\n{{ $json.fields.Day47 }}\n{{ $json.fields.Day48 }}\n{{ $json.fields.Day49 }}\n{{ $json.fields.Day50 }}\n{{ $json.fields.Day51 }}\n{{ $json.fields.Day52 }}\n{{ $json.fields.Day53 }}\n{{ $json.fields.Day54 }}\n{{ $json.fields.Day55 }}\n{{ $json.fields.Day56 }}\n{{ $json.fields.Day57 }}\n{{ $json.fields.Day58 }}\n{{ $json.fields.Day59 }}\n{{ $json.fields.Day60 }}\n{{ $json.fields.Day61 }}\n{{ $json.fields.Day62 }}\n{{ $json.fields.Day63 }}\n{{ $json.fields.Day64 }}\n{{ $json.fields.Day65 }}\n{{ $json.fields.Day66 }}\n{{ $json.fields.Day67 }}\n{{ $json.fields.Day68 }}\n{{ $json.fields.Day69 }}\n{{ $json.fields.Day70 }}\n{{ $json.fields.Day71 }}\n{{ $json.fields.Day72 }}\n{{ $json.fields.Day73 }}\n{{ $json.fields.Day74 }}\n{{ $json.fields.Day75 }}\n{{ $json.fields.Day76 }}\n{{ $json.fields.Day77 }}\n{{ $json.fields.Day78 }}\n{{ $json.fields.Day79 }}\n{{ $json.fields.Day80 }}\n{{ $json.fields.Day81 }}\n{{ $json.fields.Day82 }}\n{{ $json.fields.Day83 }}\n{{ $json.fields.Day84 }}",
"hasOutputParser": true,
"options": {}
},
"type": "@n8n/n8n-nodes-langchain.agent",
"typeVersion": 2.1,
"position": [
110,
952
],
"id": "3cc1b7cb-ea6a-44ce-b218-3dac827a9da9",
"name": "Twitter",
"retryOnFail": true,
"alwaysOutputData": true
},
{
"parameters": {
"schemaType": "manual",
"inputSchema": "[\n { \"Day 1\": \"Post\" },\n { \"Day 2\": \"Post\" },\n { \"Day 3\": \"Post\" },\n { \"Day 4\": \"Post\" },\n { \"Day 5\": \"Post\" },\n { \"Day 6\": \"Post\" },\n { \"Day 7\": \"Post\" },\n { \"Day 8\": \"Post\" },\n { \"Day 9\": \"Post\" },\n { \"Day 10\": \"Post\" },\n { \"Day 11\": \"Post\" },\n { \"Day 12\": \"Post\" },\n { \"Day 13\": \"Post\" },\n { \"Day 14\": \"Post\" },\n { \"Day 15\": \"Post\" },\n { \"Day 16\": \"Post\" },\n { \"Day 17\": \"Post\" },\n { \"Day 18\": \"Post\" },\n { \"Day 19\": \"Post\" },\n { \"Day 20\": \"Post\" },\n { \"Day 21\": \"Post\" },\n { \"Day 22\": \"Post\" },\n { \"Day 23\": \"Post\" },\n { \"Day 24\": \"Post\" },\n { \"Day 25\": \"Post\" },\n { \"Day 26\": \"Post\" },\n { \"Day 27\": \"Post\" },\n { \"Day 28\": \"Post\" },\n { \"Day 29\": \"Post\" },\n { \"Day 30\": \"Post\" },\n { \"Day 31\": \"Post\" },\n { \"Day 32\": \"Post\" },\n { \"Day 33\": \"Post\" },\n { \"Day 34\": \"Post\" },\n { \"Day 35\": \"Post\" },\n { \"Day 36\": \"Post\" },\n { \"Day 37\": \"Post\" },\n { \"Day 38\": \"Post\" },\n { \"Day 39\": \"Post\" },\n { \"Day 40\": \"Post\" },\n { \"Day 41\": \"Post\" },\n { \"Day 42\": \"Post\" },\n { \"Day 43\": \"Post\" },\n { \"Day 44\": \"Post\" },\n { \"Day 45\": \"Post\" },\n { \"Day 46\": \"Post\" },\n { \"Day 47\": \"Post\" },\n { \"Day 48\": \"Post\" },\n { \"Day 49\": \"Post\" },\n { \"Day 50\": \"Post\" },\n { \"Day 51\": \"Post\" },\n { \"Day 52\": \"Post\" },\n { \"Day 53\": \"Post\" },\n { \"Day 54\": \"Post\" },\n { \"Day 55\": \"Post\" },\n { \"Day 56\": \"Post\" },\n { \"Day 57\": \"Post\" },\n { \"Day 58\": \"Post\" },\n { \"Day 59\": \"Post\" },\n { \"Day 60\": \"Post\" },\n { \"Day 61\": \"Post\" },\n { \"Day 62\": \"Post\" },\n { \"Day 63\": \"Post\" },\n { \"Day 64\": \"Post\" },\n { \"Day 65\": \"Post\" },\n { \"Day 66\": \"Post\" },\n { \"Day 67\": \"Post\" },\n { \"Day 68\": \"Post\" },\n { \"Day 69\": \"Post\" },\n { \"Day 70\": \"Post\" },\n { \"Day 71\": \"Post\" },\n { \"Day 72\": \"Post\" },\n { \"Day 73\": \"Post\" },\n { \"Day 74\": \"Post\" },\n { \"Day 75\": \"Post\" },\n { \"Day 76\": \"Post\" },\n { \"Day 77\": \"Post\" },\n { \"Day 78\": \"Post\" },\n { \"Day 79\": \"Post\" },\n { \"Day 80\": \"Post\" },\n { \"Day 81\": \"Post\" },\n { \"Day 82\": \"Post\" },\n { \"Day 83\": \"Post\" },\n { \"Day 84\": \"Post\" }\n]"
},
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"typeVersion": 1.3,
"position": [
-464,
552
],
"id": "501dcf4e-1689-4060-9a5a-e9e768d20793",
"name": "Structured Output Parser13"
},
{
"parameters": {
"model": "sonar",
"messages": {
"message": [
{
"content": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('message0_Text', ``, 'string') }}"
}
]
},
"options": {},
"requestOptions": {}
},
"type": "n8n-nodes-base.perplexityTool",
"typeVersion": 1,
"position": [
1052,
296
],
"id": "2063ddae-895a-4254-bec7-51b1ee072fa1",
"name": "Message a model in Perplexity",
"credentials": {
"perplexityApi": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"promptType": "define",
"text": "=Use Perplexity to search for the latest news and relevant insights from credible sources. Based on these findings, generate a list of weekly content ideas covering three months (12 ideas total) as a valid JSON array of strings. Each string should represent a single idea, reflecting current trends and timely topics. Do not include any explanations or formatting outside the JSON array.\n {{ $json.fields.EntitySummary }} {{ $json.fields.Persona }} {{ $json.fields.Adjectives }} {{ $json.fields['Core Messages'] }} {{ $json.fields['Target Audience'] }} {{ $json.fields.CommunicationStyle }} {{ $json.fields.ExampleMessages }} ",
"options": {}
},
"type": "@n8n/n8n-nodes-langchain.agent",
"typeVersion": 2.1,
"position": [
-960,
328
],
"id": "9d05b92b-58e8-4bc0-9013-e3e78af112c8",
"name": "QuarterIdeas",
"retryOnFail": true,
"alwaysOutputData": true
},
{
"parameters": {
"promptType": "define",
"text": "=Generate one original, engaging Facebook post for each day, from Day 1 to Day 84, using the provided ideas as creative inspiration. For every day:\n\nCreate a unique Facebook post that draws from, but does not simply rephrase or slightly modify, the idea assigned to that day.\n\nTailor each Facebook post to fit the entity\u2019s persona, core messages, target audience, and communication style as described in the Entity Context.\n\nEnsure every Facebook post authentically reflects the entity\u2019s voice and values, delivering value, insight, or inspiration relevant to the day\u2019s thematic guidance.\n\nFollow the sequence of the ideas, using each as a springboard for your daily Facebook post.\n\nKeep Facebook posts concise and engaging, suitable for Facebook's character limits (477 characters or less) and best practices.\n\nMaintain factual integrity: Do not include content based on unverifiable events or occurrences.\n\nDo not include the entity\u2019s name, website (or any part of the website name), or any other identifying information related to the entity in any response. Write each Facebook post in first person.\n\nOutput Instructions:\n\nReturn your answer as a valid JSON array of 84 objects.\nEach object must have a single key in the format \"Day X\" (where X is the day number) and the value must be the content idea as a string.\nDo not include any explanations, keys, or formatting outside the JSON array.\nDo not use any key except \"Day X\" for each object.\nDo not wrap the array in any other object or add any outer key such as \"output\".\nYour entire response must be a single, flat JSON array of 84 objects\u2014nothing else.\n\n\nEntity Context \n{{ $('Airtable Trigger').item.json.fields.EntitySummary }} {{ $('Airtable Trigger').item.json.fields.Persona }} {{ $('Airtable Trigger').item.json.fields['Core Messages'] }} {{ $('Airtable Trigger').item.json.fields['Target Audience'] }} {{ $('Airtable Trigger').item.json.fields.CommunicationStyle }} {{ $('Airtable Trigger').item.json.fields.ExampleMessages }} \n\nContent ideas \n{{ $json.fields.Day1 }}\n{{ $json.fields.Day2 }}\n{{ $json.fields.Day3 }}\n{{ $json.fields.Day4 }}\n{{ $json.fields.Day5 }}\n{{ $json.fields.Day6 }}\n{{ $json.fields.Day7 }}\n{{ $json.fields.Day8 }}\n{{ $json.fields.Day9 }}\n{{ $json.fields.Day10 }}\n{{ $json.fields.Day11 }}\n{{ $json.fields.Day12 }}\n{{ $json.fields.Day13 }}\n{{ $json.fields.Day14 }}\n{{ $json.fields.Day15 }}\n{{ $json.fields.Day16 }}\n{{ $json.fields.Day17 }}\n{{ $json.fields.Day18 }}\n{{ $json.fields.Day19 }}\n{{ $json.fields.Day20 }}\n{{ $json.fields.Day21 }}\n{{ $json.fields.Day22 }}\n{{ $json.fields.Day23 }}\n{{ $json.fields.Day24 }}\n{{ $json.fields.Day25 }}\n{{ $json.fields.Day26 }}\n{{ $json.fields.Day27 }}\n{{ $json.fields.Day28 }}\n{{ $json.fields.Day29 }}\n{{ $json.fields.Day30 }}\n{{ $json.fields.Day31 }}\n{{ $json.fields.Day32 }}\n{{ $json.fields.Day33 }}\n{{ $json.fields.Day34 }}\n{{ $json.fields.Day35 }}\n{{ $json.fields.Day36 }}\n{{ $json.fields.Day37 }}\n{{ $json.fields.Day38 }}\n{{ $json.fields.Day39 }}\n{{ $json.fields.Day40 }}\n{{ $json.fields.Day41 }}\n{{ $json.fields.Day42 }}\n{{ $json.fields.Day43 }}\n{{ $json.fields.Day44 }}\n{{ $json.fields.Day45 }}\n{{ $json.fields.Day46 }}\n{{ $json.fields.Day47 }}\n{{ $json.fields.Day48 }}\n{{ $json.fields.Day49 }}\n{{ $json.fields.Day50 }}\n{{ $json.fields.Day51 }}\n{{ $json.fields.Day52 }}\n{{ $json.fields.Day53 }}\n{{ $json.fields.Day54 }}\n{{ $json.fields.Day55 }}\n{{ $json.fields.Day56 }}\n{{ $json.fields.Day57 }}\n{{ $json.fields.Day58 }}\n{{ $json.fields.Day59 }}\n{{ $json.fields.Day60 }}\n{{ $json.fields.Day61 }}\n{{ $json.fields.Day62 }}\n{{ $json.fields.Day63 }}\n{{ $json.fields.Day64 }}\n{{ $json.fields.Day65 }}\n{{ $json.fields.Day66 }}\n{{ $json.fields.Day67 }}\n{{ $json.fields.Day68 }}\n{{ $json.fields.Day69 }}\n{{ $json.fields.Day70 }}\n{{ $json.fields.Day71 }}\n{{ $json.fields.Day72 }}\n{{ $json.fields.Day73 }}\n{{ $json.fields.Day74 }}\n{{ $json.fields.Day75 }}\n{{ $json.fields.Day76 }}\n{{ $json.fields.Day77 }}\n{{ $json.fields.Day78 }}\n{{ $json.fields.Day79 }}\n{{ $json.fields.Day80 }}\n{{ $json.fields.Day81 }}\n{{ $json.fields.Day82 }}\n{{ $json.fields.Day83 }}\n{{ $json.fields.Day84 }}",
"hasOutputParser": true,
"options": {}
},
"type": "@n8n/n8n-nodes-langchain.agent",
"typeVersion": 2.1,
"position": [
110,
760
],
"id": "3ef0a8de-94d1-4b02-b729-a4c5b9dac7e4",
"name": "Facebook",
"retryOnFail": true,
"alwaysOutputData": true
},
{
"parameters": {
"appId": "635357062907313",
"options": {}
},
"type": "n8n-nodes-base.facebookTrigger",
"typeVersion": 1,
"position": [
-1184,
2040
],
"id": "b83d07f4-b952-4d31-a5f5-f24c8a7b6ffc",
"name": "Instagram",
"credentials": {
"facebookGraphAppApi": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"promptType": "define",
"text": "=Generate one original, engaging content idea for each day, from Day 1 to Day 84, using the provided quarter ideas as creative inspiration. For every day:\n\nDevelop an original idea that draws from, but does not simply rephrase or slightly modify, the quarter idea assigned to that day.\n\nTailor each idea to align with the entity\u2019s persona, core messages, target audience, and communication style as detailed in the Entity Context.\n\nEnsure every idea authentically reflects the entity\u2019s voice and values, delivering value, insight, or inspiration relevant to the day\u2019s thematic guidance.\n\nFollow the sequence of the quarter ideas, using each as a springboard for your daily content concept.\n\nKeep ideas platform-agnostic: Do not tailor content to any specific platform; ideas should be adaptable across formats.\n\nMake sure the ideas are not too similar to each other. \n\nEnsure factual integrity: Do not include content based on unverifiable events or occurrences.\n\nDo not include the entity\u2019s name in any response. \n\nOutput Instructions:\n\nReturn your answer as a valid JSON array of 84 objects.\nEach object must have a single key in the format \"Day X\" (where X is the day number) and the value must be the content idea as a string.\nDo not include any explanations, keys, or formatting outside the JSON array.\nDo not use any key except \"Day X\" for each object.\nDo not wrap the array in any other object or add any outer key such as \"output\".\nYour entire response must be a single, flat JSON array of 84 objects\u2014nothing else.\n\nEntity Context \n{{ $('Airtable Trigger').item.json.fields.EntitySummary }} {{ $('Airtable Trigger').item.json.fields.Persona }} {{ $('Airtable Trigger').item.json.fields['Core Messages'] }} {{ $('Airtable Trigger').item.json.fields['Target Audience'] }} {{ $('Airtable Trigger').item.json.fields.CommunicationStyle }} {{ $('Airtable Trigger').item.json.fields.ExampleMessages }} \n\nQuarter Ideas\n{{ $json.output }}\n",
"hasOutputParser": true,
"options": {}
},
"type": "@n8n/n8n-nodes-langchain.agent",
"typeVersion": 2.1,
"position": [
-560,
328
],
"id": "3517ba27-5d9b-49d3-ba9f-446902411e47",
"name": "GeneralIdeas",
"retryOnFail": true,
"alwaysOutputData": true
},
{
"parameters": {
"promptType": "define",
"text": "=Generate one original, engaging Warpcast post for each day, from Day 1 to Day 84, using the provided ideas as creative inspiration. For every day:\n\nCreate a unique Warpcast post that draws from (but does not simply rephrase or slightly modify) the idea assigned to that day.\n\nTailor each Warpcast post to fit the entity\u2019s persona, core messages, target audience, and communication style as described in the Entity Context.\n\nEnsure every Warpcast post authentically reflects the entity\u2019s voice and values, delivering value, insight, or inspiration relevant to the day\u2019s thematic guidance.\n\nFollow the sequence of the ideas, using each as a springboard for your daily Warpcast post.\n\nKeep Warpcast posts concise and engaging, suitable for Warpcast's character limits (320 characters or less) and best practices.\n\nMaintain factual integrity: Do not include content based on unverifiable events or occurrences.\n\nDoes not include the entity\u2019s name, website (or any part of the website name), or any other identifying information related to the entity in any response. Write each Warpcast post in first person.\n\nOutput Instructions:\n\nReturn your answer as a valid JSON array of 84 objects.\nEach object must have a single key in the format \"Day X\" (where X is the day number) and the value must be the content idea as a string.\nDo not include any explanations, keys, or formatting outside the JSON array.\nDo not use any key except \"Day X\" for each object.\nDo not wrap the array in any other object or add any outer key such as \"output\".\nYour entire response must be a single, flat JSON array of 84 objects\u2014nothing else.\n\n\nEntity Context \n{{ $('Airtable Trigger').item.json.fields.EntitySummary }} {{ $('Airtable Trigger').item.json.fields.Persona }} {{ $('Airtable Trigger').item.json.fields['Core Messages'] }} {{ $('Airtable Trigger').item.json.fields['Target Audience'] }} {{ $('Airtable Trigger').item.json.fields.CommunicationStyle }} {{ $('Airtable Trigger').item.json.fields.ExampleMessages }} \n\nContent ideas \n{{ $json.fields.Day1 }}\n{{ $json.fields.Day2 }}\n{{ $json.fields.Day3 }}\n{{ $json.fields.Day4 }}\n{{ $json.fields.Day5 }}\n{{ $json.fields.Day6 }}\n{{ $json.fields.Day7 }}\n{{ $json.fields.Day8 }}\n{{ $json.fields.Day9 }}\n{{ $json.fields.Day10 }}\n{{ $json.fields.Day11 }}\n{{ $json.fields.Day12 }}\n{{ $json.fields.Day13 }}\n{{ $json.fields.Day14 }}\n{{ $json.fields.Day15 }}\n{{ $json.fields.Day16 }}\n{{ $json.fields.Day17 }}\n{{ $json.fields.Day18 }}\n{{ $json.fields.Day19 }}\n{{ $json.fields.Day20 }}\n{{ $json.fields.Day21 }}\n{{ $json.fields.Day22 }}\n{{ $json.fields.Day23 }}\n{{ $json.fields.Day24 }}\n{{ $json.fields.Day25 }}\n{{ $json.fields.Day26 }}\n{{ $json.fields.Day27 }}\n{{ $json.fields.Day28 }}\n{{ $json.fields.Day29 }}\n{{ $json.fields.Day30 }}\n{{ $json.fields.Day31 }}\n{{ $json.fields.Day32 }}\n{{ $json.fields.Day33 }}\n{{ $json.fields.Day34 }}\n{{ $json.fields.Day35 }}\n{{ $json.fields.Day36 }}\n{{ $json.fields.Day37 }}\n{{ $json.fields.Day38 }}\n{{ $json.fields.Day39 }}\n{{ $json.fields.Day40 }}\n{{ $json.fields.Day41 }}\n{{ $json.fields.Day42 }}\n{{ $json.fields.Day43 }}\n{{ $json.fields.Day44 }}\n{{ $json.fields.Day45 }}\n{{ $json.fields.Day46 }}\n{{ $json.fields.Day47 }}\n{{ $json.fields.Day48 }}\n{{ $json.fields.Day49 }}\n{{ $json.fields.Day50 }}\n{{ $json.fields.Day51 }}\n{{ $json.fields.Day52 }}\n{{ $json.fields.Day53 }}\n{{ $json.fields.Day54 }}\n{{ $json.fields.Day55 }}\n{{ $json.fields.Day56 }}\n{{ $json.fields.Day57 }}\n{{ $json.fields.Day58 }}\n{{ $json.fields.Day59 }}\n{{ $json.fields.Day60 }}\n{{ $json.fields.Day61 }}\n{{ $json.fields.Day62 }}\n{{ $json.fields.Day63 }}\n{{ $json.fields.Day64 }}\n{{ $json.fields.Day65 }}\n{{ $json.fields.Day66 }}\n{{ $json.fields.Day67 }}\n{{ $json.fields.Day68 }}\n{{ $json.fields.Day69 }}\n{{ $json.fields.Day70 }}\n{{ $json.fields.Day71 }}\n{{ $json.fields.Day72 }}\n{{ $json.fields.Day73 }}\n{{ $json.fields.Day74 }}\n{{ $json.fields.Day75 }}\n{{ $json.fields.Day76 }}\n{{ $json.fields.Day77 }}\n{{ $json.fields.Day78 }}\n{{ $json.fields.Day79 }}\n{{ $json.fields.Day80 }}\n{{ $json.fields.Day81 }}\n{{ $json.fields.Day82 }}\n{{ $json.fields.Day83 }}\n{{ $json.fields.Day84 }}",
"hasOutputParser": true,
"options": {}
},
"type": "@n8n/n8n-nodes-langchain.agent",
"typeVersion": 2.1,
"position": [
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.
airtableTokenApifacebookGraphAppApiopenRouterApiperplexityApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
ContentCalendar. Uses airtableTrigger, lmChatOpenRouter, airtable, outputParserStructured. Event-driven trigger; 41 nodes.
Source: https://github.com/yedoww/vibemarketingflow/blob/main/ContentCalendar.json — 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.
The AI-Powered Shopify SEO Content Automation is an enterprise-grade workflow that transforms product content creation for e-commerce stores. This sophisticated multi-agent system integrates GPT-4o, C
CompetitorAnalysis. Uses perplexityTool, agent, lmChatOpenRouter, airtableTrigger. Event-driven trigger; 33 nodes.
Deep Research new (fr). Uses outputParserStructured, formTrigger, chainLlm, form. Event-driven trigger; 82 nodes.
Who is this for? Agencies, consultants, and service providers who conduct discovery calls and need to quickly turn conversations into professional proposals.
This workflow is designed for marketers, content creators, agencies, and solo founders who want to publish long‑form posts with visuals on autopilot using n8n and AI agents.