Skip to content

Javascript nodes not working! #20731

@UnpluggedCollective

Description

@UnpluggedCollective

Describe the problem/error/question

Execution is hanging on the Code Nodes after the first IF function. I also tried creating a new workflow with a basic test hello code, results in the same problem. I need this fixed ASAP! We have business deadlines that are dependent on this workflow!

What is the error message (if any)?

Please share your workflow/screenshots/recording

(Select the nodes on your canvas and use the keyboard shortcuts CMD+C/CTRL+C and CMD+V/CTRL+V to copy and paste the workflow.)
⚠️ WARNING ⚠️ If you have sensitive data in your workflow (like API keys), please remove it before sharing.

"nodes": [
{
"parameters": {
"httpMethod": "POST",
"path": "luma-event-get-guests",
"options": {
"responseData": "JSON"
}
},
"type": "n8n-nodes-base.webhook",
"typeVersion": 2.1,
"position": [
-1136,
-1648
],
"id": "b97bf9a9-2527-4379-835a-cf61ae5106f6",
"name": "Webhook",
"webhookId": "00f3a376-0ddc-4cd2-86e4-462ed448a855",
"alwaysOutputData": false
},
{
"parameters": {
"assignments": {
"assignments": [
{
"id": "91d12ace-53ec-4bae-8299-08ab22db6bab",
"name": "recordId",
"value": "={{ $json.body.airtableRecordId }}",
"type": "string"
},
{
"id": "def82ca3-1378-4858-9ad3-09c25a9da1a6",
"name": "eventId",
"value": "={{ $json.body.lumaEventId }}",
"type": "string"
},
{
"id": "ebff731e-469c-4f60-a377-9f6d1655fde7",
"name": "eventType",
"value": "={{ $json.body.eventType }}",
"type": "string"
},
{
"id": "4c858469-d3c6-4e64-8a33-249ff05ba84f",
"name": "headerName1",
"value": "accept",
"type": "string"
},
{
"id": "8b2ed47e-4b4a-478d-85a6-60f3a5772060",
"name": "headerName2",
"value": "x-luma-api-key",
"type": "string"
},
{
"id": "9f5efb1e-260c-4344-80ff-4ee9041d4053",
"name": "header1value",
"value": "application/json",
"type": "string"
},
{
"id": "b659aa07-98d4-4c04-9b3a-6bd59de6bfad",
"name": "header2value",
"value": "secret-DjQHxwKZAZgdxRlh96ryzZeYb",
"type": "string"
},
{
"id": "09385c2b-9922-45e2-939e-38b0fefff2f3",
"name": "apibaseurl",
"value": "https://public-api.luma.com/v1/event/get-guests",
"type": "string"
}
]
},
"options": {}
},
"type": "n8n-nodes-base.set",
"typeVersion": 3.4,
"position": [
-944,
-1648
],
"id": "967e4064-2067-4d88-8e49-f286cdb4a312",
"name": "Edit Fields"
},
{
"parameters": {
"jsCode": "// Now we have individual guest items, not a response with entries array\nconst allGuests = $input.all();\nconsole.log(Processing ${allGuests.length} individual guest items);\n\n// Extract macro RSVP data using your actual field names\nconst macroRsvpData = allGuests.map(item => {\n const guestEntry = item.json; // This is the guest entry directly\n const guest = guestEntry.guest; // The actual guest data\n \n const getAnswer = (questionId) => {\n const answer = guest.registration_answers?.find(q => q.question_id === questionId);\n return answer ? answer.answer : '';\n };\n \n const getArrayAnswer = (questionId) => {\n const answer = getAnswer(questionId);\n return Array.isArray(answer) ? answer.join(', ') : (answer || '');\n };\n \n // Get eventId from earlier in workflow - adjust node name as needed\n const eventId = $node["Edit Fields"].json.lumaEventId || $node["Webhook"].json.lumaEventId;\n \n return {\n // Match your exact field names\n 'Name' : guest.user_name || '',\n 'First Name': guest.user_first_name || '',\n 'Last Name': guest.user_last_name || '',\n 'Email': guest.email || '',\n 'Phone': guest.phone_number || '',\n 'Company Name (RAW)': getAnswer('1jephh02'),\n 'LinkedIn (RAW)': getAnswer('82w7w0k8'),\n 'Job Title (RAW)': getAnswer('lcxpwkcb'),\n 'Company Type (RAW)': getAnswer('2x45kw1d'),\n 'Location (RAW)': getAnswer('1ooxlior'),\n 'Email Subscription': getAnswer('igv09qkp') ? 'Yes' : 'No',\n 'Privacy Compliance': getAnswer('86indtl6') ? 'Yes' : 'No', \n 'Sponsorship Interest': getAnswer('bewc7kw9'),\n 'Invite Code': getAnswer('ksunxk5g'),\n 'Registered at': guest.registered_at || '',\n 'Source Guest ID': guest.api_id,\n 'User ID': guest.user_api_id,\n 'LUMA Event API ID': eventId,\n 'Raw regsistrations_answers (JSON)': JSON.stringify(guest.registration_answers || [])\n };\n});\n\nconsole.log(Created ${macroRsvpData.length} records from ${allGuests.length} guests);\n\n// Return each record as a separate item with json property\nreturn macroRsvpData.map(record => ({ json: record }));"
},
"type": "n8n-nodes-base.code",
"typeVersion": 2,
"position": [
432,
-1952
],
"id": "bd59c1f4-d142-4f94-8330-799048303828",
"name": "CODE:PARSER"
},
{
"parameters": {
"conditions": {
"options": {
"caseSensitive": true,
"leftValue": "",
"typeValidation": "strict",
"version": 2
},
"conditions": [
{
"id": "d15cf516-cc14-4d5c-801b-dc6d0096750c",
"leftValue": "={{ $json.eventType }}",
"rightValue": "Umbrella",
"operator": {
"type": "string",
"operation": "equals",
"name": "filter.operator.equals"
}
}
],
"combinator": "and"
},
"options": {}
},
"type": "n8n-nodes-base.if",
"typeVersion": 2.2,
"position": [
-768,
-1648
],
"id": "7e0afd22-7661-4789-b6fe-2f83c360a62c",
"name": "If"
},
{
"parameters": {
"url": "={{ $json.next }}",
"sendHeaders": true,
"headerParameters": {
"parameters": [
{
"name": "accept",
"value": "application/json"
},
{
"name": "x-luma-api-key",
"value": "secret-DjQHxwKZAZgdxRlh96ryzZeYb"
}
]
},
"options": {}
},
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.2,
"position": [
-320,
-1776
],
"id": "4dc2013d-8f2e-48e5-bd45-16156a43961a",
"name": "HTTP Request-Umbrella Event"
},
{
"parameters": {
"url": "={{ $json.next }}",
"sendHeaders": true,
"headerParameters": {
"parameters": [
{
"name": "accept",
"value": "application/json"
},
{
"name": "x-luma-api-key",
"value": "secret-DjQHxwKZAZgdxRlh96ryzZeYb"
}
]
},
"options": {}
},
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.2,
"position": [
-320,
-1280
],
"id": "4b28c2ed-8b4f-41b8-8ae4-adfbc8d4c352",
"name": "HTTP Request-Micro Event"
},
{
"parameters": {
"jsCode": "// Now we have individual guest items, not a response with entries array\nconst allGuests = $input.all();\nconsole.log(Processing ${allGuests.length} individual guest items for ESU);\n\n// Process each guest and create ESU records for each selected experience\nconst esuRecords = [];\n\nallGuests.forEach(item => {\n const guestEntry = item.json; // This is the guest entry directly\n const guest = guestEntry.guest; // The actual guest data\n \n const getAnswer = (questionId) => {\n const answer = guest.registration_answers?.find(q => q.question_id === questionId);\n return answer ? answer.answer : null;\n };\n \n // Get the experiences they selected (question ID: kb2pjv7o)\n const selectedExperiences = getAnswer('kb2pjv7o');\n \n // Get eventId from earlier in workflow - adjust node name as needed\n const eventId = $node["Edit Fields"].json.eventId;\n \n // Get Invite Code (using the same question ID as the macro branch)\n const inviteCode = getAnswer('ksunxk5g');\n \n // If they selected experiences, create an ESU record for each one\n if (selectedExperiences && Array.isArray(selectedExperiences)) {\n selectedExperiences.forEach(experience => {\n // Create helper key by concatenating Source Guest ID and Selected Experience\n const helperKey = ${guest.api_id}_${experience};\n \n esuRecords.push({\n 'Source Guest ID': guest.api_id,\n 'Email': guest.email || '',\n 'User ID': guest.user_api_id,\n 'LUMA Event API ID': eventId,\n 'Event ID': eventId, // Add Event ID field\n 'Selected Experience': experience,\n 'Experience Question ID': 'kb2pjv7o',\n 'Invite Code': inviteCode || '', // Add Invite Code field\n 'Helper Key': helperKey\n });\n });\n }\n});\n\nconsole.log(Created ${esuRecords.length} ESU records from ${allGuests.length} guests);\n\n// Return each ESU record as a separate item\nreturn esuRecords.map(record => ({ json: record }));"
},
"type": "n8n-nodes-base.code",
"typeVersion": 2,
"position": [
432,
-1680
],
"id": "11672e5c-ef33-43a5-a5bf-8b922ecc5de6",
"name": "CODE:PARSER1"
},
{
"parameters": {},
"type": "n8n-nodes-base.merge",
"typeVersion": 3.2,
"position": [
992,
-1840
],
"id": "25649e10-65f2-4cd6-8bd4-92f23146c935",
"name": "Merge"
},
{
"parameters": {
"jsCode": "// Now we have individual guest items, not a response with entries array\nconst allGuests = $input.all();\nconst eventId = $node["Edit Fields"].json.eventId;\nconsole.log(Processing ${allGuests.length} individual guest items);\n\n// Function to determine Last Status\nfunction getLastStatus(approvalStatus, checkedInAt) {\n if (approvalStatus === 'approved' && !checkedInAt) {\n return 'RSVP Approved';\n }\n if (approvalStatus === 'approved' && checkedInAt) {\n return 'Checked In';\n }\n if (approvalStatus === 'pending_approval' && !checkedInAt) {\n return 'Pending';\n }\n if (approvalStatus === 'invited' && !checkedInAt) {\n return 'Invited';\n }\n if (approvalStatus === 'waitlist' && !checkedInAt) {\n return 'Waitlist';\n }\n if (approvalStatus === 'declined' && !checkedInAt) {\n return 'Declined';\n }\n return 'Unknown Status';\n}\n\n// Process each guest item\nconst records = [];\nallGuests.forEach(item => {\n const guestEntry = item.json; // This is now the guest entry directly\n const guest = guestEntry.guest; // The actual guest data\n \n // Create helper key by concatenating Source Guest ID and LUMA Event API ID\n const helperKey = ${guest.api_id}_${eventId};\n \n // Get event ticket name from the event_ticket object\n const eventTicketName = guest.event_ticket ? guest.event_ticket.name : '';\n \n // Determine Last Status\n const lastStatus = getLastStatus(guest.approval_status, guest.checked_in_at);\n \n records.push({\n 'Source Guest ID': guest.api_id,\n 'Email': guest.email || '',\n 'User ID': guest.user_api_id,\n 'LUMA Event API ID': $json.lumaEventId,\n 'Helper Key': helperKey,\n 'Checked In At': guest.checked_in_at || '',\n 'Approval Status': guest.approval_status || '',\n 'Event Ticket Name': eventTicketName,\n 'Last Status': lastStatus\n });\n});\n\nconsole.log(Created ${records.length} records from ${allGuests.length} guests);\n\n// Return each record as a separate item\nreturn records.map(record => ({ json: record }));"
},
"type": "n8n-nodes-base.code",
"typeVersion": 2,
"position": [
288,
-1264
],
"id": "67809480-2190-418b-9a3f-6f8b6f8dabcd",
"name": "CODE:PARSER2"
},
{
"parameters": {
"operation": "upsert",
"base": {
"__rl": true,
"value": "appdNrPOtsWi8hnaT",
"mode": "list",
"cachedResultName": "CRM",
"cachedResultUrl": "https://airtable.com/appdNrPOtsWi8hnaT"
},
"table": {
"__rl": true,
"value": "tblaFMyOlLZnlXDF2",
"mode": "list",
"cachedResultName": "EVENT STATUS UPLOAD (ESU)",
"cachedResultUrl": "https://airtable.com/appdNrPOtsWi8hnaT/tblaFMyOlLZnlXDF2"
},
"columns": {
"mappingMode": "defineBelow",
"value": {
"Event Status Record": "={{ $json['Helper Key'] }}",
"Source Guest ID": "={{ $json['Source Guest ID'] }}",
"LUMA Umbrella Event Selection": "={{ $json['Selected Experience'] }}",
"LUMA User ID": "={{ $json['User ID'] }}",
"Email": "={{ $json.Email }}",
"Invite Code": "={{ $json['Invite Code'] }}",
"Status": "Requested"
},
"matchingColumns": [
"Event Status Record"
],
"schema": [
{
"id": "id",
"displayName": "id",
"required": false,
"defaultMatch": true,
"display": true,
"type": "string",
"readOnly": true,
"removed": true
},
{
"id": "Event Status Record",
"displayName": "Event Status Record",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Source Guest ID",
"displayName": "Source Guest ID",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "LUMA Event API ID",
"displayName": "LUMA Event API ID",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": true
},
{
"id": "LUMA Umbrella Event Selection",
"displayName": "LUMA Umbrella Event Selection",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Email",
"displayName": "Email",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "LUMA User ID",
"displayName": "LUMA User ID",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Event Name (RAW)",
"displayName": "Event Name (RAW)",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": true
},
{
"id": "Status",
"displayName": "Status",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Events",
"displayName": "Events",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "array",
"readOnly": false,
"removed": true
},
{
"id": "LUMA eventId (from Events)",
"displayName": "LUMA eventId (from Events)",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": true,
"removed": true
},
{
"id": "LUMA Event Name (from Events)",
"displayName": "LUMA Event Name (from Events)",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": true,
"removed": true
},
{
"id": "LUMA Umbrella Event Selection Name (from Events)",
"displayName": "LUMA Umbrella Event Selection Name (from Events)",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": true,
"removed": true
},
{
"id": "Contacts (Primary)",
"displayName": "Contacts (Primary)",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "array",
"readOnly": false,
"removed": true
},
{
"id": "Contact Record ID (from Contacts (Primary))",
"displayName": "Contact Record ID (from Contacts (Primary))",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": true,
"removed": true
},
{
"id": "Process Status",
"displayName": "Process Status",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "options",
"options": [
{
"name": "Event Check",
"value": "Event Check"
},
{
"name": "Event Contact Check",
"value": "Event Contact Check"
},
{
"name": "Processed",
"value": "Processed"
},
{
"name": "NEEDS REVIEW",
"value": "NEEDS REVIEW"
}
],
"readOnly": false,
"removed": true
},
{
"id": "Email_Event_KEY",
"displayName": "Email_Event_KEY",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": true,
"removed": true
},
{
"id": "Email_Event Name_Status_KEY",
"displayName": "Email_Event Name_Status_KEY",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": true
},
{
"id": "Ticket Type",
"displayName": "Ticket Type",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": true
},
{
"id": "Checked In At",
"displayName": "Checked In At",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": true
},
{
"id": "Invite Code",
"displayName": "Invite Code",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
}
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {}
},
"type": "n8n-nodes-base.airtable",
"typeVersion": 2.1,
"position": [
720,
-1696
],
"id": "142c9094-eb21-4fa9-95c5-c9455d6b51b5",
"name": "Create or update ESU",
"credentials": {
"airtableTokenApi": {
"id": "ORMwmvTk3XBVatpc",
"name": "Airtable Personal Access Token account"
}
}
},
{
"parameters": {
"operation": "upsert",
"base": {
"__rl": true,
"value": "appdNrPOtsWi8hnaT",
"mode": "list",
"cachedResultName": "CRM",
"cachedResultUrl": "https://airtable.com/appdNrPOtsWi8hnaT"
},
"table": {
"__rl": true,
"value": "tblfpdnW3SBmCeevz",
"mode": "list",
"cachedResultName": "MACRO RSVP UPLOAD (MRU)",
"cachedResultUrl": "https://airtable.com/appdNrPOtsWi8hnaT/tblfpdnW3SBmCeevz"
},
"columns": {
"mappingMode": "defineBelow",
"value": {
"Source Guest ID": "={{ $json['Source Guest ID'] }}",
"Email": "={{ $json.Email }}",
"Phone": "={{ $json.Phone }}",
"Company Name (RAW)": "={{ $json['Company Name (RAW)'] || 'Unknown' }}",
"LinkedIn (RAW)": "={{ $json['LinkedIn (RAW)'] || 'Unknown' }}",
"Job Title (RAW)": "={{ $json['Job Title (RAW)'] || 'Unknown' }}",
"Company Type (RAW)": "={{ $json['Company Type (RAW)'] || 'Unknown' }}",
"Location (RAW)": "={{ $json['Location (RAW)'] || 'Unknown' }}",
"Email Subscription": "={{ $json['Email Subscription'] || 'Yes' }}",
"Privacy Compliance": "={{ $json['Privacy Compliance'] || 'Yes'}}",
"Sponsorship Interest": "={{ $json['Sponsorship Interest'] || 'No' }}",
"First Name": "={{ $json['First Name'] || $json['Name'].split(' ')[0] || 'Unknown' }}",
"Last Name": "={{ $json['Last Name'] || $json['Name'].split(' ').slice(1).join(' ') || 'User' }}",
"Registered at": "={{ $json['Registered at'] }}",
"User ID": "={{ $json['User ID'] }}",
"LUMA Event API ID": "={{ $('Edit Fields').item.json.eventId }}",
"Invite Code": "={{ $json['Invite Code'] }}",
"Raw regsistrations_answers (JSON)": "={{ $json['Raw regsistrations_answers (JSON)'] }}"
},
"matchingColumns": [
"Source Guest ID"
],
"schema": [
{
"id": "id",
"displayName": "id",
"required": false,
"defaultMatch": true,
"display": true,
"type": "string",
"readOnly": true,
"removed": true
},
{
"id": "Name",
"displayName": "Name",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": true,
"removed": true
},
{
"id": "Processing Status",
"displayName": "Processing Status",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "options",
"options": [
{
"name": "Contacts Exists",
"value": "Contacts Exists"
},
{
"name": "Contact New",
"value": "Contact New"
},
{
"name": "Company Check",
"value": "Company Check"
},
{
"name": "Interactions Check",
"value": "Interactions Check"
},
{
"name": "Complete",
"value": "Complete"
},
{
"name": "Event Check",
"value": "Event Check"
}
],
"readOnly": false,
"removed": true
},
{
"id": "Email",
"displayName": "Email",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Phone",
"displayName": "Phone",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Company Name (RAW)",
"displayName": "Company Name (RAW)",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "LinkedIn (RAW)",
"displayName": "LinkedIn (RAW)",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Umbrella Event Name (RAW)",
"displayName": "Umbrella Event Name (RAW)",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": true
},
{
"id": "Notes",
"displayName": "Notes",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": true
},
{
"id": "Name_Email_Company_KEY",
"displayName": "Name_Email_Company_KEY",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": true,
"removed": true
},
{
"id": "Job Title (RAW)",
"displayName": "Job Title (RAW)",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Job Level (AI)",
"displayName": "Job Level (AI)",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "options",
"options": [
{
"name": "C-Suite/Founder",
"value": "C-Suite/Founder"
},
{
"name": "VP/EVP/SVP/GM/etc (include Head of titles)",
"value": "VP/EVP/SVP/GM/etc (include Head of titles)"
},
{
"name": "Director/Senior Director",
"value": "Director/Senior Director"
},
{
"name": "Manager/Senior Manager",
"value": "Manager/Senior Manager"
},
{
"name": "Associate/IC",
"value": "Associate/IC"
},
{
"name": "Other",
"value": "Other"
}
],
"readOnly": false,
"removed": true
},
{
"id": "Role Type (AI)",
"displayName": "Role Type (AI)",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "options",
"options": [
{
"name": "Senior Leadership",
"value": "Senior Leadership"
},
{
"name": "Sales",
"value": "Sales"
},
{
"name": "Operations",
"value": "Operations"
},
{
"name": "Media Buying/Strategy",
"value": "Media Buying/Strategy"
},
{
"name": "Product/Engineering",
"value": "Product/Engineering"
},
{
"name": "Corp Dev & Strategy",
"value": "Corp Dev & Strategy"
},
{
"name": "Data & Analytics",
"value": "Data & Analytics"
},
{
"name": "Creative Strategy/Execution",
"value": "Creative Strategy/Execution"
},
{
"name": "Ad Operations",
"value": "Ad Operations"
},
{
"name": "Sales Operations",
"value": "Sales Operations"
}
],
"readOnly": false,
"removed": true
},
{
"id": "Company Type (RAW)",
"displayName": "Company Type (RAW)",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Location (RAW)",
"displayName": "Location (RAW)",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Email Subscription",
"displayName": "Email Subscription",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Privacy Compliance",
"displayName": "Privacy Compliance",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Sponsorship Interest",
"displayName": "Sponsorship Interest",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Contact (Primary)",
"displayName": "Contact (Primary)",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "array",
"readOnly": false,
"removed": true
},
{
"id": "Company (from Contact (Primary))",
"displayName": "Company (from Contact (Primary))",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": true,
"removed": true
},
{
"id": "Contact Record ID (from Contact (Primary))",
"displayName": "Contact Record ID (from Contact (Primary))",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": true,
"removed": true
},
{
"id": "First Name",
"displayName": "First Name",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Last Name",
"displayName": "Last Name",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "LinkedIn (AI)",
"displayName": "LinkedIn (AI)",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": true
},
{
"id": "Location (AI)",
"displayName": "Location (AI)",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": true
},
{
"id": "City",
"displayName": "City",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": true
},
{
"id": "State",
"displayName": "State",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": true
},
{
"id": "Country",
"displayName": "Country",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": true
},
{
"id": "Event",
"displayName": "Event",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "array",
"readOnly": false,
"removed": true
},
{
"id": "Registered at",
"displayName": "Registered at",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Source Guest ID",
"displayName": "Source Guest ID",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "User ID",
"displayName": "User ID",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "LUMA Event API ID",
"displayName": "LUMA Event API ID",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Invite Code",
"displayName": "Invite Code",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Raw regsistrations_answers (JSON)",
"displayName": "Raw regsistrations_answers (JSON)",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
}
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {}
},
"type": "n8n-nodes-base.airtable",
"typeVersion": 2.1,
"position": [
720,
-1952
],
"id": "5d512358-1009-41c4-af47-f80c085afec9",
"name": "Create or update MRU",
"credentials": {
"airtableTokenApi": {
"id": "ORMwmvTk3XBVatpc",
"name": "Airtable Personal Access Token account"
}
}
},
{
"parameters": {
"operation": "upsert",
"base": {
"__rl": true,
"value": "appdNrPOtsWi8hnaT",
"mode": "list",
"cachedResultName": "CRM",
"cachedResultUrl": "https://airtable.com/appdNrPOtsWi8hnaT"
},
"table": {
"__rl": true,
"value": "tblaFMyOlLZnlXDF2",
"mode": "list",
"cachedResultName": "EVENT STATUS UPLOAD (ESU)",
"cachedResultUrl": "https://airtable.com/appdNrPOtsWi8hnaT/tblaFMyOlLZnlXDF2"
},
"columns": {
"mappingMode": "defineBelow",
"value": {
"Source Guest ID": "={{ $json['Source Guest ID'] }}",
"Email": "={{ $json.Email }}",
"LUMA User ID": "={{ $json['User ID'] }}",
"Status": "={{ $json['Last Status'] }}",
"Ticket Type": "={{ $json['Event Ticket Name'] }}",
"Checked In At": "={{ $json['Checked In At'] }}",
"LUMA Event API ID": "={{ $('Edit Fields').item.json.eventId }}",
"Event Status Record": "={{ $json['Source Guest ID'] }}"
},
"matchingColumns": [
"Event Status Record"
],
"schema": [
{
"id": "id",
"displayName": "id",
"required": false,
"defaultMatch": true,
"display": true,
"type": "string",
"readOnly": true,
"removed": true
},
{
"id": "Event Status Record",
"displayName": "Event Status Record",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Source Guest ID",
"displayName": "Source Guest ID",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "LUMA Event API ID",
"displayName": "LUMA Event API ID",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "LUMA Umbrella Event Selection",
"displayName": "LUMA Umbrella Event Selection",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": true
},
{
"id": "Email",
"displayName": "Email",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "LUMA User ID",
"displayName": "LUMA User ID",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Event Name (RAW)",
"displayName": "Event Name (RAW)",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": true
},
{
"id": "Status",
"displayName": "Status",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Events",
"displayName": "Events",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "array",
"readOnly": false,
"removed": true
},
{
"id": "LUMA eventId (from Events)",
"displayName": "LUMA eventId (from Events)",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": true,
"removed": true
},
{
"id": "LUMA Event Name (from Events)",
"displayName": "LUMA Event Name (from Events)",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": true,
"removed": true
},
{
"id": "LUMA Umbrella Event Selection Name (from Events)",
"displayName": "LUMA Umbrella Event Selection Name (from Events)",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": true,
"removed": true
},
{
"id": "Contacts (Primary)",
"displayName": "Contacts (Primary)",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "array",
"readOnly": false,
"removed": true
},
{
"id": "Contact Record ID (from Contacts (Primary))",
"displayName": "Contact Record ID (from Contacts (Primary))",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": true,
"removed": true
},
{
"id": "Process Status",
"displayName": "Process Status",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "options",
"options": [
{
"name": "Event Check",
"value": "Event Check"
},
{
"name": "Event Contact Check",
"value": "Event Contact Check"
},
{
"name": "Processed",
"value": "Processed"
},
{
"name": "NEEDS REVIEW",
"value": "NEEDS REVIEW"
}
],
"readOnly": false,
"removed": true
},
{
"id": "Email_Event_KEY",
"displayName": "Email_Event_KEY",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": true,
"removed": true
},
{
"id": "Email_Event Name_Status_KEY",
"displayName": "Email_Event Name_Status_KEY",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": true
},
{
"id": "Ticket Type",
"displayName": "Ticket Type",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
},
{
"id": "Checked In At",
"displayName": "Checked In At",
"required": false,
"defaultMatch": false,
"canBeUsedToMatch": true,
"display": true,
"type": "string",
"readOnly": false,
"removed": false
}
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {}
},
"type": "n8n-nodes-base.airtable",
"typeVersion": 2.1,
"position": [
576,
-1280
],
"id": "e2b2bdaf-ee97-4e27-9bd2-b23ad135fc4c",
"name": "Create or update ESU-micro",
"credentials": {
"airtableTokenApi": {
"id": "ORMwmvTk3XBVatpc",
"name": "Airtable Personal Access Token account"
}
}
},
{
"parameters": {
"assignments": {
"assignments": [
{
"id": "470949b4-2af6-48af-8413-5e9bc00b5d52",
"name": "next",
"value": "={{ \n 'https://public-api.luma.com/v1/event/get-guests?event_api_id=' \n + $('Edit Fields').item.json.eventId\n + '&pagination_cursor=' \n + $json.next_cursor \n}}",
"type": "string"
}
]
},
"includeOtherFields": true,
"options": {}
},
"type": "n8n-nodes-base.set",
"typeVersion": 3.4,
"position": [
0,
-1520
],
"id": "7afc04f8-bd98-41dd-a16f-6f6d83694ed6",
"name": "Set next URL"
},
{
"parameters": {
"conditions": {
"options": {
"caseSensitive": true,
"leftValue": "",
"typeValidation": "strict",
"version": 2
},
"conditions": [
{
"id": "68945806-a719-4a99-b626-31ad36b2b7f2",
"leftValue": "={{ $json.next_cursor }}",
"rightValue": true,
"operator": {
"type": "string",
"operation": "exists",
"singleValue": true
}
}
],
"combinator": "and"
},
"options": {}
},
"type": "n8n-nodes-base.if",
"typeVersion": 2.2,
"position": [
-128,
-1280
],
"id": "f4197555-b48b-4d34-ad06-7785b7e5b439",
"name": "If1"
},
{
"parameters": {
"jsCode": "const allData = [];\nlet counter = 0;\n\ndo {\n try {\n // Get the HTTP Request response from each iteration\n const httpResponse = $items("HTTP Request-Micro Event", 0, counter);\n \n if (httpResponse && httpResponse.length > 0) {\n const response = httpResponse[0].json;\n const entries = response.entries || [];\n \n // Add each guest entry to our combined array\n entries.forEach(entry => {\n allData.push({ json: entry });\n });\n \n console.log(Added ${entries.length} entries from iteration ${counter});\n }\n } catch (error) {\n // No more iterations, break out\n console.log(Finished combining data. Total entries: ${allData.length});\n break;\n }\n counter++;\n} while(true);\n\nreturn allData;"
},
"type": "n8n-nodes-base.code",
"typeVersion": 2,
"position": [
96,
-1264
],
"id": "c2af8ca5-865d-49c0-98a3-6a29c6d70cf4",
"name": "Combine all data"
},
{
"parameters": {
"jsCode": "const items = $input.all();\nlet next = 'https://public-api.luma.com/v1/event/get-guests?event_api_id=' + $json.eventId;\n\n// If we have a next URL from previous iteration, use it\nif (items[0]?.json?.next) {\n next = items[0].json.next;\n}\n\nreturn [{\n json: { next: next }\n}];"
},
"type": "n8n-nodes-base.code",
"typeVersion": 2,
"position": [
-512,
-1776
],
"id": "c31826bf-b18a-4f67-b855-e0e7aaa2b6d9",
"name": "URL Config1"
},
{
"parameters": {
"conditions": {
"options": {
"caseSensitive": true,
"leftValue": "",
"typeValidation": "strict",
"version": 2
},
"conditions": [
{
"id": "b2785c26-32d5-41f7-9181-3de1ade56a7f",
"leftValue": "={{ $json.next_cursor }}",
"rightValue": "",
"operator": {
"type": "string",
"operation": "exists",
"singleValue": true
}
}
],
"combinator": "and"
},
"options": {}
},
"type": "n8n-nodes-base.if",
"typeVersion": 2.2,
"position": [
0,
-1776
],
"id": "ebe07092-5601-4d79-91e8-481777401c4b",
"name": "If2"
},
{
"parameters": {
"assignments": {
"assignments": [
{
"id": "470949b4-2af6-48af-8413-5e9bc00b5d52",
"name": "next",
"value": "={{ \n 'https://public-api.luma.com/v1/event/get-guests?event_api_id=' \n + $('Edit Fields').item.json.eventId\n + '&pagination_cursor=' \n + $json.next_cursor \n}}",
"type": "string"
}
]
},
"options": {}
},
"type": "n8n-nodes-base.set",
"typeVersion": 3.4,
"position": [
0,
-1984
],
"id": "383c5413-f82f-40d3-b3bc-de18f0b0f7ba",
"name": "Set next URL1"
},
{
"parameters": {
"jsCode": "const allData = [];\nlet counter = 0;\n\ndo {\n try {\n // Get the HTTP Request response from each iteration\n const httpResponse = $items("HTTP Request-Umbrella Event", 0, counter);\n \n if (httpResponse && httpResponse.length > 0) {\n const response = httpResponse[0].json;\n const entries = response.entries || [];\n \n // Add each guest entry to our combined array\n entries.forEach(entry => {\n allData.push({ json: entry });\n });\n \n console.log(Added ${entries.length} entries from iteration ${counter});\n }\n } catch (error) {\n // No more iterations, break out\n console.log(Finished combining data. Total entries: ${allData.length});\n break;\n }\n counter++;\n} while(true);\n\nreturn allData;"
},
"type": "n8n-nodes-base.code",
"typeVersion": 2,
"position": [
224,
-1840
],
"id": "07777f82-7752-47b7-9fba-c6340a8adeaf",
"name": "Combine all data1"
},
{
"parameters": {
"jsCode": "const items = $input.all();\nconst eventId = items[0].json.eventId;\n\nlet next = https://public-api.luma.com/v1/event/get-guests?event_api_id=${eventId};\n\n// Check if we have a next URL from previous loop iteration\nif (items[0].json.next) {\n next = items[0].json.next;\n}\n\nreturn [{\n json: { next: next }\n}];"
},
"type": "n8n-nodes-base.code",
"typeVersion": 2,
"position": [
-528,
-1280
],
"id": "612819bc-9aad-4934-838f-26e663301335",
"name": "Code in JavaScript"
}
],
"connections": {
"Webhook": {
"main": [
[
{
"node": "Edit Fields",
"type": "main",
"index": 0
}
]
]
},
"Edit Fields": {
"main": [
[
{
"node": "If",
"type": "main",
"index": 0
}
]
]
},
"CODE:PARSER": {
"main": [
[
{
"node": "Create or update MRU",
"type": "main",
"index": 0
}
]
]
},
"If": {
"main": [
[
{
"node": "URL Config1",
"type": "main",
"index": 0
}
],
[
{
"node": "Code in JavaScript",
"type": "main",
"index": 0
}
]
]
},
"HTTP Request-Umbrella Event": {
"main": [
[
{
"node": "If2",
"type": "main",
"index": 0
}
]
]
},
"HTTP Request-Micro Event": {
"main": [
[
{
"node": "If1",
"type": "main",
"index": 0
}
]
]
},
"CODE:PARSER1": {
"main": [
[
{
"node": "Create or update ESU",
"type": "main",
"index": 0
}
]
]
},
"CODE:PARSER2": {
"main": [
[
{
"node": "Create or update ESU-micro",
"type": "main",
"index": 0
}
]
]
},
"Create or update ESU": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 1
}
]
]
},
"Create or update MRU": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 0
}
]
]
},
"Set next URL": {
"main": [
[
{
"node": "Code in JavaScript",
"type": "main",
"index": 0
}
]
]
},
"If1": {
"main": [
[
{
"node": "Set next URL",
"type": "main",
"index": 0
}
],
[
{
"node": "Combine all data",
"type": "main",
"index": 0
}
]
]
},
"Combine all data": {
"main": [
[
{
"node": "CODE:PARSER2",
"type": "main",
"index": 0
}
]
]
},
"URL Config1": {
"main": [
[
{
"node": "HTTP Request-Umbrella Event",
"type": "main",
"index": 0
}
]
]
},
"If2": {
"main": [
[
{
"node": "Set next URL1",
"type": "main",
"index": 0
}
],
[
{
"node": "Combine all data1",
"type": "main",
"index": 0
}
]
]
},
"Set next URL1": {
"main": [
[
{
"node": "URL Config1",
"type": "main",
"index": 0
}
]
]
},
"Combine all data1": {
"main": [
[
{
"node": "CODE:PARSER",
"type": "main",
"index": 0
},
{
"node": "CODE:PARSER1",
"type": "main",
"index": 0
}
]
]
},
"Code in JavaScript": {
"main": [
[
{
"node": "HTTP Request-Micro Event",
"type": "main",
"index": 0
}
]
]
}
},
"pinData": {},
"meta": {
"templateCredsSetupCompleted": true,
"instanceId": "24ea9f4779798cfc55c7cfcde031bc16f6a716a85602db0d1da4dbfca83af3fd"
}
}

Share the output returned by the last node

ZERO OUTPUT, it will not stop trying to execute.

Debug info

core

  • n8nVersion: 1.110.1
  • platform: docker (cloud)
  • nodeJsVersion: 22.19.0
  • database: sqlite
  • executionMode: regular
  • concurrency: 5
  • license: community

storage

  • success: all
  • error: all
  • progress: false
  • manual: true
  • binaryMode: filesystem

pruning

  • enabled: true
  • maxAge: 168 hours
  • maxCount: 2500 executions

client

  • userAgent: mozilla/5.0 (windows nt 10.0; win64; x64) applewebkit/537.36 (khtml, like gecko) chrome/141.0.0.0 safari/537.36
  • isTouchDevice: false

Generated at: 2025-10-13T17:13:36.982Z}

Metadata

Metadata

Assignees

No one assigned

    Labels

    in linearIssue or PR has been created in Linear for internal review

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions