Notion append block formatting, using loop, still no luck

Hey, I’m using open AI to write written reports which have a set structure using H2 H3 and bullet points. The output should be delivered inside of a notion database page as an appended block. My output from open AI is raw text, I then use a second open AI prompt to format it into a JSON. I then use a loop over items node to make sure when the text is appended it doesnt breach the 2k character limit.

I’ve tried everything from having HTML to markdown using markdown nodes, everything.

For some reason I cannot get notion to format my output correctly. It always comes out as raw HTML raw markdown or just raw text in general which doesn’t work.

I’m getting close, but I don’t know how I can make it work. Anyone have any suggestions? I’d greatly appreciate it.

Hey @olivercordingley !

Notion API are a bit cumbersome for me, but this topic helped me a lot about the output blocks that Notion expects, and even using only one agent with the system prompt.

Check here :

If this is not helpful, please share workflow or some images with the nodes or errors, and someone may help.

Cheers!

1 Like

Thank you for sharing this and the time to reply.

The problem is is that I have a loop over items inside as the notion limit is 2k chars and mine is 10k.

It’s returning an error on the append block…?

Add blocks for each of your headers (be aware that you just could drag and drop directly the “type” from blocks objects).

Your current expression in the “Type Name or ID” is wrong.

$json.blocks.blocks[0].type for heading_2

If you drag and drop, you will get the expression as well populated. If you start writing the expression with {{}} you will get suggestions as well.

If still can t understand, share the workflow here, or some part of it.

2 Likes

EDIT

Thank you took me some time playing with it but eventually got it to work!

I appreciate your time and help with this.

—-
Thank you for the reply.

The problem I have is that the node before it is a loop over items. So when I do this, it will only reference the 1st block. I have about 9-10 blocks and theres no way to reference them… ?

1 Like

Glad that you managed to get it work! :clap:!

Cheers!


It’s kind of working but for some reason for some “type” fields it doesn’t show the content field for me to add?

I reformatted the clasifications of “types” in my javascript and they match notion’s api but it doesn’t recognsie it still?

Really strange - appreciate your insight, thank you

Usse an HTTP node instead the Notion node(UI) maybe it’s limited in some way, since now it’s a problem with the parameters.

Hint*: when using HTTP node, you can ‘import cURL’ with a button in top right.

Doing that, the HTTP offers maximum flexibility with parameters that maybe the official notion node is limited.

