AutomationFlowsAI & RAG › Hr Onboarding Automation

Hr Onboarding Automation

HR Onboarding Automation. Uses emailSend, openai, googleDrive. Webhook trigger; 10 nodes.

Webhook trigger★★★★☆ complexityAI-powered10 nodesEmail SendOpenAIGoogle Drive
AI & RAG Trigger: Webhook Nodes: 10 Complexity: ★★★★☆ AI nodes: yes Added:

This workflow follows the Emailsend → Google Drive 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
{
  "name": "HR Onboarding Automation",
  "nodes": [
    {
      "parameters": {
        "httpMethod": "POST",
        "path": "manager-form",
        "responseMode": "onReceived",
        "options": {}
      },
      "name": "Manager Form Trigger",
      "type": "n8n-nodes-base.webhook",
      "typeVersion": 1,
      "position": [
        250,
        300
      ]
    },
    {
      "parameters": {
        "functionCode": "const candidateName = $json['candidate_name'];\nconst salary = $json['salary'];\nconst offerText = `Dear ${candidateName},\n\nYou are hired!\n\nHere is your salary: ${salary}\n\nBest regards,\nHR Team`;\n\nreturn [{ json: { offerText } }];"
      },
      "name": "Generate Offer Letter",
      "type": "n8n-nodes-base.function",
      "typeVersion": 1,
      "position": [
        500,
        300
      ]
    },
    {
      "parameters": {
        "fromEmail": "hr@yourcompany.com",
        "toEmail": "={{$json[\"candidate_email\"]}}",
        "subject": "Your Offer Letter",
        "text": "={{$json[\"offerText\"]}}"
      },
      "name": "Send Offer Email",
      "type": "n8n-nodes-base.emailSend",
      "typeVersion": 1,
      "position": [
        750,
        300
      ],
      "credentials": {
        "smtp": "<your credential>"
      }
    },
    {
      "parameters": {
        "time": 3,
        "unit": "days"
      },
      "name": "Wait for Reply / Signature",
      "type": "n8n-nodes-base.wait",
      "typeVersion": 1,
      "position": [
        1000,
        300
      ]
    },
    {
      "parameters": {
        "conditions": {
          "boolean": [
            {
              "value1": "={{$json[\"signed\"]}}",
              "operation": "equal",
              "value2": true
            }
          ]
        }
      },
      "name": "IF Candidate Signed?",
      "type": "n8n-nodes-base.if",
      "typeVersion": 1,
      "position": [
        1250,
        300
      ]
    },
    {
      "parameters": {},
      "name": "Send to CEO",
      "type": "n8n-nodes-base.emailSend",
      "typeVersion": 1,
      "position": [
        1500,
        200
      ],
      "credentials": {
        "smtp": "<your credential>"
      }
    },
    {
      "parameters": {},
      "name": "Send to Payroll",
      "type": "n8n-nodes-base.emailSend",
      "typeVersion": 1,
      "position": [
        1750,
        200
      ],
      "credentials": {
        "smtp": "<your credential>"
      }
    },
    {
      "parameters": {
        "model": "gpt-3.5-turbo",
        "messages": [
          {
            "role": "system",
            "content": "You are an HR assistant AI. Candidate questions should be answered using company policy documents in Google Drive. Forward unusual or negotiation-related questions to HR manager."
          },
          {
            "role": "user",
            "content": "Candidate asked: {{$json[\"candidate_question\"]}}"
          }
        ]
      },
      "name": "AI Candidate Response",
      "type": "n8n-nodes-base.openai",
      "typeVersion": 1,
      "position": [
        1500,
        400
      ],
      "credentials": {
        "openAIApi": "<your credential>"
      }
    },
    {
      "parameters": {
        "fromEmail": "hr@yourcompany.com",
        "toEmail": "={{$json[\"candidate_email\"]}}",
        "subject": "Response to your question",
        "text": "={{$json[\"choices\"][0][\"message\"][\"content\"]}}"
      },
      "name": "Send AI Response Email",
      "type": "n8n-nodes-base.emailSend",
      "typeVersion": 1,
      "position": [
        1750,
        400
      ],
      "credentials": {
        "smtp": "<your credential>"
      }
    },
    {
      "parameters": {
        "operation": "upload",
        "fileName": "={{$json[\"candidate_name\"] + '_offer.pdf'}}",
        "binaryData": "offerPdf",
        "options": {}
      },
      "name": "Log Document to Google Drive",
      "type": "n8n-nodes-base.googleDrive",
      "typeVersion": 1,
      "position": [
        2000,
        300
      ],
      "credentials": {
        "googleDriveOAuth2Api": "<your credential>"
      }
    }
  ],
  "connections": {
    "Manager Form Trigger": {
      "main": [
        [
          {
            "node": "Generate Offer Letter",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Generate Offer Letter": {
      "main": [
        [
          {
            "node": "Send Offer Email",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send Offer Email": {
      "main": [
        [
          {
            "node": "Wait for Reply / Signature",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait for Reply / Signature": {
      "main": [
        [
          {
            "node": "IF Candidate Signed?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "IF Candidate Signed?": {
      "main": [
        [
          {
            "node": "Send to CEO",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "AI Candidate Response",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Send to CEO": {
      "main": [
        [
          {
            "node": "Send to Payroll",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send to Payroll": {
      "main": [
        [
          {
            "node": "Log Document to Google Drive",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AI Candidate Response": {
      "main": [
        [
          {
            "node": "Send AI Response Email",
            "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 Onboarding Automation. Uses emailSend, openai, googleDrive. Webhook trigger; 10 nodes.

Source: https://gist.github.com/odladla-crypto/e752f9f79a0d1d7d53b1a742696c1cc7 — 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

Convert any PDF into a structured Multiple Choice Question (MCQ) bank with answer keys and explanations — fully automated using n8n and Google Gemini. Teachers & Educators Trainers & Course Creators H

Google Gemini, Telegram, Email Send +1
AI & RAG

Property management teams handling leases, IDs, and compliance documents.

Google Drive, OpenAI, Google Sheets +2
AI & RAG

For content creators, agencies, and SaaS developers who need automated AI image generation and editing with professional delivery workflows.

HTTP Request, Google Drive, Email Send
AI & RAG

Goal: This workflow demonstrates the full fluidX THE EYE integration — starting a live session, inviting both the customer (via SMS) and the service agent (via email), and then accessing the media (ph

Form Trigger, Google Drive, Email Send +3
AI & RAG

Transforms provider documentation (URLs) into an auditable, enforceable multicloud security control baseline. It: Fetches and sanitizes HTML Uses AI to extract security requirements* (strict 3-line TX

HTTP Request, OpenAI, Google Drive