New hire welcome kit: email, first-day invite and team intro
Add a new hire to a sheet and they get a welcome email, a first-day calendar invite, and a hello from the team on Slack.
How it works
- Add the new hire to your New hires sheet (name, email, role, start date, manager).
- Send them a welcome email with the first-day details.
- Book a one-hour welcome session on their first morning and invite them.
- Announce them to the team on Slack.
Diagram
Build it
Pick your tool — same automation, step by step.
Copy and paste straight into an n8n canvas (Ctrl+V), or download and use Import from File. Then connect your own credentials and replace every YOUR_… placeholder.
Show code (158 lines)
{
"name": "New hire welcome kit: email, first-day invite and team intro (Flowngn)",
"nodes": [
{
"parameters": {
"content": "## New hire welcome kit: email, first-day invite and team intro\nAdd a new hire to a sheet and they get a welcome email, a first-day calendar invite, and a hello from the team on Slack.\n\n**Setup**\n1. Open each node and connect your own credentials.\n2. Replace every YOUR_… placeholder.\n3. Test once, then activate.\n\nFree template from Flowngn",
"height": 260,
"width": 340
},
"id": "343164f5-4864-4c3c-a1f0-fbba526625be",
"name": "Setup notes",
"type": "n8n-nodes-base.stickyNote",
"typeVersion": 1,
"position": [
-420,
-60
]
},
{
"parameters": {
"pollTimes": {
"item": [
{
"mode": "everyMinute"
}
]
},
"documentId": {
"__rl": true,
"value": "YOUR_SPREADSHEET_ID",
"mode": "id"
},
"sheetName": {
"__rl": true,
"value": "New hires",
"mode": "name"
},
"event": "rowAdded",
"options": {}
},
"id": "343164f5-4864-4c3c-a1f0-fbba526625be",
"name": "New hire added",
"type": "n8n-nodes-base.googleSheetsTrigger",
"typeVersion": 1,
"position": [
0,
0
]
},
{
"parameters": {
"sendTo": "={{ $json.email }}",
"subject": "=Welcome to YOUR_COMPANY, {{ $json.name.split(' ')[0] }}!",
"emailType": "text",
"message": "=Hi {{ $json.name.split(' ')[0] }},\n\nWe're so happy you're joining us as {{ $json.role }}.\n\nYour first day: {{ $json.start_date }} at 9:00\nWhere: YOUR_OFFICE_ADDRESS\nAsk for: {{ $json.manager }}\n\nPlease bring your ID and bank details for payroll. You'll get a calendar invite for your first-day welcome session.\n\nSee you soon,\nYOUR_NAME",
"options": {
"appendAttribution": false
}
},
"id": "343164f5-4864-4c3c-a1f0-fbba526625be",
"name": "Send welcome email",
"type": "n8n-nodes-base.gmail",
"typeVersion": 2.1,
"position": [
300,
0
]
},
{
"parameters": {
"calendar": {
"__rl": true,
"value": "primary",
"mode": "id"
},
"start": "={{ $('New hire added').item.json.start_date }}T09:00:00",
"end": "={{ $('New hire added').item.json.start_date }}T10:00:00",
"additionalFields": {
"summary": "=Welcome session: {{ $('New hire added').item.json.name }}",
"attendees": [
"={{ $('New hire added').item.json.email }}"
]
}
},
"id": "343164f5-4864-4c3c-a1f0-fbba526625be",
"name": "Book welcome session",
"type": "n8n-nodes-base.googleCalendar",
"typeVersion": 1.3,
"position": [
600,
0
]
},
{
"parameters": {
"select": "channel",
"channelId": {
"__rl": true,
"value": "#general",
"mode": "name"
},
"text": "=👋 Please welcome {{ $('New hire added').item.json.name }}, joining as {{ $('New hire added').item.json.role }} on {{ $('New hire added').item.json.start_date }}!",
"otherOptions": {}
},
"id": "343164f5-4864-4c3c-a1f0-fbba526625be",
"name": "Tell the team",
"type": "n8n-nodes-base.slack",
"typeVersion": 2.2,
"position": [
900,
0
]
}
],
"connections": {
"New hire added": {
"main": [
[
{
"node": "Send welcome email",
"type": "main",
"index": 0
}
]
]
},
"Send welcome email": {
"main": [
[
{
"node": "Book welcome session",
"type": "main",
"index": 0
}
]
]
},
"Book welcome session": {
"main": [
[
{
"node": "Tell the team",
"type": "main",
"index": 0
}
]
]
}
},
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"meta": {
"templateCredsSetupCompleted": false
},
"tags": []
}In Make, create a new scenario and add these modules in order:
- Google Sheets › Watch New Rows
- Gmail › Send an Email
- Google Calendar › Search Events
- Slack › Create a Message
- Every module run uses Make operations — the free plan includes a monthly quota.
- Module and step names can differ slightly as Make and Zapier update their apps.
In Zapier, create a new Zap and add these steps in order:
- Google Sheets — New Spreadsheet Row
- Gmail — Send Email
- Google Calendar — Find Events
- Slack — Send Channel Message
- Zaps with more than two steps need a paid Zapier plan.
- Module and step names can differ slightly as Make and Zapier update their apps.
Tips
- Write start_date as YYYY-MM-DD so the calendar step reads it correctly.
Related flows
Team birthdays and work anniversaries on Slack
Every morning, celebrate today's birthdays and work anniversaries in your team channel.
Unpaid invoices collections AI agent
Every morning, the agent reviews overdue invoices, drafts polite reminders in the right tone, and flags the ones that need a call.
Staff check-in and check-out with a Telegram bot
Staff send "in" or "out" (or دخول / خروج) to a Telegram bot, and every check-in lands in an attendance sheet.