This workflow corresponds to n8n.io template #15975 — we link there as the canonical source.
This workflow follows the Gmail → 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 →
{
"id": "jVzD1nmFOZQlMz6p",
"meta": {
"templateCredsSetupCompleted": true
},
"name": "Employee Onboarding Automation with Webhook, Google Sheets, Drive, Jira, Gmail, and Slack",
"tags": [],
"nodes": [
{
"id": "ec62abf0-a865-4978-b0ba-82ac6c0a405b",
"name": "New Hire Webhook Trigger",
"type": "n8n-nodes-base.webhook",
"position": [
-448,
-144
],
"parameters": {
"path": "employee-onboarding",
"options": {
"rawBody": true
},
"httpMethod": "POST"
},
"typeVersion": 2.1
},
{
"id": "31f0f038-3dc9-4816-aeb3-39f4144f2dd2",
"name": "Normalize Employee Data",
"type": "n8n-nodes-base.set",
"position": [
-240,
-144
],
"parameters": {
"mode": "raw",
"options": {},
"jsonOutput": "={{ $json.body }}"
},
"typeVersion": 3.4
},
{
"id": "71b8ffa3-1128-450f-91c2-b587b4ea2a5c",
"name": "Create IT Access Task",
"type": "n8n-nodes-base.jira",
"position": [
1360,
-160
],
"parameters": {
"project": {
"__rl": true,
"mode": "list",
"value": "10000",
"cachedResultName": "n8n-workflow-testing"
},
"summary": "={{ \"IT Access Setup - \" + $('Log New Hire Record').first().json.full_name }}",
"issueType": {
"__rl": true,
"mode": "list",
"value": "10003",
"cachedResultName": "Task"
},
"additionalFields": {
"description": "=Create and assign:\n- Google Workspace account\n- Slack account\n- VPN access\n- SSO / password manager\n- Laptop / device request"
}
},
"credentials": {
"jiraSoftwareCloudApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "bd1c4386-9105-4c79-81d0-4570251f0f5d",
"name": "Create HR Checklist Task",
"type": "n8n-nodes-base.jira",
"position": [
1568,
-160
],
"parameters": {
"project": {
"__rl": true,
"mode": "list",
"value": "10000",
"cachedResultName": "n8n-workflow-testing"
},
"summary": "={{ \"HR Onboarding Checklist - \" + $('Log New Hire Record').first().json.full_name }}",
"issueType": {
"__rl": true,
"mode": "list",
"value": "10003",
"cachedResultName": "Task"
},
"additionalFields": {
"description": "=Complete:\n- Offer and document verification\n- Policy acknowledgement\n- Orientation scheduling\n- Benefits / payroll setup\n- Intro meeting planning"
}
},
"credentials": {
"jiraSoftwareCloudApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "5dff548f-d5e3-42ec-a711-4918211ce160",
"name": "Log New Hire Record",
"type": "n8n-nodes-base.googleSheets",
"position": [
96,
-144
],
"parameters": {
"columns": {
"value": {
"role": "={{ $json.role }}",
"status": "={{ $json.status }}",
"location": "={{ $json.location }}",
"full_name": "={{ $json.full_name }}",
"department": "={{ $json.department }}",
"start_date": "={{ $json.start_date }}",
"work_email": "={{ $json.work_email }}",
"employee_id": "={{ $json.employee_id }}",
"manager_name": "={{ $json.manager_name }}",
"manager_email": "={{ $json.manager_email }}",
"personal_email": "={{ $json.personal_email }}",
"employment_type": "={{ $json.employment_type }}"
},
"schema": [
{
"id": "employee_id",
"type": "string",
"display": true,
"required": false,
"displayName": "employee_id",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "full_name",
"type": "string",
"display": true,
"required": false,
"displayName": "full_name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "personal_email",
"type": "string",
"display": true,
"required": false,
"displayName": "personal_email",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "work_email",
"type": "string",
"display": true,
"required": false,
"displayName": "work_email",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "department",
"type": "string",
"display": true,
"required": false,
"displayName": "department",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "role",
"type": "string",
"display": true,
"required": false,
"displayName": "role",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "manager_name",
"type": "string",
"display": true,
"required": false,
"displayName": "manager_name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "manager_email",
"type": "string",
"display": true,
"required": false,
"displayName": "manager_email",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "start_date",
"type": "string",
"display": true,
"required": false,
"displayName": "start_date",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "employment_type",
"type": "string",
"display": true,
"required": false,
"displayName": "employment_type",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "location",
"type": "string",
"display": true,
"required": false,
"displayName": "location",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "status",
"type": "string",
"display": true,
"required": false,
"displayName": "status",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "processed_at",
"type": "string",
"display": true,
"required": false,
"displayName": "processed_at",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "drive_folder_link",
"type": "string",
"display": true,
"required": false,
"displayName": "drive_folder_link",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "jira_epic_key",
"type": "string",
"display": true,
"required": false,
"displayName": "jira_epic_key",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/17CGboEYpLjBaf7XQqWHhFES1I8bbOyW0ZWByGMSlt7s/edit#gid=0",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "17CGboEYpLjBaf7XQqWHhFES1I8bbOyW0ZWByGMSlt7s",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/17CGboEYpLjBaf7XQqWHhFES1I8bbOyW0ZWByGMSlt7s/edit?usp=drivesdk",
"cachedResultName": "Employee onboarding automation"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 4.7
},
{
"id": "dce421d5-a8eb-41c9-a59e-abae1e26fa1d",
"name": "Validate Required Employee Fields",
"type": "n8n-nodes-base.if",
"position": [
320,
-144
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 3,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "a2dd6d17-cf5d-492a-b33d-ee041c6cdda4",
"operator": {
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.status }}",
"rightValue": "pending"
},
{
"id": "d9770e9f-30ec-467c-aa21-aad843e6bfbb",
"operator": {
"type": "string",
"operation": "notEmpty",
"singleValue": true
},
"leftValue": "={{ $json.full_name }}",
"rightValue": ""
},
{
"id": "480e5242-8ce4-4a4c-a2de-3bc4589ccd81",
"operator": {
"type": "string",
"operation": "notEmpty",
"singleValue": true
},
"leftValue": "={{ $json.work_email }}",
"rightValue": ""
},
{
"id": "b771a329-85a2-4137-ab87-f797844311a3",
"operator": {
"type": "string",
"operation": "notEmpty",
"singleValue": true
},
"leftValue": "={{ $json.department }}",
"rightValue": ""
},
{
"id": "1e0ecc79-6d1d-4381-af44-0d62929617aa",
"operator": {
"type": "string",
"operation": "notEmpty",
"singleValue": true
},
"leftValue": "={{ $json.manager_email }}",
"rightValue": ""
}
]
}
},
"typeVersion": 2.3
},
{
"id": "c66009e4-86d4-4003-852e-fdef0adb2334",
"name": "Create Employee Onboarding Folder",
"type": "n8n-nodes-base.googleDrive",
"position": [
608,
-160
],
"parameters": {
"name": "={{ $json.full_name + \" - Onboarding\" }}",
"driveId": {
"__rl": true,
"mode": "list",
"value": "My Drive"
},
"options": {},
"folderId": {
"__rl": true,
"mode": "list",
"value": "1FM-kd1_Xi2ikKpK7xAULFWYc_qVH2wwc",
"cachedResultUrl": "https://drive.google.com/drive/folders/1FM-kd1_Xi2ikKpK7xAULFWYc_qVH2wwc",
"cachedResultName": "N8n workflow"
},
"resource": "folder"
},
"credentials": {
"googleDriveOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 3
},
{
"id": "b7d0b3b1-7837-4192-966a-66410f490362",
"name": "Grant Employee Folder Access",
"type": "n8n-nodes-base.googleDrive",
"position": [
864,
-160
],
"parameters": {
"options": {},
"resource": "folder",
"operation": "share",
"permissionsUi": {
"permissionsValues": {
"role": "writer",
"type": "user",
"emailAddress": "={{ $('Normalize Employee Data').first().json.work_email }}"
}
},
"folderNoRootId": {
"__rl": true,
"mode": "id",
"value": "={{ $json.id }}"
}
},
"credentials": {
"googleDriveOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 3
},
{
"id": "757b008d-4f1f-4021-ab9b-4fd78207cd84",
"name": "Create Onboarding Epic",
"type": "n8n-nodes-base.jira",
"position": [
1152,
-160
],
"parameters": {
"project": {
"__rl": true,
"mode": "list",
"value": "10000",
"cachedResultName": "n8n-workflow-testing"
},
"summary": "={{ \"Onboarding - \" + $('Log New Hire Record').first().json.full_name }}",
"issueType": {
"__rl": true,
"mode": "list",
"value": "10001",
"cachedResultName": "Epic"
},
"additionalFields": {
"description": "=New employee onboarding\n\nName: {{ $('Log New Hire Record').first().json.full_name }}\nDepartment: {{ $('Log New Hire Record').first().json.department }}\nRole: {{ $('Log New Hire Record').first().json.role }}\nManager: {{ $('Log New Hire Record').first().json.manager_name }}\nStart Date: {{ $('Log New Hire Record').first().json.start_date }}\nLocation: {{ $('Log New Hire Record').first().json.location }}"
}
},
"credentials": {
"jiraSoftwareCloudApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "b83f2983-527c-4ebf-8b3d-489a06a4fa4e",
"name": "Find Created Onboarding Folder",
"type": "n8n-nodes-base.googleDrive",
"position": [
1840,
-160
],
"parameters": {
"filter": {},
"options": {
"fields": [
"webViewLink",
"id",
"name"
]
},
"resource": "fileFolder",
"returnAll": true,
"queryString": "={{ $('Create Employee Onboarding Folder').first().json.name }}"
},
"credentials": {
"googleDriveOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 3
},
{
"id": "57cecc99-fea7-4492-9d46-d8b5bdd582e7",
"name": "Verify Folder Match",
"type": "n8n-nodes-base.if",
"position": [
2080,
-160
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 3,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "e3678eda-40e4-4484-8065-cb8e935ea744",
"operator": {
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.name }}",
"rightValue": "={{ $('Create Employee Onboarding Folder').first().json.name }}"
}
]
}
},
"typeVersion": 2.3
},
{
"id": "84d5f554-2b94-4d6e-899d-4298bb435cfb",
"name": "Send Welcome Email to Employee",
"type": "n8n-nodes-base.gmail",
"position": [
2384,
-176
],
"parameters": {
"sendTo": "={{ $('Log New Hire Record').first().json.work_email }}",
"message": "=<p>Hi {{ $('Log New Hire Record').first().json.full_name }},</p>\n\n<p>Welcome aboard. Your onboarding process has started successfully.</p>\n\n<p><strong>Department:</strong> {{$('Log New Hire Record').first().json.department}}<br>\n<strong>Role:</strong> {{$('Log New Hire Record').first().json.role}}<br>\n<strong>Start Date:</strong> {{$('Log New Hire Record').first().json.start_date}}</p>\n\n<p>Your onboarding folder: \n<a href=\"{{ $json.webViewLink }}\">Open Folder</a></p>\n\n<p>Your manager: {{$('Log New Hire Record').first().json.manager_name}}</p>\n\n<p>Best regards,<br>HR Team</p>",
"options": {},
"subject": "={{ \"Welcome to the company, \" + $('Log New Hire Record').first().json.full_name }}"
},
"credentials": {
"gmailOAuth2": {
"name": "<your credential>"
}
},
"typeVersion": 2.2
},
{
"id": "c8fbede0-24bb-446c-8bc1-812f3fb969a2",
"name": "Send Team Onboarding Notification",
"type": "n8n-nodes-base.slack",
"position": [
2624,
-176
],
"parameters": {
"text": "=New hire onboarding started for {{$('Log New Hire Record').first().json.full_name}}\nDepartment: {{$('Log New Hire Record').first().json.department}}\nRole: {{$('Log New Hire Record').first().json.role}}\nStart Date: {{$('Log New Hire Record').first().json.start_date}}\nJira Epic: {{ $('Create Onboarding Epic').item.json.key }} - {{ $('Create Onboarding Epic').item.json.id }}\nFolder: {{ $('Verify Folder Match').item.json.webViewLink }}",
"select": "channel",
"channelId": {
"__rl": true,
"mode": "list",
"value": "C0B1LNY15GW",
"cachedResultName": "n8n-workflow-testing"
},
"otherOptions": {}
},
"credentials": {
"slackApi": {
"name": "<your credential>"
}
},
"typeVersion": 2.4
},
{
"id": "156d1a71-f892-4592-a480-35ff27817fc6",
"name": "Update Onboarding Tracker Status",
"type": "n8n-nodes-base.googleSheets",
"position": [
2912,
-176
],
"parameters": {
"columns": {
"value": {
"status": "Processed",
"row_number": 0,
"employee_id": "={{ $('Log New Hire Record').first().json.employee_id }}",
"processed_at": "={{ $now }}",
"jira_epic_key": "={{ $('Create Onboarding Epic').item.json.key }} - {{ $('Create Onboarding Epic').item.json.id }}",
"drive_folder_link": "={{ $('Verify Folder Match').item.json.webViewLink }}"
},
"schema": [
{
"id": "employee_id",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "employee_id",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "full_name",
"type": "string",
"display": true,
"required": false,
"displayName": "full_name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "personal_email",
"type": "string",
"display": true,
"required": false,
"displayName": "personal_email",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "work_email",
"type": "string",
"display": true,
"required": false,
"displayName": "work_email",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "department",
"type": "string",
"display": true,
"required": false,
"displayName": "department",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "role",
"type": "string",
"display": true,
"required": false,
"displayName": "role",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "manager_name",
"type": "string",
"display": true,
"required": false,
"displayName": "manager_name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "manager_email",
"type": "string",
"display": true,
"required": false,
"displayName": "manager_email",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "start_date",
"type": "string",
"display": true,
"required": false,
"displayName": "start_date",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "employment_type",
"type": "string",
"display": true,
"required": false,
"displayName": "employment_type",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "location",
"type": "string",
"display": true,
"required": false,
"displayName": "location",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "status",
"type": "string",
"display": true,
"required": false,
"displayName": "status",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "processed_at",
"type": "string",
"display": true,
"required": false,
"displayName": "processed_at",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "drive_folder_link",
"type": "string",
"display": true,
"required": false,
"displayName": "drive_folder_link",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "jira_epic_key",
"type": "string",
"display": true,
"required": false,
"displayName": "jira_epic_key",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "row_number",
"type": "number",
"display": true,
"removed": false,
"readOnly": true,
"required": false,
"displayName": "row_number",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"employee_id"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "update",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/17CGboEYpLjBaf7XQqWHhFES1I8bbOyW0ZWByGMSlt7s/edit#gid=0",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "17CGboEYpLjBaf7XQqWHhFES1I8bbOyW0ZWByGMSlt7s",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/17CGboEYpLjBaf7XQqWHhFES1I8bbOyW0ZWByGMSlt7s/edit?usp=drivesdk",
"cachedResultName": "Employee onboarding automation"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 4.7
},
{
"id": "4eb33347-c712-4cbf-ae4a-24d6d67382fe",
"name": "Send HR Completion Summary",
"type": "n8n-nodes-base.gmail",
"position": [
3152,
-176
],
"parameters": {
"sendTo": "=hr@yopmail.com",
"message": "=<p>Onboarding completed successfully for {{ $('Log New Hire Record').first().json.full_name }}.</p>\n\n<p>\n<strong>Epic:</strong> {{ $('Create Onboarding Epic').item.json.key }} - {{ $('Create Onboarding Epic').item.json.id }}<br>\n<strong>Folder:</strong> {{ $('Verify Folder Match').item.json.webViewLink }}<br>\n<strong>Employee Date:</strong> {{ $('Log New Hire Record').first().json.work_email }}.</p>",
"options": {},
"subject": "={{ \"Onboarding completed successfully of \" + $('Log New Hire Record').first().json.full_name }}"
},
"credentials": {
"gmailOAuth2": {
"name": "<your credential>"
}
},
"typeVersion": 2.2
},
{
"id": "d5656004-3f7e-491c-8fbf-efe55765e8b4",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1232,
-512
],
"parameters": {
"width": 672,
"height": 560,
"content": "# Employee Onboarding Automation Workflow\n## How it works:\nThis workflow starts when the company system sends a new hire request to the webhook. It extracts and normalizes employee data, stores the record in Google Sheets, and validates whether the onboarding request is complete and ready to process. After validation, it creates a dedicated Google Drive onboarding folder, shares it with the employee, and creates Jira tasks for onboarding, IT access, and HR activities. The workflow then confirms the correct folder link, sends a welcome email to the employee, and posts an internal Slack update for the team. Finally, it updates the onboarding tracker with processed details and sends a completion summary to HR, giving the company a structured and trackable onboarding process from one API request.\n\n## Setup Steps:\n1. Create a Webhook node to receive new hire data from your company system.\n2. Normalize the request payload so all employee fields are easy to use in later nodes.\n3. Log the employee record in Google Sheets and validate the required onboarding fields.\n4. Create a Google Drive folder for the employee and share it with the employee email.\n5. Create Jira onboarding, IT, and HR tasks for internal execution.\n6. Send the employee welcome email and post the internal Slack notification.\n7. Update the onboarding tracker and send the final HR completion summary."
},
"typeVersion": 1
},
{
"id": "9582d9f7-cc7d-4c26-82ad-0fb744783b97",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-512,
-400
],
"parameters": {
"color": 7,
"width": 448,
"height": 448,
"content": "# Request Intake\u2028\n\nThis section receives the onboarding request from the company system through a webhook and extracts the employee details from the request body. It restructures the incoming data into a clean and usable format so downstream nodes can process consistent employee information without confusion."
},
"typeVersion": 1
},
{
"id": "350c4910-ea1f-4c3c-a5d8-83eb8630abca",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-16,
-400
],
"parameters": {
"color": 7,
"width": 528,
"height": 448,
"content": "# Record Logging and Validation\u2028\n\nThis section stores the incoming employee data in Google Sheets to create an onboarding tracker entry. After logging the record, it validates whether the request is eligible for processing by checking pending status and required values such as full name, work email, department, and manager email."
},
"typeVersion": 1
},
{
"id": "4dcd904b-6b58-46a1-891e-97ba4a9e4d1a",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
544,
-400
],
"parameters": {
"color": 7,
"width": 496,
"height": 448,
"content": "# Drive Access Setup\u2028\nThis section prepares the employee document space in Google Drive. It creates a dedicated onboarding folder using the employee name and then shares folder access with the employee so onboarding files, documents, and reference materials can be accessed as soon as the workflow proceeds.\n"
},
"typeVersion": 1
},
{
"id": "6c2819d1-4f39-4006-95b9-bd37f757d682",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
1088,
-400
],
"parameters": {
"color": 7,
"width": 624,
"height": 448,
"content": "# Internal Task Creation\u2028\nThis section creates the core operational tasks required for onboarding inside Jira. It opens one parent onboarding epic and then creates separate tasks for IT access setup and HR onboarding activities, making ownership clear and helping internal teams track all onboarding work in one place.\n"
},
"typeVersion": 1
},
{
"id": "414f9f6d-94ef-4d19-aa3e-e9f194890fba",
"name": "Sticky Note5",
"type": "n8n-nodes-base.stickyNote",
"position": [
2288,
-400
],
"parameters": {
"color": 7,
"width": 512,
"height": 448,
"content": "\n# Employee and Team Communication\u2028\nThis section manages the communication part of the onboarding flow. It sends a welcome email to the employee with onboarding details and folder access, then posts a Slack message to the internal team so everyone involved knows the onboarding process has officially started."
},
"typeVersion": 1
},
{
"id": "87172d3c-9f53-4603-9031-ebd3dbfa3b65",
"name": "Sticky Note6",
"type": "n8n-nodes-base.stickyNote",
"position": [
1744,
-400
],
"parameters": {
"color": 7,
"width": 496,
"height": 448,
"content": "# Folder Verification\u2028\nThis section searches Google Drive for the onboarding folder created earlier and confirms that the returned result matches the expected employee folder name. This extra validation step ensures the workflow uses the correct folder link in later communication and tracker update actions.\n"
},
"typeVersion": 1
},
{
"id": "2f00eae6-b94d-4b79-a2f2-83095b4741a0",
"name": "Sticky Note7",
"type": "n8n-nodes-base.stickyNote",
"position": [
2832,
-400
],
"parameters": {
"color": 7,
"width": 560,
"height": 448,
"content": "# Tracking and Final Update\u2028\nThis section finalizes the onboarding workflow by updating the Google Sheets tracker with processed status, timestamp, drive folder link, and Jira epic reference. It then sends a final summary email to HR so the team has confirmation that the onboarding sequence completed successfully.\n"
},
"typeVersion": 1
}
],
"active": false,
"settings": {
"binaryMode": "separate",
"executionOrder": "v1"
},
"versionId": "7b13a0ef-1030-41c5-b1a3-cca814fdacf0",
"connections": {
"Log New Hire Record": {
"main": [
[
{
"node": "Validate Required Employee Fields",
"type": "main",
"index": 0
}
]
]
},
"Verify Folder Match": {
"main": [
[
{
"node": "Send Welcome Email to Employee",
"type": "main",
"index": 0
}
]
]
},
"Create IT Access Task": {
"main": [
[
{
"node": "Create HR Checklist Task",
"type": "main",
"index": 0
}
]
]
},
"Create Onboarding Epic": {
"main": [
[
{
"node": "Create IT Access Task",
"type": "main",
"index": 0
}
]
]
},
"Normalize Employee Data": {
"main": [
[
{
"node": "Log New Hire Record",
"type": "main",
"index": 0
}
]
]
},
"Create HR Checklist Task": {
"main": [
[
{
"node": "Find Created Onboarding Folder",
"type": "main",
"index": 0
}
]
]
},
"New Hire Webhook Trigger": {
"main": [
[
{
"node": "Normalize Employee Data",
"type": "main",
"index": 0
}
]
]
},
"Grant Employee Folder Access": {
"main": [
[
{
"node": "Create Onboarding Epic",
"type": "main",
"index": 0
}
]
]
},
"Find Created Onboarding Folder": {
"main": [
[
{
"node": "Verify Folder Match",
"type": "main",
"index": 0
}
]
]
},
"Send Welcome Email to Employee": {
"main": [
[
{
"node": "Send Team Onboarding Notification",
"type": "main",
"index": 0
}
]
]
},
"Update Onboarding Tracker Status": {
"main": [
[
{
"node": "Send HR Completion Summary",
"type": "main",
"index": 0
}
]
]
},
"Create Employee Onboarding Folder": {
"main": [
[
{
"node": "Grant Employee Folder Access",
"type": "main",
"index": 0
}
]
]
},
"Send Team Onboarding Notification": {
"main": [
[
{
"node": "Update Onboarding Tracker Status",
"type": "main",
"index": 0
}
]
]
},
"Validate Required Employee Fields": {
"main": [
[
{
"node": "Create Employee Onboarding Folder",
"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.
gmailOAuth2googleDriveOAuth2ApigoogleSheetsOAuth2ApijiraSoftwareCloudApislackApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
This workflow accepts new-hire details via a webhook, logs them to Google Sheets, creates an onboarding folder in Google Drive, opens onboarding work items in Jira, and notifies the employee and internal teams via Gmail and Slack, then updates the tracker with links and status.…
Source: https://n8n.io/workflows/15975/ — 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.
Streamline and standardize your entire client onboarding process with a single end-to-end automation. 🚀📋 This workflow captures detailed client intake data via webhook, automatically creates a fully s
This template is ideal for HR teams, startup founders, operations leads, remote-first companies, and freelancers managing onboarding manually or across multiple tools.
Categories: Payments, Project Operations, Client Onboarding
This workflow is a fully automated AI matte painting generation system for VFX pipelines, designed to convert a single environment prompt into multiple cinematic background variations. It handles gene
Complete Calendly automation that handles confirmations, cancellations and reschedules in a single workflow. WHAT IT DOES: