AutomationFlowsAI & RAG › Automate Employee Onboarding with Jotform, Gpt-4o-mini & Google Workspace

Automate Employee Onboarding with Jotform, Gpt-4o-mini & Google Workspace

ByJitesh Dugar @jiteshdugar on n8n.io

HR teams managing multiple new hires monthly. Small-to-medium businesses automating onboarding processes. Companies wanting consistent onboarding experiences. Remote-first teams needing streamlined provisioning. Growing startups scaling their hiring operations. Organizations…

Event trigger★★★★☆ complexityAI-powered14 nodesGmailGoogle SheetsAgentOpenAI ChatJot Form Trigger
AI & RAG Trigger: Event Nodes: 14 Complexity: ★★★★☆ AI nodes: yes Added:

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

This workflow follows the Agent → Gmail 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": "f058540a-e32e-418c-907e-db977776bdde",
      "name": "Extract Onboarding Data",
      "type": "n8n-nodes-base.set",
      "position": [
        -2000,
        -192
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "employee_name",
              "name": "employee_name",
              "type": "string",
              "value": "={{ $json['Employee Name'] }}"
            },
            {
              "id": "employee_email",
              "name": "employee_email",
              "type": "string",
              "value": "={{ $json['Employee Email'] }}"
            },
            {
              "id": "start_date",
              "name": "start_date",
              "type": "string",
              "value": "={{ $json['Start Date'] }}"
            },
            {
              "id": "position",
              "name": "position",
              "type": "string",
              "value": "={{ $json.Position }}"
            },
            {
              "id": "department",
              "name": "department",
              "type": "string",
              "value": "={{ $json.Department }}"
            },
            {
              "id": "manager_email",
              "name": "manager_email",
              "type": "string",
              "value": "={{ $json['Manager Email'] }}"
            },
            {
              "id": "location",
              "name": "location",
              "type": "string",
              "value": "=India"
            },
            {
              "id": "laptop_type",
              "name": "laptop_type",
              "type": "string",
              "value": "={{ $json['Laptop Type'] }}"
            },
            {
              "id": "experience_level",
              "name": "experience_level",
              "type": "string",
              "value": "={{ $json['Experience Level'] }}"
            },
            {
              "id": "onboarding_id",
              "name": "onboarding_id",
              "type": "string",
              "value": "=ONB-{{ Date.now() }}-{{ Math.random().toString(36).substr(2, 6).toUpperCase() }}"
            },
            {
              "id": "submission_date",
              "name": "submission_date",
              "type": "string",
              "value": "={{ new Date().toISOString() }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "8d57bff7-e51e-49ea-a1ae-a586944a2be4",
      "name": "Parse AI Response",
      "type": "n8n-nodes-base.code",
      "position": [
        -1312,
        -192
      ],
      "parameters": {
        "jsCode": "const item = $input.first().json;\n\ntry {\n  // Get AI response\n  const response = item.choices[0].message.content;\n  \n  // Clean JSON\n  let cleanJson = response.replace(/```json\\n?|```\\n?/g, '').trim();\n  const jsonMatch = cleanJson.match(/\\{[\\s\\S]*\\}/);\n  if (jsonMatch) {\n    cleanJson = jsonMatch[0];\n  }\n  \n  const aiData = JSON.parse(cleanJson);\n  \n  // Get original data\n  const originalData = $('Extract Onboarding Data').first().json;\n  \n  return [{\n    json: {\n      ...originalData,\n      ...aiData\n    }\n  }];\n} catch (error) {\n  // Fallback\n  const originalData = $('Extract Onboarding Data').first().json;\n  return [{\n    json: {\n      ...originalData,\n      priority_level: 'standard',\n      onboarding_weeks: 4,\n      key_goals: ['Complete orientation', 'Meet team', 'Learn systems'],\n      training_needed: ['Company overview', 'Department training'],\n      tools_required: ['Email', 'Slack', 'Project management']\n    }\n  }];\n}"
      },
      "typeVersion": 2
    },
    {
      "id": "d560b2cf-b59a-49ff-9a3b-6db046983946",
      "name": "Is Executive?",
      "type": "n8n-nodes-base.if",
      "position": [
        -1072,
        -192
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "caseSensitive": true
          },
          "conditions": [
            {
              "id": "exec-check",
              "operator": {
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json.priority_level }}",
              "rightValue": "executive"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "cd4ca2ee-2007-4fad-bbb5-7c128f408729",
      "name": "Alert HR - Executive",
      "type": "n8n-nodes-base.gmail",
      "position": [
        -832,
        -352
      ],
      "parameters": {
        "sendTo": "user@example.com",
        "message": "=<!DOCTYPE html>\n<html>\n<body style=\"font-family:Arial;padding:20px\">\n<h2 style=\"color:#667eea\">Executive Onboarding Alert</h2>\n<p><strong>New Executive Hire:</strong></p>\n<ul>\n<li><strong>Name:</strong> {{ $json.employee_name }}</li>\n<li><strong>Position:</strong> {{ $json.position }}</li>\n<li><strong>Department:</strong> {{ $json.department }}</li>\n<li><strong>Start Date:</strong> {{ $json.start_date }}</li>\n<li><strong>Location:</strong> {{ $json.location }}</li>\n</ul>\n<p><strong>Action Required:</strong></p>\n<ol>\n<li>Expedite IT equipment setup</li>\n<li>Schedule CEO welcome call</li>\n<li>Prepare VIP welcome package</li>\n<li>Assign executive coordinator</li>\n</ol>\n<p><strong>Onboarding ID:</strong> {{ $json.onboarding_id }}</p>\n</body>\n</html>",
        "options": {},
        "subject": "=\ud83d\udea8 Executive Onboarding: {{ $json.employee_name }}"
      },
      "credentials": {
        "gmailOAuth2": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "09aef486-9ddf-4289-93e9-2ac147c0e100",
      "name": "Send Welcome Email",
      "type": "n8n-nodes-base.gmail",
      "position": [
        -608,
        -192
      ],
      "parameters": {
        "sendTo": "=Deep@gmail.com",
        "message": "=<!DOCTYPE html>\n<html>\n<body style=\"font-family:Arial;padding:20px;max-width:600px\">\n<div style=\"background:#4CAF50;color:white;padding:20px;text-align:center\">\n<h1>Welcome Aboard!</h1>\n</div>\n<div style=\"padding:20px\">\n<p>Hi {{ $json.employee_name }},</p>\n<p>We're thrilled to have you join us as <strong>{{ $json.position }}</strong> in {{ $json.department }}!</p>\n\n<h3>Your Start Date: {{ $json.start_date }}</h3>\n\n<h3>Your First {{ $json.onboarding_weeks }} Weeks - Key Goals:</h3>\n<ul>\n{{ $json.key_goals ? $json.key_goals.map(g => '<li>' + g + '</li>').join('') : '<li>Complete orientation</li>' }}\n</ul>\n\n<h3>Training You'll Receive:</h3>\n<ul>\n{{ $json.training_needed ? $json.training_needed.map(t => '<li>' + t + '</li>').join('') : '<li>Company orientation</li>' }}\n</ul>\n\n<h3>What's Being Set Up For You:</h3>\n<ul>\n<li>Laptop: {{ $json.laptop_type }}</li>\n<li>Software access to key tools</li>\n<li>Email account:{{ $json.employee_email }} </li>\n</ul>\n\n<div style=\"background:#e3f2fd;padding:15px;margin-top:20px\">\n<strong>Need Help?</strong><br>\nHR Team: hr@company.com<br>\nYour Manager: {{ $json.manager_email }}\n</div>\n\n<p>We're here to support you every step of the way!</p>\n<p>Best regards,<br><strong>The HR Team</strong></p>\n<p style=\"font-size:12px;color:#666\">Onboarding ID: {{ $json.onboarding_id }}</p>\n</div>\n</body>\n</html>",
        "options": {},
        "subject": "=Welcome to the Team, {{ $json.employee_name }}! \ud83c\udf89"
      },
      "credentials": {
        "gmailOAuth2": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "bbc3941d-c9e9-4ce0-8c42-9533d7031804",
      "name": "Notify Manager",
      "type": "n8n-nodes-base.gmail",
      "position": [
        -608,
        -32
      ],
      "parameters": {
        "sendTo": "={{ $json.manager_email }}",
        "message": "=<!DOCTYPE html>\n<html>\n<body style=\"font-family:Arial;padding:20px\">\n<h2 style=\"color:#2196F3\">New Team Member Starting Soon</h2>\n<p>Hello,</p>\n<p><strong>{{ $json.employee_name }}</strong> will be joining your team as <strong>{{ $json.position }}</strong>.</p>\n\n<h3>Employee Details:</h3>\n<ul>\n<li><strong>Start Date:</strong> {{ $json.start_date }}</li>\n<li><strong>Department:</strong> {{ $json.department }}</li>\n<li><strong>Location:</strong> {{ $json.location }}</li>\n<li><strong>Experience Level:</strong> {{ $json.experience_level }}</li>\n</ul>\n\n<h3>Manager Prep Checklist:</h3>\n<div style=\"background:#f5f5f5;padding:15px\">\n<strong>Before Day 1:</strong>\n<ul>\n<li>Prepare workspace and supplies</li>\n<li>Schedule Day 1 welcome meeting</li>\n<li>Plan team introduction</li>\n<li>Assign onboarding buddy</li>\n<li>Review goals below</li>\n</ul>\n</div>\n\n<h3>Key Goals for First {{ $json.onboarding_weeks }} Weeks:</h3>\n<ul>\n{{ $json.key_goals ? $json.key_goals.map(g => '<li>' + g + '</li>').join('') : '<li>Complete orientation</li>' }}\n</ul>\n\n<h3>Training Assigned:</h3>\n<ul>\n{{ $json.training_needed ? $json.training_needed.map(t => '<li>' + t + '</li>').join('') : '<li>Department training</li>' }}\n</ul>\n\n<div style=\"background:#fff3cd;padding:15px;margin-top:20px\">\n<strong>Please Schedule:</strong><br>\n\u2022 Day 1: Welcome meeting (30 min)<br>\n\u2022 Week 1: 1-on-1 check-in<br>\n\u2022 Week 4: Progress review\n</div>\n\n<p>Questions? Contact HR at hr@company.com</p>\n<p>Best regards,<br><strong>HR Team</strong></p>\n</body>\n</html>",
        "options": {},
        "subject": "=New Team Member: {{ $json.employee_name }} - Action Required"
      },
      "credentials": {
        "gmailOAuth2": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "38b82ca7-0df4-4642-9940-82da425d5a96",
      "name": "IT Setup Request",
      "type": "n8n-nodes-base.gmail",
      "position": [
        -608,
        144
      ],
      "parameters": {
        "sendTo": "user@example.com",
        "message": "=<!DOCTYPE html>\n<html>\n<body style=\"font-family:Arial;padding:20px\">\n<h2 style=\"color:#FF9800\">IT Provisioning Request</h2>\n\n<h3>Employee Information:</h3>\n<ul>\n<li><strong>Name:</strong> {{ $json.employee_name }}</li>\n<li><strong>Position:</strong> {{ $json.position }}</li>\n<li><strong>Department:</strong> {{ $json.department }}</li>\n<li><strong>Start Date:</strong> {{ $json.start_date }}</li>\n<li><strong>Email:</strong> {{ $json.employee_email }}</li>\n<li><strong>Location:</strong> {{ $json.location }}</li>\n</ul>\n\n<h3>Hardware Required:</h3>\n<ul>\n<li>{{ $json.laptop_type }}</li>\n<li>Monitor and peripherals</li>\n<li>Mouse and keyboard</li>\n<li>Headset</li>\n</ul>\n\n<h3>Software/Tools Needed:</h3>\n<ul>\n{{ $json.tools_required ? $json.tools_required.map(t => '<li>' + t + '</li>').join('') : '<li>Email account</li><li>Standard software</li>' }}\n</ul>\n\n<h3>Setup Checklist:</h3>\n<ol>\n<li>Order hardware (deliver 1 week before start date)</li>\n<li>Create email account</li>\n<li>Set up VPN access</li>\n<li>Configure system permissions</li>\n<li>Prepare setup instructions</li>\n</ol>\n\n<div style=\"background:#e3f2fd;padding:15px;margin-top:20px\">\n<strong>Target Completion:</strong> 1 week before {{ $json.start_date }}\n</div>\n\n<p><strong>Onboarding ID:</strong> {{ $json.onboarding_id }}</p>\n</body>\n</html>",
        "options": {},
        "subject": "=IT Setup Request: {{ $json.employee_name }}"
      },
      "credentials": {
        "gmailOAuth2": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "7fb69228-24ca-44a6-99ef-87ae7173fcb1",
      "name": "Log to Database",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        -256,
        -96
      ],
      "parameters": {
        "columns": {
          "value": {
            "id": "={{ $json.id }}",
            "Address": "={{ $('Jotform Trigger').item.json.Address }}",
            "Position": "={{ $('Jotform Trigger').item.json.Position }}",
            "Department": "={{ $('Jotform Trigger').item.json.Department }}",
            "Shirt Size": "={{ $('Jotform Trigger').item.json['Shirt Size'] }}",
            "Start Date": "={{ $('Jotform Trigger').item.json['Start Date'] }}",
            "Laptop Type": "={{ $('Jotform Trigger').item.json['Laptop Type'] }}",
            "Phone Needed": "={{ $('Jotform Trigger').item.json['Phone Needed'] }}",
            "Employee Name": "={{ $('Extract Onboarding Data').item.json.employee_name }}",
            "Employee Type": "={{ $('Jotform Trigger').item.json['Employee Type'] }}",
            "Manager Email": "={{ $('Jotform Trigger').item.json['Manager Email'] }}",
            "Employee Email": "={{ $('Extract Onboarding Data').item.json.employee_email }}",
            "Software Access": "={{ $('Jotform Trigger').item.json['Software Access'] }}",
            "Experience Level": "={{ $('Jotform Trigger').item.json['Experience Level'] }}",
            "Emergency Contact": "={{ $('Jotform Trigger').item.json['Emergency Contact'] }}",
            "Dietary Restrictions": "={{ $('Jotform Trigger').item.json['Dietary Restrictions'] }}"
          },
          "schema": [
            {
              "id": "Employee Name",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Employee Name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Employee Email",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Employee Email",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Address",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Address",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Start Date",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Start Date",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Position",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Position",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Department",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Department",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Manager Email",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Manager Email",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Employee Type",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Employee Type",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Laptop Type",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Laptop Type",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Software Access",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Software Access",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Phone Needed",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Phone Needed",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Experience Level",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Experience Level",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Emergency Contact",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Emergency Contact",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Shirt Size",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Shirt Size",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Dietary Restrictions",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Dietary Restrictions",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "id",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "id",
              "defaultMatch": true,
              "canBeUsedToMatch": true
            },
            {
              "id": "threadId",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "threadId",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "labelIds",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "labelIds",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "id"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1pwrTx5GXB7mAg5eJQ9q0I9tsgSI9keZ2W4iuTZi7wF8/edit#gid=0",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1pwrTx5GXB7mAg5eJQ9q0I9tsgSI9keZ2W4iuTZi7wF8",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1pwrTx5GXB7mAg5eJQ9q0I9tsgSI9keZ2W4iuTZi7wF8/edit?usp=drivesdk",
          "cachedResultName": "Employee Onboarding"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.5
    },
    {
      "id": "389cc7a8-e2b4-4703-883a-d09e9834fe56",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2272,
        -400
      ],
      "parameters": {
        "color": 5,
        "width": 300,
        "height": 220,
        "content": "## \ud83d\udcdd Jotform Trigger\n\nCaptures new hire:\n\u2022 Name, email, position\n\u2022 Department, manager\n\u2022 Start date, location\n\u2022 IT requirements"
      },
      "typeVersion": 1
    },
    {
      "id": "6b2ac8da-ad4d-4ba4-bc5e-c303b27e398a",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1808,
        -416
      ],
      "parameters": {
        "color": 6,
        "width": 300,
        "height": 220,
        "content": "## \ud83e\udd16 AI Analysis\n\nOpenAI API call:\n\u2022 Determines priority\n\u2022 Suggests goals\n\u2022 Lists training\n\u2022 Recommends tools"
      },
      "typeVersion": 1
    },
    {
      "id": "f9534283-301f-44d2-afb9-e1453d5ab1e3",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1024,
        -480
      ],
      "parameters": {
        "color": 3,
        "width": 460,
        "height": 220,
        "content": "## \ud83d\udce7 Automated Emails\n\n**Executive:** HR alert\n**All:** Welcome, Manager prep, IT request\n**Finally:** Log to database"
      },
      "typeVersion": 1
    },
    {
      "id": "f88573c0-fd50-48db-a83b-0ac489d6cd52",
      "name": "AI Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        -1792,
        -192
      ],
      "parameters": {
        "text": "You are an HR specialist creating personalized employee onboarding plans.\n\nAnalyze the new hire's position, department, and experience level to determine:\n- Priority level (standard, high, or executive)\n- Onboarding duration in weeks\n- Key goals for first 30-90 days\n- Required training modules\n- Essential tools and software\n\nReturn ONLY valid JSON without markdown formatting. Be specific, actionable, and focus on helping new employees succeed quickly.",
        "options": {},
        "promptType": "define"
      },
      "typeVersion": 2.2
    },
    {
      "id": "73ccb726-8e2a-4675-85fa-45c014942c48",
      "name": "OpenAI Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        -1792,
        -16
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4.1-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "d150c537-4eb1-4fd8-b242-a6cac7703d5b",
      "name": "Jotform Trigger",
      "type": "n8n-nodes-base.jotFormTrigger",
      "position": [
        -2240,
        -192
      ],
      "parameters": {
        "form": "252852702090453"
      },
      "credentials": {
        "jotFormApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    }
  ],
  "connections": {
    "AI Agent": {
      "main": [
        [
          {
            "node": "Parse AI Response",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Is Executive?": {
      "main": [
        [
          {
            "node": "Alert HR - Executive",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Send Welcome Email",
            "type": "main",
            "index": 0
          },
          {
            "node": "Notify Manager",
            "type": "main",
            "index": 0
          },
          {
            "node": "IT Setup Request",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Notify Manager": {
      "main": [
        [
          {
            "node": "Log to Database",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Jotform Trigger": {
      "main": [
        [
          {
            "node": "Extract Onboarding Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "IT Setup Request": {
      "main": [
        [
          {
            "node": "Log to Database",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "AI Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Parse AI Response": {
      "main": [
        [
          {
            "node": "Is Executive?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send Welcome Email": {
      "main": [
        [
          {
            "node": "Log to Database",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Alert HR - Executive": {
      "main": [
        [
          {
            "node": "Send Welcome Email",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract Onboarding Data": {
      "main": [
        [
          {
            "node": "AI Agent",
            "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

HR teams managing multiple new hires monthly. Small-to-medium businesses automating onboarding processes. Companies wanting consistent onboarding experiences. Remote-first teams needing streamlined provisioning. Growing startups scaling their hiring operations. Organizations…

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

More AI & RAG workflows → · Browse all categories →

Related workflows

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

AI & RAG

Transform guest complaints into loyalty opportunities - achieving 60% reduction in negative reviews, 85% faster service recovery, and turning dissatisfied guests into brand advocates through AI-powere

Agent, Gmail, HTTP Request +3
AI & RAG

Transform patient intake from paperwork chaos into intelligent, automated triage that detects emergencies, prepares providers with comprehensive briefs, and streamlines scheduling—improving patient sa

Agent, OpenAI Chat, Output Parser Structured +4
AI & RAG

Transform accounts payable from a manual bottleneck into an intelligent, automated system that reads invoices, detects fraud, and processes payments automatically—saving 20+ hours per week while preve

OpenAI, Agent, OpenAI Chat +6
AI & RAG

Transform college admissions from an overwhelming manual process into an intelligent, efficient, and equitable system that analyzes essays, scores applicants holistically, and identifies top candidate

OpenAI, Agent, OpenAI Chat +5
AI & RAG

Streamline client onboarding and project setup from hours to minutes with AI-driven automation. This intelligent workflow eliminates manual coordination, builds proposals, creates projects in Asana, w

Agent, Asana, Slack +5