Thanks for this but now you have completely lost me, I’ve tried doing this about 3 times with importing cURL and notion APIs etc but it’s still not working{
  "name": "Strategy Call",
  "nodes": [
    {
      "parameters": {
        "httpMethod": "POST",
        "path": "strategy",
        "options": {}
      },
      "type": "n8n-nodes-base.webhook",
      "typeVersion": 2.1,
      "position": [
        7872,
        320
      ],
      "id": "efd78539-00a6-4934-9b01-b92822a39737",
      "name": "Webhook",
      "webhookId": "b1b3ed71-757d-4ae5-a164-04e7495da15c"
    },
    {
      "parameters": {
        "resource": "databasePage",
        "operation": "getAll",
        "databaseId": {
          "__rl": true,
          "value": "2173b1c6-ed75-8040-9fcc-c712c2b631d3",
          "mode": "list",
          "cachedResultName": "CRM",
          "cachedResultUrl": "https://www.notion.so/2173b1c6ed7580409fccc712c2b631d3"
        },
        "returnAll": true,
        "filterType": "manual",
        "filters": {
          "conditions": [
            {
              "key": "Email|email",
              "condition": "equals",
              "emailValue": "={{ $json.body.email }}"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.notion",
      "typeVersion": 2.2,
      "position": [
        8096,
        320
      ],
      "id": "fedcbd91-3a88-4a3f-b84e-af1a68fd8f69",
      "name": "Get many database pages",
      "retryOnFail": false,
      "credentials": {
        "notionApi": {
          "id": "FK0SvXKRNwl0pAk9",
          "name": "Notion account"
        }
      },
      "onError": "continueErrorOutput"
    },
    {
      "parameters": {
        "resource": "databasePage",
        "operation": "update",
        "pageId": {
          "__rl": true,
          "value": "={{ $('Get many database pages').item.json.id }}",
          "mode": "id"
        },
        "propertiesUi": {
          "propertyValues": [
            {
              "key": "1st CV|files",
              "fileUrls": {
                "fileUrl": [
                  {
                    "name": "={{ $('Webhook').item.json.body.cv[0].filename }}",
                    "url": "={{ $('Webhook').item.json.body.cv[0].url }}"
                  }
                ]
              }
            },
            {
              "key": "Google Meet Link|rich_text",
              "richText": true,
              "text": {
                "text": [
                  {
                    "text": "={{ $('Webhook').item.json.body['meet-url'] }}",
                    "isLink": true,
                    "textLink": "={{ $('Webhook').item.json.body['meet-url'] }}",
                    "annotationUi": {}
                  }
                ]
              }
            },
            {
              "key": "Event|date",
              "includeTime": false,
              "date": "={{ $('Webhook').item.json.body['meet-start'] }}"
            },
            {
              "key": "Reschedule|rich_text",
              "richText": true,
              "text": {
                "text": [
                  {
                    "text": "={{ $('Webhook').item.json.body.reschedule }}",
                    "isLink": true,
                    "textLink": "={{ $('Webhook').item.json.body.reschedule }}",
                    "annotationUi": {}
                  }
                ]
              }
            },
            {
              "key": "LinkedIn|url",
              "ignoreIfEmpty": true,
              "urlValue": "={{ $('Webhook').item.json.body.linkedin }}"
            },
            {
              "key": "Email|email",
              "emailValue": "={{ $('Webhook').item.json.body.email }}"
            },
            {
              "key": "Name|title",
              "title": "={{ $('Webhook').item.json.body[' name'] }}"
            },
            {
              "key": "Current income|number",
              "numberValue": "={{ $('Webhook').item.json.body.income }}"
            },
            {
              "key": "Why now?|rich_text",
              "textContent": "={{ $('Webhook').item.json.body['why-now'] }}"
            },
            {
              "key": "How will this help?|rich_text",
              "textContent": "={{ $('Webhook').item.json.body.future }}"
            },
            {
              "key": "Problem|select",
              "selectValue": "={{ $('Webhook').item.json.body.challenge }}"
            },
            {
              "key": "Years of exp|number",
              "numberValue": "={{ $('Webhook').item.json.body.exp }}"
            },
            {
              "key": "Industry|rich_text",
              "textContent": "={{ $('Webhook').item.json.body.industry }}"
            },
            {
              "key": "Employment status|rich_text",
              "textContent": "={{ $('Webhook').item.json.body.status }}"
            },
            {
              "key": "Target title|rich_text",
              "textContent": "={{ $('Webhook').item.json.body.title }}"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.notion",
      "typeVersion": 2.2,
      "position": [
        8320,
        224
      ],
      "id": "5e2ced25-de1d-456d-bd33-9f3fd165a895",
      "name": "Update a database page",
      "credentials": {
        "notionApi": {
          "id": "FK0SvXKRNwl0pAk9",
          "name": "Notion account"
        }
      }
    },
    {
      "parameters": {
        "modelId": {
          "__rl": true,
          "value": "gpt-5.1",
          "mode": "list",
          "cachedResultName": "GPT-5.1"
        },
        "responses": {
          "values": [
            {
              "role": "system",
              "content": "=You are generating a Career Diagnostic Report for a candidate. Forget all previous student information. Use only the data provided in:\n\nForm responses: {{ $('Webhook').item.json.body }}\nApplications made: {{ $('Webhook').item.json.body.apps }}\nInterviews: {{ $('Webhook').item.json.body.int }}\nOffers:{{ $('Webhook').item.json.body.offers }}\nIndustry:{{ $('Webhook').item.json.body.industry }}\ntarget title: {{ $('Webhook').item.json.body.title }}\nCurrent employment status: {{ $('Webhook').item.json.body.status }}\nyears of experience: {{ $('Webhook').item.json.body.exp }}\nChallenge:{{ $('Webhook').item.json.body.challenge }}\nCV: {{ $('Webhook').item.json.body.cv[0].url }}\n\n\nYour job is to produce an accurate, severe, role-specific diagnostic. No generic statements. No soft skills. No assumptions beyond what the data supports. All feedback must be tied directly to the candidate’s real answers, hard skills, experience, and application behaviour.\n\n===================================================\nSTRICT ROLE-ALIGNMENT & ELIGIBILITY RULES\n===================================================\n\nThe candidate’s **target job title** is the single anchor for all reasoning.  \nYou must:\n\n1. Identify that job title from the form field.\n2. Compare the candidate’s **actual CV experience**, tools, coursework, and results against:\n   • real hard-skill requirements for that job title  \n   • typical entry criteria for that job title  \n3. If the candidate misses key requirements:\n   • State this clearly  \n   • Explain exactly which requirements are missing  \n   • Advise whether they should reevaluate or commit to bridging the gaps  \n4. Only reference the skills that appear on their CV OR are clearly missing and needed for the target role.\n\nHard skills example logic:\n- Finance/Analyst roles → financial modelling, SQL, Power BI, forecasting, financial statements, analytics tools.\n- If these skills do NOT appear on their CV, state the gap bluntly and tell them to add or learn them.\n\nNever mention soft skills such as:\nExcel, PowerPoint, teamwork, communication, data analysis, adaptability, organisation, reporting, stakeholder management, leadership, or any similar soft/generalist skill.\n\nOnly mention true hard skills such as:\nSQL, Power BI, Python, Tableau, financial modelling, DAX, accounting fundamentals, APIs, Bloomberg, etc.\n\n===================================================\nSCORING LOGIC — MUST BE HARSH & DATA-DRIVEN\n===================================================\n\nBase scoring ONLY on:\n- Evidence visible on the CV  \n- Application count  \n- Interview count  \n- Experience level  \n- Hard skills  \n- Relevance to the target job title  \n- Ability to hit typical requirements of the target role\n\nRules:\n- If applications < 20 → score “Professional network” ≤ 4/10  \n- If interviews = 0 → score “CV marketability” ≤ 5/10 and state that the candidate is **not communicating value on paper**  \n- If interview rate = 0–20% → mention low conversion  \n- A healthy application→interview rate is 40% → use this as the diagnostic benchmark  \n- If experience is under 2 years, avoid any senior framing  \n\n===================================================\nSTRICT CV FEEDBACK RULES\n===================================================\n\nAll CV advice MUST:\n- Give **specific rewritten example bullets** that match the target role  \n- Be hard-skill + method + measurable output  \n- Never reference soft skills  \n- Never reference irrelevant skills not in job requirements  \n- If hard skills are missing, recommend EXACT ones based on industry norms\n\nExample format (you must create role-specific ones):\n“Built a Power BI dashboard using DAX to automate weekly financial variance reporting which reduced manual processing time by 6 hours weekly.”\n\nIf candidate lacks tools:\n- Tell them exactly which ones to add (SQL, Power BI, financial modelling, Python, etc.)\n- Tell them to add a personal or coursework-based project if none exists\n\n===================================================\nSTRICT SKILLS FRAMING RULES\n===================================================\n\nThe Skills section:\n- Must contain ONLY hard technical skills relevant to the target industry\n- NO soft skills (Excel, PowerPoint, “data analysis”, “communication”, etc.)\n- Grouped into relevant categories (e.g. Modelling, Data Tools, BI Tools)\n\nIf candidate lacks hard technical skills for the target role:\n- State this clearly  \n- Provide a short list of 3–5 must-have hard skills  \n- Give instructions to add a small project to evidence each one\n\n===================================================\nSTRICT NETWORKING RULES\n===================================================\n\nNetworking guidance MUST:\n- NEVER recommend university events  \n- NEVER recommend career fairs  \n- NEVER recommend speaking to “university people”  \n- MUST recommend a targeted alumni and professional outreach system\n\nRequired networking structure:\n1. Identify 20–40 people in target roles (alumni, people with similar background, mutual interests).  \n2. Send 1–2 personalised messages per day.  \n3. Messages must reference:\n   • their role  \n   • why the candidate reached out  \n   • a micro-connection point  \n4. Request a 10–15 minute chat.  \n5. Track outreach in a spreadsheet.  \n6. Build a consistent daily rhythm that compounds.\n\n===================================================\nVOICE AND STYLE\n===================================================\n\n- Calm, direct, note-like, supportive.\n- No hype, no clichés, no metaphors.\n- Use first person sparingly (“I’m seeing…”).\n- Address the candidate as “you”.\n- Small human imperfection allowed (0.1 percent).\n\n===================================================\nOUTPUT REQUIREMENTS\n===================================================\n\nReturn plain text.\nEven spacing between headings and paragraphs\nNo tables.\n\n===================================================\nSUMMARY FORMAT RULES\n===================================================\n\nThe Summary must include these in order:\n\nCareer direction (X/10) - one sentence  \nCV marketability (X/10) - one sentence  \nSkills framing (X/10) - one sentence  \nProfessional network (X/10) - one sentence  \nOverall Score (X/10)\n\nThen EXACTLY 3 <li> bullets describing:\n1. Main blockers specific to this candidate  \n2. Four–six week path  \n3. The fastest lever for improvement \n\n===================================================\nACTION PLAN RULES\n===================================================\n\nFive subsections in this order:\n\nCareer direction \nCV marketability  \nSkills framing\nProfessional network\n\nEach subsection contains 3–6 <li> bullets that:\n- Directly reference the candidate’s actual data  \n- Give concrete instructions  \n- Incorporate missing hard skills  \n- Reference whether they qualify for their target job title  \n- Critically analyse their experience against real job requirements  \n\n\nNever use phrases like \"this candidate\", always write \"your\" or \"you\".\n===================================================\nFINAL SANITISATION\n===================================================\n\nGenerate this report ready for using inside Notion."
            },
            {
              "content": "The output will be used to create Notion page blocks using the notion Block API. Use all possible blocks that are available from the Notion Block API. If using a bullet list, remember that each item is a type=bulleted_list_item, it is not all bullets in one list\n\nExample output, an array of objects\n[\n{\"type\":\"heading_2\", \"content\":\"Overview\"},\n{\"type\":\"paragraph\", \"content\":\"This college....\"},\n...\n]"
            }
          ]
        },
        "builtInTools": {},
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "typeVersion": 2,
      "position": [
        8544,
        224
      ],
      "id": "12965a89-9a34-40ce-acd6-a1d9c38e0c58",
      "name": "Message a model",
      "credentials": {
        "openAiApi": {
          "id": "hURCHiTVsQwMpLiB",
          "name": "OpenAi account"
        }
      }
    },
    {
      "parameters": {
        "options": {}
      },
      "type": "n8n-nodes-base.splitInBatches",
      "typeVersion": 3,
      "position": [
        9120,
        224
      ],
      "id": "258fc660-5da3-4937-bd5d-67f9bdd773ff",
      "name": "Loop Over Items"
    },
    {
      "parameters": {
        "jsCode": "const inputText = $input.first().json.output?.[0]?.content?.[0]?.text || \"\";\n\nlet blocks;\ntry {\n  blocks = JSON.parse(inputText);\n} catch (e) {\n  throw new Error(\"Invalid JSON from ChatGPT\");\n}\n\n// Normalise to Notion-friendly type names\nfunction mapType(type) {\n  if (type === \"heading2\") return \"heading_2\";\n  if (type === \"heading3\") return \"heading_3\";\n  if (type === \"paragraph\") return \"paragraph\";\n  if (type === \"bullet\") return \"bulleted_list_item\";\n  if (type === \"number\") return \"numbered_list_item\";\n  return type;\n}\n\nblocks = blocks.map(b => ({\n  ...b,\n  type: mapType(b.type)\n}));\n\nconst maxSize = 1900;\nconst maxBlocksPerChunk = 6;\n\nlet results = [];\nlet currentBlocks = [];\nlet currentSize = 0;\n\nfunction pushChunk() {\n  if (currentBlocks.length > 0) {\n    results.push({ json: { chunk: currentBlocks } });\n    currentBlocks = [];\n    currentSize = 0;\n  }\n}\n\nfor (const block of blocks) {\n  const blockStr = JSON.stringify(block);\n\n  if (blockStr.length > maxSize) {\n    pushChunk();\n\n    let start = 0;\n    while (start < blockStr.length) {\n      const end = Math.min(start + maxSize, blockStr.length);\n      const slice = blockStr.slice(start, end);\n\n      results.push({\n        json: {\n          chunk: [\n            {\n              type: block.type,\n              fragment: slice\n            }\n          ]\n        }\n      });\n\n      start = end;\n    }\n    continue;\n  }\n\n  const exceedsSize = currentSize + blockStr.length > maxSize;\n  const exceedsCount = currentBlocks.length >= maxBlocksPerChunk;\n\n  if (exceedsSize || exceedsCount) {\n    pushChunk();\n  }\n\n  currentBlocks.push(block);\n  currentSize += blockStr.length;\n}\n\npushChunk();\n\nreturn results;"
      },
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        8896,
        224
      ],
      "id": "abe7da49-f701-4136-ba45-9a29161d5d9b",
      "name": "Code in JavaScript"
    },
    {
      "parameters": {
        "resource": "databasePage",
        "databaseId": {
          "__rl": true,
          "value": "2173b1c6-ed75-8040-9fcc-c712c2b631d3",
          "mode": "list",
          "cachedResultName": "CRM",
          "cachedResultUrl": "https://www.notion.so/2173b1c6ed7580409fccc712c2b631d3"
        },
        "title": "={{ $('Webhook').item.json.body[' name'] }}",
        "propertiesUi": {
          "propertyValues": [
            {
              "key": "Email|email",
              "emailValue": "={{ $('Webhook').item.json.body.email }}"
            },
            {
              "key": "LinkedIn|url",
              "urlValue": "={{ $('Webhook').item.json.body.linkedin }}"
            },
            {
              "key": "Event|date",
              "date": "={{ $('Webhook').item.json.body['meet-start'] }}"
            },
            {
              "key": "Reschedule|rich_text",
              "richText": true,
              "text": {
                "text": [
                  {
                    "text": "={{ $('Webhook').item.json.body.reschedule }}",
                    "isLink": true,
                    "textLink": "={{ $('Webhook').item.json.body.reschedule }}",
                    "annotationUi": {}
                  }
                ]
              }
            },
            {
              "key": "Current income|number",
              "numberValue": "={{ $('Webhook').item.json.body.income }}"
            },
            {
              "key": "Why now?|rich_text",
              "textContent": "={{ $('Webhook').item.json.body['why-now'] }}"
            },
            {
              "key": "Problem|select",
              "selectValue": "={{ $('Webhook').item.json.body.challenge }}"
            },
            {
              "key": "How will this help?|rich_text",
              "textContent": "={{ $('Webhook').item.json.body.future }}"
            },
            {
              "key": "Employment status|rich_text",
              "textContent": "={{ $('Webhook').item.json.body.status }}"
            },
            {
              "key": "Target title|rich_text",
              "textContent": "={{ $('Webhook').item.json.body.title }}"
            },
            {
              "key": "Industry|rich_text",
              "textContent": "={{ $('Webhook').item.json.body.industry }}"
            },
            {
              "key": "Years of exp|number",
              "numberValue": "={{ $('Webhook').item.json.body.exp }}"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.notion",
      "typeVersion": 2.2,
      "position": [
        8320,
        416
      ],
      "id": "72ab9ca2-d987-4ee9-81d7-676017812813",
      "name": "Create a database page",
      "credentials": {
        "notionApi": {
          "id": "FK0SvXKRNwl0pAk9",
          "name": "Notion account"
        }
      }
    },
    {
      "parameters": {
        "method": "POST",
        "url": "=https://api.notion.com/v1/blocks/{{ $('Update a database page').item.json.id }}/children",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "Bearer 158675060372fPKR5jMLVFBK9tc2aQWqF8gjCSs11gMcnj"
            },
            {
              "name": "Notion-Version",
              "value": "2022-06-28"
            }
          ]
        },
        "sendBody": true,
        "contentType": "raw",
        "rawContentType": "text",
        "options": {}
      },
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.3,
      "position": [
        9504,
        256
      ],
      "id": "1daacc30-987a-418d-b15f-76669518500e",
      "name": "HTTP Request"
    }
  ],
  "pinData": {
    "Webhook": [
      {
        "json": {
          "headers": {
            "host": "offeraccelerator.app.n8n.cloud",
            "user-agent": "node-fetch/1.0 (+https://github.com/bitinn/node-fetch)",
            "content-length": "799",
            "accept": "application/json",
            "accept-encoding": "gzip, br",
            "baggage": "sentry-environment=production,sentry-public_key=fb9e5b294f68425eb7eb6b168b67dc8d,sentry-trace_id=52661cc1ba1849f9949397d1ea9d04b4",
            "cdn-loop": "cloudflare; loops=1; subreqs=1",
            "cf-connecting-ip": "74.220.48.248",
            "cf-ew-via": "15",
            "cf-ipcountry": "US",
            "cf-ray": "9a3079c816915939-PDX",
            "cf-visitor": "{\"scheme\":\"https\"}",
            "cf-worker": "n8n.cloud",
            "content-type": "application/json",
            "sentry-trace": "52661cc1ba1849f9949397d1ea9d04b4-9e053b3d273a3e39",
            "traceparent": "00-6922f61a00000000215c6e9bb464aa0d-5204f693d5722f53-00",
            "tracestate": "dd=t.tid:6922f61a00000000;t.dm:-1;s:0;p:5204f693d5722f53",
            "x-datadog-parent-id": "5910119725818589011",
            "x-datadog-sampling-priority": "0",
            "x-datadog-tags": "_dd.p.tid=6922f61a00000000",
            "x-datadog-trace-id": "2403917916134484493",
            "x-forwarded-for": "74.220.48.248, 104.23.160.133",
            "x-forwarded-host": "offeraccelerator.app.n8n.cloud",
            "x-forwarded-port": "443",
            "x-forwarded-proto": "https",
            "x-forwarded-server": "traefik-prod-users-gwc-97-56dd95847b-9j5cq",
            "x-is-trusted": "yes",
            "x-real-ip": "74.220.48.248"
          },
          "params": {},
          "query": {},
          "body": {
            "exp": 4,
            "industry": "finance",
            "title": "analyst",
            "status": "Employed part-time",
            "apps": 900,
            "int": 1,
            "offers": 0,
            "challenge": "Rejected at interviews",
            "future": "no idea",
            "why-now": "plz help ",
            "income": 2111,
            " name": "olitestksg",
            "email": "[email protected]",
            "linkedin": "https://www.linkedin.com/in/olivercordingley",
            "meet-url": "https://meet.google.com/aqm-ejta-yex",
            "meet-start": "2025-11-28T07:00:00.000Z",
            "reschedule": "https://ourgen.fillout.com/event/55LeBPd8xZus?t=hVapSWFoU4uRMba1samtK8FXXbLjKbnr",
            "cv": [
              {
                "url": "https://prod-fillout-oregon-s3.s3.us-west-2.amazonaws.com/orgid-210895/flowpublicid-55LeBPd8xZus/ba4bfc01-60c6-4679-8210-19c23b021511-vFW48YFkXTJMR37oR2Qz7RjtAmyf8w991kQzoI7yH8sLiMpEDEQ9PuivhSz42RJwJcUMdenlfqBy3bgDcTKvIbNhc0uLbL8o4nf/Jamie-Harvey-CV.pdf",
                "filename": "Jamie-Harvey-CV.pdf"
              }
            ]
          },
          "webhookUrl": "https://offeraccelerator.app.n8n.cloud/webhook/strategy",
          "executionMode": "production"
        }
      }
    ]
  },
  "connections": {
    "Webhook": {
      "main": [
        [
          {
            "node": "Get many database pages",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get many database pages": {
      "main": [
        [
          {
            "node": "Update a database page",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Create a database page",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Message a model": {
      "main": [
        [
          {
            "node": "Code in JavaScript",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Update a database page": {
      "main": [
        [
          {
            "node": "Message a model",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Code in JavaScript": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Loop Over Items": {
      "main": [
        [],
        [
          {
            "node": "HTTP Request",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "HTTP Request": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "active": true,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "a65aa5ee-b938-4cce-9918-004f7e4047ed",
  "meta": {
    "templateCredsSetupCompleted": true,
    "instanceId": "e8ac305d25816be31f62fbfe4dedb49039b82669b5fd1ec3a1916c70360aedfd"
  },
  "id": "xkyy9ZWYvF4R2FEM",
  "tags": []
}

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.