Onboard employees and manage Slack access with Google Sheets and Gmail
Ready for 3.0Ready for 3.0. This template uses no nodes that n8n 3.0 removes. No removed nodes, versions or helpers found. Static check, last run 2026-10-19.
Nodes used (9)
- Webhook
n8n-nodes-base.webhook - If
n8n-nodes-base.if - Respond to Webhook
n8n-nodes-base.respondToWebhook - Google Sheets
n8n-nodes-base.googleSheets - Code
n8n-nodes-base.code - Gmail
n8n-nodes-base.gmail - Slack
n8n-nodes-base.slack - Split Out
n8n-nodes-base.splitOut - HTTP Request
n8n-nodes-base.httpRequest
What it does
Quick Overview This workflow automates HR onboarding by capturing new hires via a webhook, saving them to Google Sheets, emailing a Slack invite via Gmail, and notifying managers in Slack, then listening for Slack teamjoin events to add new hires to department channels and update onboarding status. How it works 1. Receives a POST webhook request from an HR form with new employee details and validates required fields. 2. Appends the employee record to a Google Sheets spreadsheet and assigns a department-based list of Slack channels plus a static Slack invite link. 3. Sends the new hire a welcome email through Gmail containing their start details and the Slack workspace invite link. 4. Sends a Slack direct message to a manager user with the new hire details and the channels they will be added to, then updates the Google Sheets row to “Invite Sent” with a timestamp and responds to the HR form. 5. Receives Slack Events API requests for the workspace and replies to urlverification challenges or immediately acknowledges real teamjoin events within 3 seconds. 6. Extracts the joining user’s Slack ID and email, looks up the matching employee row in Google Sheets, and resolves the department’s target channels. 7. For each target channel, fetches Slack channel IDs, invites the user to the channel, sends the user a welcome DM in Slack, and updates the Google Sheets row status to “Joined” with a timestamp. Setup 1. Create and connect credentials for Google Sheets OAuth2, Gmail OAuth2, and Slack OAuth2. 2. Prepare a Google Sheets spreadsheet (Sheet1) with columns for fullname, email, department, role, manageremail, startdate, status, slackinvitedat, and slackuserid, and update the spreadsheet ID/sheet selection if needed. 3. Update the static Slack invite link and the department-to-channel mapping in the workflow code so it matches your workspace channels. 4. Configure your HR form/dashboard to POST to the onboarding webhook URL (/webhook-test/onboard-employee for testing and /webhook/onboard-employee when active). 5. Create a Slack app with Events API enabled, subscribe to the teamjoin event, set the Request URL to the Slack events webhook, and invite the bot user into each target channel so it can add members.