This workflow corresponds to n8n.io template #13062 — we link there as the canonical source.
This workflow follows the Airtable → HTTP Request recipe pattern — see all workflows that pair these two integrations.
The workflow JSON
Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →
{
"id": "9IrbnlGFKNh2EIqty18x-",
"name": "wf3",
"tags": [],
"nodes": [
{
"id": "97230906-69dc-4afc-bfee-e9807082da69",
"name": "Tag eventType = info",
"type": "n8n-nodes-base.set",
"position": [
864,
1008
],
"parameters": {
"values": {
"string": [
{
"name": "eventType",
"value": "info"
}
]
},
"options": {}
},
"typeVersion": 2
},
{
"id": "bc36d017-1ce4-4c4b-b209-421555cdbe56",
"name": "Tag eventType = course",
"type": "n8n-nodes-base.set",
"position": [
864,
1200
],
"parameters": {
"values": {
"string": [
{
"name": "eventType",
"value": "course"
}
]
},
"options": {}
},
"typeVersion": 2
},
{
"id": "c93fa83a-4ffb-4971-8d13-d3a79b5762aa",
"name": "Merge \u2014 Any Trigger",
"type": "n8n-nodes-base.merge",
"position": [
1088,
1104
],
"parameters": {},
"typeVersion": 2
},
{
"id": "54ade592-b443-4be0-b709-56b328668725",
"name": "Code \u2014 Normalize + Decide Action",
"type": "n8n-nodes-base.code",
"position": [
1312,
1104
],
"parameters": {
"jsCode": "function safeStr(v) {\n return (v ?? '').toString().trim();\n}\n\nfunction normalizeBool(v) {\n return v === true || v === 'checked' || v === 'true' || v === 1;\n}\n\nfunction toE164(phoneRaw) {\n const p = safeStr(phoneRaw);\n if (!p) return '';\n return p.startsWith('+') ? p : `+${p}`;\n}\n\nreturn items.map((item) => {\n const r = item.json || {};\n const f = r.fields || {};\n\n const eventType = safeStr(r.eventType); // 'info' | 'course'\n const recordId = r.id;\n\n const firstName = safeStr(f['First Name'] ?? f['First Name'] ?? f['First Name ']);\n const email = safeStr(f['Email']);\n const phoneE164 = toE164(f['Phone Number']);\n\n const referrerEmail = safeStr(f['Referrer Email'] ?? f['Referring Person Email']);\n\n const infoOutcome = safeStr(f['Info Event Outcome']); // Attended / Did Not Attend / Rescheduled\n const courseOutcome = safeStr(f['Course Outcome']); // Started / Did Not Start/Withdrawn / Completed\n\n // Sent flags (candidate)\n const postInfoAttendedSent = normalizeBool(f['Post-Info Attended Sent']);\n const postInfoNoShowSent = normalizeBool(f['Post-Info NoShow Sent']);\n const courseOutcomeMsgSent = normalizeBool(f['Course Outcome Message Sent']);\n\n // Sent flags (referrer)\n const referrerInfoNotified = normalizeBool(f['Referrer Notified \u2013 Info Outcome']);\n const referrerCourseStartNotified = normalizeBool(f['Referrer Notified \u2013 Course Start']); // NEW FIELD\n const referrerCourseEndNotified = normalizeBool(f['Referrer Notified \u2013 Course Outcome']); // reuse existing for end notification\n\n // Normalize course outcome to a key for templates\n let courseOutcomeKey = '';\n if (courseOutcome === 'Started') courseOutcomeKey = 'started';\n else if (courseOutcome === 'Did Not Start/Withdrawn') courseOutcomeKey = 'not_started_withdrawn';\n else if (courseOutcome === 'Completed') courseOutcomeKey = 'completed';\n else courseOutcomeKey = courseOutcome ? 'other' : '';\n\n // Decide ONE action route (candidate messaging)\n let action = 'none';\n\n if (eventType === 'info') {\n if (infoOutcome === 'Attended' && !postInfoAttendedSent) action = 'info_attended';\n else if (infoOutcome === 'Did Not Attend' && !postInfoNoShowSent) action = 'info_noshow';\n // Rescheduled => none\n }\n\n if (eventType === 'course') {\n if (courseOutcomeKey && !courseOutcomeMsgSent) action = 'course';\n }\n\n // Referrer notifications (separate from candidate messaging)\n const notifyReferrerInfo =\n eventType === 'info' &&\n !!referrerEmail &&\n !referrerInfoNotified &&\n (infoOutcome === 'Attended' || infoOutcome === 'Did Not Attend');\n\n // NEW: referrer course start notification (only when Started)\n const notifyReferrerCourseStart =\n eventType === 'course' &&\n !!referrerEmail &&\n !referrerCourseStartNotified &&\n courseOutcomeKey === 'started';\n\n // NEW: referrer course end notification (only when Completed OR Withdrawn/Did Not Start)\n const notifyReferrerCourseEnd =\n eventType === 'course' &&\n !!referrerEmail &&\n !referrerCourseEndNotified &&\n (courseOutcomeKey === 'completed' || courseOutcomeKey === 'not_started_withdrawn');\n\n return {\n json: {\n recordId,\n eventType,\n action,\n\n firstName,\n email,\n phoneE164,\n referrerEmail,\n\n infoOutcome,\n courseOutcome,\n courseOutcomeKey,\n\n hasEmail: !!email,\n hasPhone: !!phoneE164,\n\n notifyReferrerInfo,\n notifyReferrerCourseStart,\n notifyReferrerCourseEnd,\n\n applyLink: 'https://www.morestarts.co.uk/welding-course/',\n senderName: 'Morestarts',\n senderEmail: 'user@example.com'\n }\n };\n});\n"
},
"typeVersion": 2
},
{
"id": "f81f1c42-5553-42d8-88cb-ee1f6571ff26",
"name": "Switch \u2014 Route Action",
"type": "n8n-nodes-base.switch",
"position": [
1536,
1088
],
"parameters": {
"rules": {
"rules": [
{
"value2": "info_attended",
"outputKey": "output 0"
},
{
"value2": "info_noshow",
"outputKey": "output 1"
},
{
"value2": "course",
"outputKey": "output 2"
}
]
},
"value1": "={{ $json.action }}",
"dataType": "string"
},
"typeVersion": 2
},
{
"id": "bcc5ebd1-56db-47a0-b149-91625024f2b0",
"name": "WF6 Complete",
"type": "n8n-nodes-base.set",
"position": [
2880,
1104
],
"parameters": {
"values": {
"string": [
{
"name": "status",
"value": "WF6 Complete"
}
]
},
"options": {},
"keepOnlySet": true
},
"typeVersion": 2
},
{
"id": "ed248688-095b-4cf9-af96-3934175c7135",
"name": "Airtable Trigger \u2014 Info Outcome Updated At1",
"type": "n8n-nodes-base.airtableTrigger",
"position": [
640,
1008
],
"parameters": {
"baseId": {
"__rl": true,
"mode": "id",
"value": "Your_Base_id"
},
"tableId": {
"__rl": true,
"mode": "id",
"value": "Your_table_id"
},
"pollTimes": {
"item": [
{
"mode": "everyMinute"
}
]
},
"triggerField": "InfoOutcomeUpdatedAt_TMP",
"authentication": "airtableTokenApi",
"additionalFields": {}
},
"credentials": {
"airtableTokenApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "76b54aad-41af-4ed2-a536-1b04e4b7c555",
"name": "Course Outcome Updated At",
"type": "n8n-nodes-base.airtableTrigger",
"position": [
640,
1200
],
"parameters": {
"baseId": {
"__rl": true,
"mode": "id",
"value": "Your_Base_ID"
},
"tableId": {
"__rl": true,
"mode": "id",
"value": "Your_Table_ID"
},
"pollTimes": {
"item": [
{
"mode": "everyMinute"
}
]
},
"triggerField": "Course Outcome Updated At",
"authentication": "airtableTokenApi",
"additionalFields": {}
},
"credentials": {
"airtableTokenApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "d042e3ab-1a45-4bbd-a45b-67fc387816e9",
"name": "Attended email",
"type": "n8n-nodes-base.sendInBlue",
"position": [
1760,
912
],
"parameters": {
"sender": "user@example.com",
"subject": "Course Place Confirmed",
"receipients": "={{ $json.email }}",
"textContent": "=Hi {{ $json.firstName || $json.fields['First Name'] }},\n\nThank you for attending the info event at [course name].\n\nWe are pleased to confirm that your place on the course is secure, and we look forward to welcoming you on Monday.\n\nIf you have changed your mind for any reason, please let us know as soon as possible by emailing sender@gmail.com\n\nYour name\n",
"requestOptions": {},
"additionalFields": {}
},
"credentials": {
"sendInBlueApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "91c4425d-91a0-4210-9e71-84fe60dd63f0",
"name": "Course outcome email",
"type": "n8n-nodes-base.sendInBlue",
"position": [
1760,
1488
],
"parameters": {
"sender": "user@example.com",
"subject": "={{ \n $json.courseOutcomeKey === 'started' ? 'Welcome to the Course' :\n $json.courseOutcomeKey === 'not_started_withdrawn' ? 'Course Update' :\n $json.courseOutcomeKey === 'completed' ? 'Congratulations on Completing the Course' :\n 'Course Update'\n}}\n",
"receipients": "={{ $json.email }}",
"textContent": "={{\n $json.courseOutcomeKey === 'started'\n ? `Hi ${$json.firstName || 'there'},\n\nWelcome to the coursename, Course name at Academy name.\n\nWe are pleased to confirm that you have successfully started the course and wish you every success.\n\nIf you have any questions during the course, please get in touch.\n\nsendername`\n : $json.courseOutcomeKey === 'not_started_withdrawn'\n ? `Hi ${$json.firstName || 'there'},\n\nWe noticed that you did not start or withdrew from the Course name.\n\nIf you would like to join a future course or discuss your options, please contact us as soon as possible.\n\nsendername`\n : $json.courseOutcomeKey === 'completed'\n ? `Hi ${$json.firstName || 'there'},\n\nCongratulations on successfully completing the Course name.\n\nWe wish you every success moving forward and thank you for training with coursename.\n\nsendername`\n : `Hi ${$json.firstName || 'there'},\n\nCourse update.\n\nsendername`\n}}\n",
"requestOptions": {},
"additionalFields": {}
},
"credentials": {
"sendInBlueApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "639245b4-65ca-48b4-964d-1240219619b6",
"name": "Airtable \u2014 Commit Post-Info Attended Sent",
"type": "n8n-nodes-base.airtable",
"position": [
1984,
816
],
"parameters": {
"base": {
"__rl": true,
"mode": "id",
"value": "Your_Base-ID"
},
"table": {
"__rl": true,
"mode": "id",
"value": "Your_Table_ID"
},
"columns": {
"value": {
"id": "={{ $('Airtable Trigger \u2014 Info Outcome Updated At1').item.json.id }}"
},
"schema": [
{
"id": "id",
"type": "string",
"display": true,
"removed": false,
"readOnly": true,
"required": false,
"displayName": "id",
"defaultMatch": true
},
{
"id": "First Name",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "First Name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Last Name",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Last Name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "For funding purposes, please confirm your age. (You must be 19 or over as of 31st August 2025)",
"type": "number",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "For funding purposes, please confirm your age. (You must be 19 or over as of 31st August 2025)",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "DWP Work Coach or Employer Advisor Name",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "DWP Work Coach or Employer Advisor Name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Job Center",
"type": "options",
"display": true,
"options": [
{
"name": "DE - Alfreton",
"value": "DE - Alfreton"
},
{
"name": "DE - Matlock",
"value": "DE - Matlock"
},
{
"name": "DE - Chesterfield",
"value": "DE - Chesterfield"
},
{
"name": "DE - Belper",
"value": "DE - Belper"
},
{
"name": "DE - Heanor",
"value": "DE - Heanor"
},
{
"name": "DE - Ilkeston",
"value": "DE - Ilkeston"
},
{
"name": "DE - Derby",
"value": "DE - Derby"
},
{
"name": "NG - Mansfield",
"value": "NG - Mansfield"
},
{
"name": "NG - Ashfield",
"value": "NG - Ashfield"
},
{
"name": "NG - Shirebrook",
"value": "NG - Shirebrook"
},
{
"name": "NG - Nottingham",
"value": "NG - Nottingham"
},
{
"name": "NG - Beeston",
"value": "NG - Beeston"
},
{
"name": "NG - Long Eaton",
"value": "NG - Long Eaton"
},
{
"name": "NG - Arnold",
"value": "NG - Arnold"
},
{
"name": "NG - Bulwell",
"value": "NG - Bulwell"
},
{
"name": "Other...",
"value": "Other..."
}
],
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Job Center",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Email",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Email",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Phone Number",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Phone Number",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Nationality",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Nationality",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Are you in receipt of either Universal Credit, JSA or ESA?",
"type": "options",
"display": true,
"options": [
{
"name": "Yes",
"value": "Yes"
},
{
"name": "No",
"value": "No"
}
],
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Are you in receipt of either Universal Credit, JSA or ESA?",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "I have lived in England",
"type": "options",
"display": true,
"options": [
{
"name": "Most/All of my life",
"value": "Most/All of my life"
},
{
"name": "Under 3 Years",
"value": "Under 3 Years"
},
{
"name": "More than 3 Years / Less than 5 years",
"value": "More than 3 Years / Less than 5 years"
},
{
"name": "More than 5 years",
"value": "More than 5 years"
}
],
"removed": true,
"readOnly": false,
"required": false,
"displayName": "I have lived in England",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Do you have any unspent criminal convictions and/or limitations that restrict you from being in the presence of under 18's",
"type": "options",
"display": true,
"options": [
{
"name": "Yes ",
"value": "Yes "
},
{
"name": "No",
"value": "No"
},
{
"name": "Prefer Not To Say (You won't be able to do the course)",
"value": "Prefer Not To Say (You won't be able to do the course)"
}
],
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Do you have any unspent criminal convictions and/or limitations that restrict you from being in the presence of under 18's",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Morestarts will not share this data with any third party organisation other than Qualitrain Ltd, who delivers the course. By clicking Submit, you acknowledge and accept the above terms and wish to proceed with submitting the application.",
"type": "boolean",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Morestarts will not share this data with any third party organisation other than Qualitrain Ltd, who delivers the course. By clicking Submit, you acknowledge and accept the above terms and wish to proceed with submitting the application.",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Decision",
"type": "options",
"display": true,
"options": [
{
"name": "Approved",
"value": "Approved"
},
{
"name": "Rejected",
"value": "Rejected"
},
{
"name": "Pending",
"value": "Pending"
}
],
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Decision",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Next Info Event time",
"type": "dateTime",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Next Info Event time",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Send Outreach Now",
"type": "boolean",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Send Outreach Now",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Reffering Person's Email",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Reffering Person's Email",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Course List Pipeline",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Course List Pipeline",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Status",
"type": "options",
"display": true,
"options": [
{
"name": "Leads",
"value": "Leads"
},
{
"name": "Applied",
"value": "Applied"
},
{
"name": "Confirmed",
"value": "Confirmed"
},
{
"name": "Closed",
"value": "Closed"
}
],
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Status",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Info Event Outcome",
"type": "options",
"display": true,
"options": [
{
"name": "Attended",
"value": "Attended"
},
{
"name": "Did Not Attend",
"value": "Did Not Attend"
},
{
"name": "Rescheduled",
"value": "Rescheduled"
}
],
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Info Event Outcome",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Course Outcome",
"type": "options",
"display": true,
"options": [
{
"name": "Started",
"value": "Started"
},
{
"name": "Did Not Start/Withdrawn",
"value": "Did Not Start/Withdrawn"
},
{
"name": "Completed",
"value": "Completed"
}
],
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Course Outcome",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Application Sent",
"type": "boolean",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Application Sent",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Reminder 1 Sent",
"type": "boolean",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Reminder 1 Sent",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Reminder 2 Sent",
"type": "boolean",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Reminder 2 Sent",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Urgent Call Required",
"type": "boolean",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Urgent Call Required",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Referrer Notified \u2013 Info Event",
"type": "boolean",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Referrer Notified \u2013 Info Event",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Referrer Notified \u2013 Course Start",
"type": "boolean",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Referrer Notified \u2013 Course Start",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Last modified time",
"type": "string",
"display": true,
"removed": true,
"readOnly": true,
"required": false,
"displayName": "Last modified time",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Outreach Sent",
"type": "boolean",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Outreach Sent",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Outreach Sent At",
"type": "string",
"display": true,
"removed": true,
"readOnly": true,
"required": false,
"displayName": "Outreach Sent At",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Outreach Triggered At",
"type": "string",
"display": true,
"removed": true,
"readOnly": true,
"required": false,
"displayName": "Outreach Triggered At",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Decision Updated At v2",
"type": "string",
"display": true,
"removed": true,
"readOnly": true,
"required": false,
"displayName": "Decision Updated At v2",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Approved Email Sent",
"type": "boolean",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Approved Email Sent",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Approved Email Sent At",
"type": "string",
"display": true,
"removed": true,
"readOnly": true,
"required": false,
"displayName": "Approved Email Sent At",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Rejection Email Sent",
"type": "boolean",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Rejection Email Sent",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Rejection Email Sent At",
"type": "string",
"display": true,
"removed": true,
"readOnly": true,
"required": false,
"displayName": "Rejection Email Sent At",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "From field: Info Event Scheduled Date",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "From field: Info Event Scheduled Date",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Info Reminder 1d Sent",
"type": "boolean",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Info Reminder 1d Sent",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Info Reminder 3d Sent",
"type": "boolean",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Info Reminder 3d Sent",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "InfoOutcomeUpdatedAt_TMP",
"type": "string",
"display": true,
"removed": true,
"readOnly": true,
"required": false,
"displayName": "InfoOutcomeUpdatedAt_TMP",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Course Outcome Updated At",
"type": "string",
"display": true,
"removed": true,
"readOnly": true,
"required": false,
"displayName": "Course Outcome Updated At",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Post-Info Attended Sent",
"type": "boolean",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "Post-Info Attended Sent",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Post-Info NoShow Sent",
"type": "boolean",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Post-Info NoShow Sent",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Course Outcome Message Sent",
"type": "boolean",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Course Outcome Message Sent",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"id"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "update"
},
"credentials": {
"airtableTokenApi": {
"name": "<your credential>"
}
},
"typeVersion": 2
},
{
"id": "a52644f3-0c4e-4e3b-ab6e-f5013b10091c",
"name": "Airtable \u2014 Commit Post-Info NoShow Sent",
"type": "n8n-nodes-base.airtable",
"position": [
1984,
1200
],
"parameters": {
"base": {
"__rl": true,
"mode": "id",
"value": "Your_Base_Id"
},
"table": {
"__rl": true,
"mode": "id",
"value": "Your_Table_Id"
},
"columns": {
"value": {
"id": "={{ $('Airtable Trigger \u2014 Info Outcome Updated At1').item.json.id }}",
"Post-Info NoShow Sent": true
},
"schema": [
{
"id": "id",
"type": "string",
"display": true,
"removed": false,
"readOnly": true,
"required": false,
"displayName": "id",
"defaultMatch": true
},
{
"id": "First Name",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "First Name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Last Name",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Last Name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "For funding purposes, please confirm your age. (You must be 19 or over as of 31st August 2025)",
"type": "number",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "For funding purposes, please confirm your age. (You must be 19 or over as of 31st August 2025)",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "DWP Work Coach or Employer Advisor Name",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "DWP Work Coach or Employer Advisor Name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Job Center",
"type": "options",
"display": true,
"options": [
{
"name": "DE - Alfreton",
"value": "DE - Alfreton"
},
{
"name": "DE - Matlock",
"value": "DE - Matlock"
},
{
"name": "DE - Chesterfield",
"value": "DE - Chesterfield"
},
{
"name": "DE - Belper",
"value": "DE - Belper"
},
{
"name": "DE - Heanor",
"value": "DE - Heanor"
},
{
"name": "DE - Ilkeston",
"value": "DE - Ilkeston"
},
{
"name": "DE - Derby",
"value": "DE - Derby"
},
{
"name": "NG - Mansfield",
"value": "NG - Mansfield"
},
{
"name": "NG - Ashfield",
"value": "NG - Ashfield"
},
{
"name": "NG - Shirebrook",
"value": "NG - Shirebrook"
},
{
"name": "NG - Nottingham",
"value": "NG - Nottingham"
},
{
"name": "NG - Beeston",
"value": "NG - Beeston"
},
{
"name": "NG - Long Eaton",
"value": "NG - Long Eaton"
},
{
"name": "NG - Arnold",
"value": "NG - Arnold"
},
{
"name": "NG - Bulwell",
"value": "NG - Bulwell"
},
{
"name": "Other...",
"value": "Other..."
}
],
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Job Center",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Email",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Email",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Phone Number",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Phone Number",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Nationality",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Nationality",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Are you in receipt of either Universal Credit, JSA or ESA?",
"type": "options",
"display": true,
"options": [
{
"name": "Yes",
"value": "Yes"
},
{
"name": "No",
"value": "No"
}
],
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Are you in receipt of either Universal Credit, JSA or ESA?",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "I have lived in England",
"type": "options",
"display": true,
"options": [
{
"name": "Most/All of my life",
"value": "Most/All of my life"
},
{
"name": "Under 3 Years",
"value": "Under 3 Years"
},
{
"name": "More than 3 Years / Less than 5 years",
"value": "More than 3 Years / Less than 5 years"
},
{
"name": "More than 5 years",
"value": "More than 5 years"
}
],
"removed": true,
"readOnly": false,
"required": false,
"displayName": "I have lived in England",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Do you have any unspent criminal convictions and/or limitations that restrict you from being in the presence of under 18's",
"type": "options",
"display": true,
"options": [
{
"name": "Yes ",
"value": "Yes "
},
{
"name": "No",
"value": "No"
},
{
"name": "Prefer Not To Say (You won't be able to do the course)",
"value": "Prefer Not To Say (You won't be able to do the course)"
}
],
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Do you have any unspent criminal convictions and/or limitations that restrict you from being in the presence of under 18's",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Morestarts will not share this data with any third party organisation other than Qualitrain Ltd, who delivers the course. By clicking Submit, you acknowledge and accept the above terms and wish to proceed with submitting the application.",
"type": "boolean",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Morestarts will not share this data with any third party organisation other than Qualitrain Ltd, who delivers the course. By clicking Submit, you acknowledge and accept the above terms and wish to proceed with submitting the application.",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Decision",
"type": "options",
"display": true,
"options": [
{
"name": "Approved",
"value": "Approved"
},
{
"name": "Rejected",
"value": "Rejected"
},
{
"name": "Pending",
"value": "Pending"
}
],
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Decision",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Next Info Event time",
"type": "dateTime",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Next Info Event time",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Send Outreach Now",
"type": "boolean",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Send Outreach Now",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Reffering Person's Email",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Reffering Person's Email",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Course List Pipeline",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Course List Pipeline",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Status",
"type": "options",
"display": true,
"options": [
{
"name": "Leads",
"value": "Leads"
},
{
"name": "Applied",
"value": "Applied"
},
{
"name": "Confirmed",
"value": "Confirmed"
},
{
"name": "Closed",
"value": "Closed"
}
],
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Status",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Info Event Outcome",
"type": "options",
"display": true,
"options": [
{
"name": "Attended",
"value": "Attended"
},
{
"name": "Did Not Attend",
"value": "Did Not Attend"
},
{
"name": "Rescheduled",
"value": "Rescheduled"
}
],
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Info Event Outcome",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Course Outcome",
"type": "options",
"display": true,
"options": [
{
"name": "Started",
"value": "Started"
},
{
"name": "Did Not Start/Withdrawn",
"value": "Did Not Start/Withdrawn"
},
{
"name": "Completed",
"value": "Completed"
}
],
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Course Outcome",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Application Sent",
"type": "boolean",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Application Sent",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Reminder 1 Sent",
"type": "boolean",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Reminder 1 Sent",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Reminder 2 Sent",
"type": "boolean",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Reminder 2 Sent",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Urgent Call Required",
"type": "boolean",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Urgent Call Required",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Referrer Notified \u2013 Info Event",
"type": "boolean",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Referrer Notified \u2013 Info Event",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Referrer Notified \u2013 Course Start",
"type": "boolean",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Referrer Notified \u2013 Course Start",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Last modified time",
"type": "string",
"display": true,
"removed": true,
"readOnly": true,
"required": false,
"displayName": "Last modified time",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Outreach Sent",
"type": "boolean",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Outreach Sent",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Outreach Sent At",
"type": "string",
"display": true,
"removed": true,
"readOnly": true,
"required": false,
"displayName": "Outreach Sent At",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Outreach Triggered At",
"type": "string",
"display": true,
"removed": true,
"readOnly": true,
"required": false,
"displayName": "Outreach Triggered At",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Decision Updated At v2",
"type": "string",
"display": true,
"removed": true,
"readOnly": true,
"required": false,
"displayName": "Decision Updated At v2",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Approved Email Sent",
"type": "boolean",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Approved Email Sent",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Approved Email Sent At",
"type": "string",
"display": true,
"removed": true,
"readOnly": true,
"required": false,
"displayName": "Approved Email Sent At",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Rejection Email Sent",
"type": "boolean",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Rejection Email Sent",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Rejection Email Sent At",
"type": "string",
"display": true,
"removed": true,
"readOnly": true,
"required": false,
"displayName": "Rejection Email Sent At",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "From field: Info Event Scheduled Date",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "From field: Info Event Scheduled Date",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Info Reminder 1d Sent",
"type": "boolean",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Info Reminder 1d Sent",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Info Reminder 3d Sent",
"type": "boolean",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Info Reminder 3d Sent",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "InfoOutcomeUpdatedAt_TMP",
"type": "string",
"display": true,
"removed": true,
"readOnly": true,
"required": false,
"displayName": "InfoOutcomeUpdatedAt_TMP",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Course Outcome Updated At",
"type": "string",
"display": true,
"removed": true,
"readOnly": true,
"required": false,
"displayName": "Course Outcome Updated At",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Post-Info Attended Sent",
"type": "boolean",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Post-Info Attended Sent",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Post-Info NoShow Sent",
"type": "boolean",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "Post-Info NoShow Sent",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Course Outcome Message Sent",
"type": "boolean",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Course Outcome Message Sent",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"id"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "update"
},
"credentials": {
"airtableTokenApi": {
"name": "<your credential>"
}
},
"typeVersion": 2
},
{
"id": "fb1e4931-84a9-4f6a-84a0-695d8eb8b413",
"name": "Brevo Email \u2014 Referrer Course Outcome1",
"type": "n8n-nodes-base.sendInBlue",
"position": [
2432,
1488
],
"parameters": {
"sender": "user@example.com",
"subject": "Candidate Course Outcome Update",
"receipients": "={{ $('Merge \u2014 Any Trigger').item.json.fields['Reffering Person\\'s Email'] }}",
"textContent": "={{`Hello,\n\nThis is an update regarding your referred candidate ${$json.firstName || ''}.\n\nCourse Outcome: $json.fields['Course Outcome']\n\nsendername`}}\n",
"requestOptions": {},
"additionalFields": {}
},
"credentials": {
"sendInBlueApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "f4d5957a-caf1-419b-9ac5-aa98d885020b",
"name": "Airtable \u2014 Commit Course Outcome Message Sent1",
"type": "n8n-nodes-base.airtable",
"position": [
1984,
1488
],
"parameters": {
"base": {
"__rl": true,
"mode": "id",
"value": "Your_Base_Id"
},
"table": {
"__rl": true,
"mode": "id",
"value": "Your_Base_Id"
},
"columns": {
"value": {
"id": "={{ $('Course Outcome Updated At').item.json.id }}",
"Course Outcome Message Sent": false
},
"schema": [
{
"id": "id",
"type": "string",
"display": true,
"removed": false,
"readOnly": true,
"required": false,
"displayName": "id",
"defaultMatch": true
},
{
"id": "First Name",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "First Name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Last Name",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Last Name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "For funding purposes, please confirm your age. (You must be 19 or over as of 31st August 2025)",
"type": "number",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "For funding purposes, please confirm your age. (You must be 19 or over as of 31st August 2025)",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "DWP Work Coach or Employer Advisor Name",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "DWP Work Coach or Employer Advisor Name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Job Center",
"type": "options",
"display": true,
"options": [
{
"name": "DE - Alfreton",
"value": "DE - Alfreton"
},
{
"name":
Credentials you'll need
Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.
airtableTokenApisendInBlueApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
How it works
Source: https://n8n.io/workflows/13062/ — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
Lmchatopenai Workflow. Uses noOp, stickyNote, executeWorkflowTrigger, airtable. Event-driven trigger; 41 nodes.
This n8n workflow retrieves an Airtable record along with its related child records in a hierarchical structure. It can fetch up to 3 levels of linked records and assembles them into a comprehensive J
This workflow automatically pulls SERP rankings, competitor keywords, and related keyword ideas from DataForSEO and stores structured results in Airtable — making SEO tracking and keyword research str
d16-Web-Scraper-Data-Flow. Uses httpRequest, airtable, executeWorkflowTrigger. Event-driven trigger; 20 nodes.
N8N Workflow Backup Management With Dropbox And Airtable. Uses manualTrigger, splitInBatches, noOp, airtable. Event-driven trigger; 19 nodes.