-
Notifications
You must be signed in to change notification settings - Fork 47.1k
Description
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}