AutomationFlowsSlack & Telegram › Route Ats Applicants to Aloware for Role-based SMS AI Pre-screening and…

Route Ats Applicants to Aloware for Role-based SMS AI Pre-screening and…

Original n8n title: Route Ats Applicants to Aloware for Role-based SMS AI Pre-screening and Follow-up

ByMaxim Dudnik @dudnyk on n8n.io

Automate the full candidate outreach lifecycle: when a new application hits your ATS, this workflow validates the phone number, creates the contact in Aloware, sends a department-specific SMS, routes to the right AI pre-screening sequence based on role type, then follows up 24…

Webhook trigger★★★★★ complexity30 nodesHTTP RequestSlack
Slack & Telegram Trigger: Webhook Nodes: 30 Complexity: ★★★★★ Added:

This workflow corresponds to n8n.io template #14934 — we link there as the canonical source.

This workflow follows the HTTP Request → Slack 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 →

Download .json
{
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "54f6ff0e-0de9-4200-ac16-5570e721bbda",
      "name": "Workflow Overview",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1104,
        -784
      ],
      "parameters": {
        "color": "#F5CC75",
        "width": 536,
        "height": 460,
        "content": "## ATS Application \u2192 Role-Based SMS + AI Pre-screening + Follow-up\n\n**How it works:**\n1. Receives new application from ATS via webhook\n2. Normalizes candidate data across ATS platforms\n3. Validates phone number \u2014 skips if missing\n4. Creates contact in Aloware with role + department details\n5. Routes by department \u2192 sends tailored SMS + enrolls in department-specific AI sequence\n6. Waits 24h \u2192 checks if candidate responded\n7. No reply \u2192 follow-up SMS + Slack alert to hiring manager\n\n**Setup:**\n- Set n8n Variables: `ALOWARE_API_TOKEN`, `ALOWARE_LINE_PHONE`, `ALOWARE_SALES_SEQUENCE_ID`, `ALOWARE_TECH_SEQUENCE_ID`, `ALOWARE_OPS_SEQUENCE_ID`, `COMPANY_NAME`, `SLACK_WEBHOOK_URL`\n- Paste webhook URL into your ATS (Greenhouse, Lever, BambooHR, Workday)\n- Create 3 Aloware Sequences (Sales, Tech, General) and add their IDs to variables"
      },
      "typeVersion": 1
    },
    {
      "id": "39e87512-962e-4188-a132-87e2e1c15abc",
      "name": "Receive & Validate",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -544,
        -272
      ],
      "parameters": {
        "color": 6,
        "width": 900,
        "height": 556,
        "content": "### \ud83d\udce5 Receive & Validate"
      },
      "typeVersion": 1
    },
    {
      "id": "e235fcf5-5a97-4e92-9464-ff0ef974a04a",
      "name": "Route by Department",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        576,
        -304
      ],
      "parameters": {
        "color": 4,
        "width": 884,
        "height": 736,
        "content": "### \ud83d\udd00 Route by Department & Send SMS"
      },
      "typeVersion": 1
    },
    {
      "id": "bd105ecd-b91d-490b-8e86-a487ff238afa",
      "name": "24h Follow-up Check",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1680,
        -288
      ],
      "parameters": {
        "color": 5,
        "width": 1200,
        "height": 560,
        "content": "### \u23f0 24h No-Response Follow-up"
      },
      "typeVersion": 1
    },
    {
      "id": "9d1f4f65-d551-4665-95ea-6b5a76741082",
      "name": "Routing Tip",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        592,
        -240
      ],
      "parameters": {
        "width": 208,
        "height": 96,
        "content": "\u270f\ufe0f Edit IF node conditions to match your department names (e.g. \"Revenue\" instead of \"Sales\")"
      },
      "typeVersion": 1
    },
    {
      "id": "3efdefad-3378-41b1-ad2b-1201fe456b3e",
      "name": "ATS: New Application Received",
      "type": "n8n-nodes-base.webhook",
      "position": [
        -496,
        -32
      ],
      "parameters": {
        "path": "ats-new-application",
        "options": {},
        "httpMethod": "POST"
      },
      "typeVersion": 2
    },
    {
      "id": "f38d81bb-9fa5-4f68-afe8-4b8f59c245bb",
      "name": "Normalize Candidate Data",
      "type": "n8n-nodes-base.set",
      "position": [
        -272,
        -32
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "a001",
              "name": "candidatePhone",
              "type": "string",
              "value": "={{ $json.body?.candidate?.phone_number || $json.candidate?.phone || $json.phone_number || $json.phone || '' }}"
            },
            {
              "id": "a002",
              "name": "candidateFirstName",
              "type": "string",
              "value": "={{ $json.body?.candidate?.first_name || $json.candidate?.first_name || $json.first_name || $json.name?.split(' ')[0] || 'there' }}"
            },
            {
              "id": "a003",
              "name": "candidateLastName",
              "type": "string",
              "value": "={{ $json.body?.candidate?.last_name || $json.candidate?.last_name || $json.last_name || '' }}"
            },
            {
              "id": "a004",
              "name": "candidateEmail",
              "type": "string",
              "value": "={{ $json.body?.candidate?.email || $json.candidate?.email || $json.email || '' }}"
            },
            {
              "id": "a005",
              "name": "jobTitle",
              "type": "string",
              "value": "={{ $json.body?.job?.title || $json.job?.title || $json.job_title || $json.position || 'the position' }}"
            },
            {
              "id": "a006",
              "name": "department",
              "type": "string",
              "value": "={{ $json.body?.job?.department || $json.job?.department || $json.department || $json.team || 'General' }}"
            },
            {
              "id": "a007",
              "name": "applicationId",
              "type": "string",
              "value": "={{ $json.body?.application?.id || $json.application?.id || $json.application_id || $json.id || '' }}"
            },
            {
              "id": "a008",
              "name": "applicationSource",
              "type": "string",
              "value": "={{ $json.body?.source || $json.source || $json.referral_source || 'ATS' }}"
            },
            {
              "id": "a009",
              "name": "appliedAt",
              "type": "string",
              "value": "={{ $json.body?.applied_at || $json.applied_at || $now.toISO() }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "ff0a06dc-8ec0-4caf-9592-9b58245e8cc6",
      "name": "Has Valid Phone?",
      "type": "n8n-nodes-base.if",
      "position": [
        -48,
        -32
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "leftValue": "",
            "caseSensitive": false,
            "typeValidation": "loose"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "cond_phone",
              "operator": {
                "type": "string",
                "operation": "notEquals"
              },
              "leftValue": "={{ $json.candidatePhone }}",
              "rightValue": ""
            }
          ]
        }
      },
      "typeVersion": 2
    },
    {
      "id": "dcdaaa00-e8f2-4ccb-bfed-7d8a3d22d247",
      "name": "No Phone \u2014 Skip",
      "type": "n8n-nodes-base.noOp",
      "position": [
        160,
        64
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "e670199d-21ae-4074-91fa-3b0ce32cec20",
      "name": "Aloware: Create or Update Contact",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        176,
        -128
      ],
      "parameters": {
        "url": "https://app.aloware.com/api/v1/webhook/forms",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "bodyParameters": {
          "parameters": [
            {
              "name": "api_token",
              "value": "={{ $vars.ALOWARE_API_TOKEN }}"
            },
            {
              "name": "phone_number",
              "value": "={{ $('Normalize Candidate Data').item.json.candidatePhone }}"
            },
            {
              "name": "first_name",
              "value": "={{ $('Normalize Candidate Data').item.json.candidateFirstName }}"
            },
            {
              "name": "last_name",
              "value": "={{ $('Normalize Candidate Data').item.json.candidateLastName }}"
            },
            {
              "name": "email",
              "value": "={{ $('Normalize Candidate Data').item.json.candidateEmail }}"
            },
            {
              "name": "lead_source",
              "value": "={{ 'ATS: ' + $('Normalize Candidate Data').item.json.applicationSource }}"
            },
            {
              "name": "csf1",
              "value": "={{ 'Role: ' + $('Normalize Candidate Data').item.json.jobTitle }}"
            },
            {
              "name": "csf2",
              "value": "={{ 'Dept: ' + $('Normalize Candidate Data').item.json.department }}"
            },
            {
              "name": "csf3",
              "value": "={{ 'App ID: ' + $('Normalize Candidate Data').item.json.applicationId }}"
            },
            {
              "name": "notes",
              "value": "={{ 'Applied for ' + $('Normalize Candidate Data').item.json.jobTitle + ' (' + $('Normalize Candidate Data').item.json.department + ') via ' + $('Normalize Candidate Data').item.json.applicationSource }}"
            },
            {
              "name": "force_update",
              "value": "=true"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "8431fa68-634d-4480-8e6d-2e6cd01ad95d",
      "name": "Is Sales Role?",
      "type": "n8n-nodes-base.if",
      "position": [
        656,
        -128
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "leftValue": "",
            "caseSensitive": false,
            "typeValidation": "loose"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "cond_sales",
              "operator": {
                "type": "string",
                "operation": "contains"
              },
              "leftValue": "={{ $('Normalize Candidate Data').item.json.department.toLowerCase() }}",
              "rightValue": "sales"
            }
          ]
        }
      },
      "typeVersion": 2
    },
    {
      "id": "1adcd6d2-7bac-4b9d-b99e-0888391770e9",
      "name": "SMS: Sales Role Welcome",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        864,
        -224
      ],
      "parameters": {
        "url": "https://app.aloware.com/api/v1/webhook/sms-gateway/send",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "bodyParameters": {
          "parameters": [
            {
              "name": "api_token",
              "value": "={{ $vars.ALOWARE_API_TOKEN }}"
            },
            {
              "name": "from",
              "value": "={{ $vars.ALOWARE_LINE_PHONE }}"
            },
            {
              "name": "to",
              "value": "={{ $('Normalize Candidate Data').item.json.candidatePhone }}"
            },
            {
              "name": "message",
              "value": "=Hi {{ $('Normalize Candidate Data').item.json.candidateFirstName }}! Thanks for applying for {{ $('Normalize Candidate Data').item.json.jobTitle }} at {{ $vars.COMPANY_NAME }}. We're growing our sales team fast and would love to learn about your experience. Expect a quick pre-screening call soon \u2014 reply YES or call us anytime!"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "faec8e42-b3f6-464e-8367-ae48037f4ed0",
      "name": "Aloware: Sales Pre-screening Sequence",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1088,
        -224
      ],
      "parameters": {
        "url": "https://app.aloware.com/api/v1/webhook/sequence-enroll",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "bodyParameters": {
          "parameters": [
            {
              "name": "api_token",
              "value": "={{ $vars.ALOWARE_API_TOKEN }}"
            },
            {
              "name": "sequence_id",
              "value": "={{ $vars.ALOWARE_SALES_SEQUENCE_ID }}"
            },
            {
              "name": "phone_number",
              "value": "={{ $('Normalize Candidate Data').item.json.candidatePhone }}"
            },
            {
              "name": "source",
              "value": "n8n-ats-sales"
            },
            {
              "name": "force_enroll",
              "value": "=true"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "d43b6f20-bbc5-4f49-97c5-44a92d5b4c1b",
      "name": "Is Engineering Role?",
      "type": "n8n-nodes-base.if",
      "position": [
        864,
        96
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "leftValue": "",
            "caseSensitive": false,
            "typeValidation": "loose"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "cond_tech",
              "operator": {
                "type": "string",
                "operation": "contains"
              },
              "leftValue": "={{ $('Normalize Candidate Data').item.json.department.toLowerCase() }}",
              "rightValue": "engineer"
            }
          ]
        }
      },
      "typeVersion": 2
    },
    {
      "id": "e1226ed3-8f01-4a16-9ecf-623fbbd51b1f",
      "name": "SMS: Engineering Role Welcome",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1088,
        32
      ],
      "parameters": {
        "url": "https://app.aloware.com/api/v1/webhook/sms-gateway/send",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "bodyParameters": {
          "parameters": [
            {
              "name": "api_token",
              "value": "={{ $vars.ALOWARE_API_TOKEN }}"
            },
            {
              "name": "from",
              "value": "={{ $vars.ALOWARE_LINE_PHONE }}"
            },
            {
              "name": "to",
              "value": "={{ $('Normalize Candidate Data').item.json.candidatePhone }}"
            },
            {
              "name": "message",
              "value": "=Hi {{ $('Normalize Candidate Data').item.json.candidateFirstName }}! Thanks for applying for {{ $('Normalize Candidate Data').item.json.jobTitle }} at {{ $vars.COMPANY_NAME }}. We'd love to chat about your technical background. Expect a quick pre-screening call soon \u2014 reply YES or let us know a good time!"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "709a5ab4-e16c-44e5-bfe5-3644eff73ed0",
      "name": "Aloware: Tech Pre-screening Sequence",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1312,
        32
      ],
      "parameters": {
        "url": "https://app.aloware.com/api/v1/webhook/sequence-enroll",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "bodyParameters": {
          "parameters": [
            {
              "name": "api_token",
              "value": "={{ $vars.ALOWARE_API_TOKEN }}"
            },
            {
              "name": "sequence_id",
              "value": "={{ $vars.ALOWARE_TECH_SEQUENCE_ID }}"
            },
            {
              "name": "phone_number",
              "value": "={{ $('Normalize Candidate Data').item.json.candidatePhone }}"
            },
            {
              "name": "source",
              "value": "n8n-ats-engineering"
            },
            {
              "name": "force_enroll",
              "value": "=true"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "c27fdd32-1259-4405-b574-f2bb7e0d08ce",
      "name": "SMS: General Role Welcome",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1088,
        224
      ],
      "parameters": {
        "url": "https://app.aloware.com/api/v1/webhook/sms-gateway/send",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "bodyParameters": {
          "parameters": [
            {
              "name": "api_token",
              "value": "={{ $vars.ALOWARE_API_TOKEN }}"
            },
            {
              "name": "from",
              "value": "={{ $vars.ALOWARE_LINE_PHONE }}"
            },
            {
              "name": "to",
              "value": "={{ $('Normalize Candidate Data').item.json.candidatePhone }}"
            },
            {
              "name": "message",
              "value": "=Hi {{ $('Normalize Candidate Data').item.json.candidateFirstName }}! Thanks for applying for {{ $('Normalize Candidate Data').item.json.jobTitle }} at {{ $vars.COMPANY_NAME }}. We're excited to review your application and will reach out shortly. Reply YES or call us at {{ $vars.ALOWARE_LINE_PHONE }}!"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "41eb9a48-9de0-4206-8d7c-ac76f77b53f1",
      "name": "Aloware: General Pre-screening Sequence",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1312,
        224
      ],
      "parameters": {
        "url": "https://app.aloware.com/api/v1/webhook/sequence-enroll",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "bodyParameters": {
          "parameters": [
            {
              "name": "api_token",
              "value": "={{ $vars.ALOWARE_API_TOKEN }}"
            },
            {
              "name": "sequence_id",
              "value": "={{ $vars.ALOWARE_OPS_SEQUENCE_ID }}"
            },
            {
              "name": "phone_number",
              "value": "={{ $('Normalize Candidate Data').item.json.candidatePhone }}"
            },
            {
              "name": "source",
              "value": "n8n-ats-general"
            },
            {
              "name": "force_enroll",
              "value": "=false"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "3bddac5e-a761-485e-9c5d-afee4be2a2e2",
      "name": "Wait 24h (Sales)",
      "type": "n8n-nodes-base.wait",
      "position": [
        1312,
        -224
      ],
      "parameters": {
        "unit": "hours",
        "amount": 24
      },
      "typeVersion": 1.1
    },
    {
      "id": "e6aba12e-8339-4ea9-85d7-0c8cef99df01",
      "name": "Wait 24h (Tech)",
      "type": "n8n-nodes-base.wait",
      "position": [
        1808,
        -96
      ],
      "parameters": {
        "unit": "hours",
        "amount": 24
      },
      "typeVersion": 1.1
    },
    {
      "id": "04828e93-d441-40a3-a922-a9b5697e319d",
      "name": "Wait 24h (General)",
      "type": "n8n-nodes-base.wait",
      "position": [
        1808,
        96
      ],
      "parameters": {
        "unit": "hours",
        "amount": 24
      },
      "typeVersion": 1.1
    },
    {
      "id": "049a5532-1ff0-485f-8847-64c712019c0e",
      "name": "Check Response (Sales)",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1808,
        -224
      ],
      "parameters": {
        "url": "=https://app.aloware.com/api/v1/webhook/contact/phone-number?api_token={{ $vars.ALOWARE_API_TOKEN }}&phone_number={{ $('Normalize Candidate Data').item.json.candidatePhone }}",
        "options": {}
      },
      "typeVersion": 4.2
    },
    {
      "id": "53adfd6a-80fe-44f3-a440-8975c82c8916",
      "name": "Check Response (Tech)",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        2016,
        -96
      ],
      "parameters": {
        "url": "=https://app.aloware.com/api/v1/webhook/contact/phone-number?api_token={{ $vars.ALOWARE_API_TOKEN }}&phone_number={{ $('Normalize Candidate Data').item.json.candidatePhone }}",
        "options": {}
      },
      "typeVersion": 4.2
    },
    {
      "id": "8e8bdc73-9376-4104-86a3-da601359c656",
      "name": "Check Response (General)",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        2016,
        96
      ],
      "parameters": {
        "url": "=https://app.aloware.com/api/v1/webhook/contact/phone-number?api_token={{ $vars.ALOWARE_API_TOKEN }}&phone_number={{ $('Normalize Candidate Data').item.json.candidatePhone }}",
        "options": {}
      },
      "typeVersion": 4.2
    },
    {
      "id": "4656993f-2a42-416a-adb6-fa6fe5de4223",
      "name": "Did Respond? (Sales)",
      "type": "n8n-nodes-base.if",
      "position": [
        2016,
        -224
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "leftValue": "",
            "caseSensitive": false,
            "typeValidation": "loose"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "cond_rs",
              "operator": {
                "type": "string",
                "operation": "contains"
              },
              "leftValue": "={{ $json.data?.last_communication_at || '' }}",
              "rightValue": "={{ $('Normalize Candidate Data').item.json.appliedAt }}"
            }
          ]
        }
      },
      "typeVersion": 2
    },
    {
      "id": "3be47076-6a68-41d8-8335-239c33aafa9e",
      "name": "Did Respond? (Tech)",
      "type": "n8n-nodes-base.if",
      "position": [
        2240,
        -96
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "leftValue": "",
            "caseSensitive": false,
            "typeValidation": "loose"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "cond_rt",
              "operator": {
                "type": "string",
                "operation": "contains"
              },
              "leftValue": "={{ $json.data?.last_communication_at || '' }}",
              "rightValue": "={{ $('Normalize Candidate Data').item.json.appliedAt }}"
            }
          ]
        }
      },
      "typeVersion": 2
    },
    {
      "id": "c78e1a2c-67c8-450e-819b-d7a2b59bd9b2",
      "name": "Did Respond? (General)",
      "type": "n8n-nodes-base.if",
      "position": [
        2240,
        96
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "leftValue": "",
            "caseSensitive": false,
            "typeValidation": "loose"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "cond_ro",
              "operator": {
                "type": "string",
                "operation": "contains"
              },
              "leftValue": "={{ $json.data?.last_communication_at || '' }}",
              "rightValue": "={{ $('Normalize Candidate Data').item.json.appliedAt }}"
            }
          ]
        }
      },
      "typeVersion": 2
    },
    {
      "id": "f3d49848-c022-4f83-bbfe-2279a32dee35",
      "name": "Candidate Engaged \u2014 Done",
      "type": "n8n-nodes-base.noOp",
      "position": [
        2480,
        -224
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "7b5fd5d8-4ade-4bf6-a566-e5eb90a65f64",
      "name": "Aloware: Send Follow-up SMS",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        2480,
        16
      ],
      "parameters": {
        "url": "https://app.aloware.com/api/v1/webhook/sms-gateway/send",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "bodyParameters": {
          "parameters": [
            {
              "name": "api_token",
              "value": "={{ $vars.ALOWARE_API_TOKEN }}"
            },
            {
              "name": "from",
              "value": "={{ $vars.ALOWARE_LINE_PHONE }}"
            },
            {
              "name": "to",
              "value": "={{ $('Normalize Candidate Data').item.json.candidatePhone }}"
            },
            {
              "name": "message",
              "value": "=Hey {{ $('Normalize Candidate Data').item.json.candidateFirstName }}, just following up on your {{ $('Normalize Candidate Data').item.json.jobTitle }} application at {{ $vars.COMPANY_NAME }}. We're still interested! Reply with a good time for a quick call, or dial {{ $vars.ALOWARE_LINE_PHONE }} anytime."
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "69d8f95f-89ce-4afc-98c2-cbcd42784c09",
      "name": "Slack: Notify Hiring Manager",
      "type": "n8n-nodes-base.slack",
      "position": [
        2704,
        16
      ],
      "parameters": {
        "text": "=\u26a0\ufe0f *No response from candidate after 24h*\n\n*Name:* {{ $('Normalize Candidate Data').item.json.candidateFirstName }} {{ $('Normalize Candidate Data').item.json.candidateLastName }}\n*Role:* {{ $('Normalize Candidate Data').item.json.jobTitle }} ({{ $('Normalize Candidate Data').item.json.department }})\n*Phone:* {{ $('Normalize Candidate Data').item.json.candidatePhone }}\n*Source:* {{ $('Normalize Candidate Data').item.json.applicationSource }}\n\nFollow-up SMS has been sent. Manual outreach may be needed.",
        "otherOptions": {}
      },
      "credentials": {
        "slackApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.2
    }
  ],
  "connections": {
    "Is Sales Role?": {
      "main": [
        [
          {
            "node": "SMS: Sales Role Welcome",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Is Engineering Role?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait 24h (Tech)": {
      "main": [
        [
          {
            "node": "Check Response (Tech)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Has Valid Phone?": {
      "main": [
        [
          {
            "node": "Aloware: Create or Update Contact",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "No Phone \u2014 Skip",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait 24h (Sales)": {
      "main": [
        [
          {
            "node": "Check Response (Sales)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait 24h (General)": {
      "main": [
        [
          {
            "node": "Check Response (General)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Did Respond? (Tech)": {
      "main": [
        [
          {
            "node": "Candidate Engaged \u2014 Done",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Aloware: Send Follow-up SMS",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Did Respond? (Sales)": {
      "main": [
        [
          {
            "node": "Candidate Engaged \u2014 Done",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Aloware: Send Follow-up SMS",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Is Engineering Role?": {
      "main": [
        [
          {
            "node": "SMS: Engineering Role Welcome",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "SMS: General Role Welcome",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check Response (Tech)": {
      "main": [
        [
          {
            "node": "Did Respond? (Tech)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check Response (Sales)": {
      "main": [
        [
          {
            "node": "Did Respond? (Sales)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Did Respond? (General)": {
      "main": [
        [
          {
            "node": "Candidate Engaged \u2014 Done",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Aloware: Send Follow-up SMS",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "SMS: Sales Role Welcome": {
      "main": [
        [
          {
            "node": "Aloware: Sales Pre-screening Sequence",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check Response (General)": {
      "main": [
        [
          {
            "node": "Did Respond? (General)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Normalize Candidate Data": {
      "main": [
        [
          {
            "node": "Has Valid Phone?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "SMS: General Role Welcome": {
      "main": [
        [
          {
            "node": "Aloware: General Pre-screening Sequence",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Aloware: Send Follow-up SMS": {
      "main": [
        [
          {
            "node": "Slack: Notify Hiring Manager",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "ATS: New Application Received": {
      "main": [
        [
          {
            "node": "Normalize Candidate Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "SMS: Engineering Role Welcome": {
      "main": [
        [
          {
            "node": "Aloware: Tech Pre-screening Sequence",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Aloware: Create or Update Contact": {
      "main": [
        [
          {
            "node": "Is Sales Role?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Aloware: Tech Pre-screening Sequence": {
      "main": [
        [
          {
            "node": "Wait 24h (Tech)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Aloware: Sales Pre-screening Sequence": {
      "main": [
        [
          {
            "node": "Wait 24h (Sales)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Aloware: General Pre-screening Sequence": {
      "main": [
        [
          {
            "node": "Wait 24h (General)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

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.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

Automate the full candidate outreach lifecycle: when a new application hits your ATS, this workflow validates the phone number, creates the contact in Aloware, sends a department-specific SMS, routes to the right AI pre-screening sequence based on role type, then follows up 24…

Source: https://n8n.io/workflows/14934/ — original creator credit. Request a take-down →

More Slack & Telegram workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

Slack & Telegram

HR teams, IT Operations, and System Administrators managing employee onboarding at scale. It’s perfect if you use Odoo 18 to trigger account requests and need Redmine + GitLab accounts created instant

HTTP Request, Slack
Slack & Telegram

This workflow is a complete, production-ready solution for recovering abandoned carts in Shopify stores using a multi-channel, multi-touch approach. It automates personalized follow-ups via Email, SMS

HTTP Request, Shopify, SendGrid +5
Slack & Telegram

This workflow automates end-to-end research analysis by coordinating multiple AI models—including NVIDIA NIM (Llama), OpenAI GPT-4, and Claude to analyze uploaded documents, extract insights, and gene

HTTP Request, Postgres, Slack +1
Slack & Telegram

Are you tired of the repetitive dance between git push, creating a pull request in GitHub, updating the corresponding task in JIRA, and then manually notifying your team in Slack, or Notion?

HTTP Request, Stop And Error, Jira +2
Slack & Telegram

This workflow automatically detects changes in the .env.staging file in a GitHub repository and keeps Android configuration files (build.gradle and gradle.properties) in sync.It creates a new Git bran

GitHub, HTTP Request, Slack