New Hire Onboarding
A new person is joining your company. They need accounts in a dozen tools, access to the right Slack channels, an onboarding buddy, and a structured first week. This procedure handles all of it — from pre-start provisioning through a first-week check-in and close-out.
Use it when: Someone new is joining. Run it before their start date so everything is ready on day one.
What makes it interesting: It spans multiple days with steps tied to specific dates (before start, day 1, day 5). It auto-assigns an onboarding buddy if one isn't specified, tracks a checklist in Notion, and follows up until everything is confirmed complete.
Walkthrough
Header
id: new-hire-onboarding
version: 1
trigger: manual
category: People
# New Hire Onboarding
Onboard a new team member across all company systems — Slack, Notion, Linear,
Google Workspace, and role-specific tools. Assigns a buddy, tracks checklist
completion, and ensures a productive first week.Input
The inputs capture who's joining, what their role is, and when they start. The buddy field is optional — if left blank, the procedure will auto-assign one from the same department.
## Input
| Field | Type | Required | Default | Description |
|-------|------|----------|---------|-------------|
| name | string | yes | | New hire's full name |
| email | string | yes | | Work email (Google Workspace) |
| role | string | yes | | Job title |
| department | string | yes | | engineering / product / marketing / ops / content |
| start_date | date | yes | | First day |
| manager | string | yes | | Direct manager |
| buddy | string | no | | Onboarding buddy (auto-assigned if not provided) |
| equipment | string | no | | Hardware notes |State
The checklist is stored as a Notion database, so the manager (or anyone) can check progress at any time by opening the Notion page.
## State
| Field | Storage | Description |
|-------|---------|-------------|
| checklist | Notion DB | Onboarding tasks with status |
| current_step | invocation | Where we are |Steps
Step 1 — Prepare accounts (before start date). Provision all tools and create the onboarding checklist. If no buddy was specified, pick one from the department.
### prep_accounts
**Before start date.** Create or verify:
- Google Workspace account ({input.email})
- Slack invite → add to #general, #team-{input.department}, #random
- Notion workspace access → share relevant team spaces
- Linear team membership → add to {input.department} team
- GitHub/GitLab access (if engineering/product)
- Role-specific tools (Figma, Hubspot, Mixpanel, etc.)
Create the **Onboarding Checklist** database with tasks:
- [ ] Google Workspace active
- [ ] Slack joined, channels added
- [ ] Notion access granted
- [ ] Linear team added
- [ ] Equipment ordered/shipped
- [ ] 1Password/security setup
- [ ] Role-specific tools provisioned
- [ ] Welcome doc shared
- [ ] First week calendar populated
If no buddy assigned, pick someone from the same department (3+ months tenure).
DM {input.manager}: "Onboarding for {input.name} starting {input.start_date}. Buddy: {state.buddy}. Checklist: [link]"
→ welcome_day_oneStep 2 — Welcome on day one. Post a company-wide welcome, send the new hire their first-day instructions, and activate the buddy.
### welcome_day_one
**On {input.start_date}:**
Post in #general:
> 👋 Welcome {input.name}! Joining as {input.role} on the {input.department} team. Their buddy is {state.buddy}. Say hi!
DM {input.name} with first-day instructions:
1. Check email for tool invites
2. Buddy {state.buddy} will reach out
3. 1:1 with {input.manager} scheduled
4. Team handbook link
DM {state.buddy}: "You're buddying {input.name} this week. Please reach out today."
Schedule a 30-min check-in with {input.name} + {input.manager} for day 3.
→ first_week_checkStep 3 — First week check-in. Wait until day 5, then ask both the new hire and their manager how things are going. Flag any incomplete checklist items.
### first_week_check
**Wait until**: {input.start_date} + 5d
DM {input.name}:
> How's your first week? Do you have access to everything? Any blockers?
DM {input.manager}: "Check in with {input.name}. Checklist status: [link]"
Review checklist — flag incomplete items.
**Wait**: 2d for responses
- **On event** `all_clear` → close_onboarding
- **On event** `issues`: Address issues, then → close_onboarding
→ close_onboardingStep 4 — Close onboarding. Wrap up, post a summary, and let the new hire know they're all set.
### close_onboarding
Update all checklist items. Post summary to #ops:
> ✅ Onboarding complete for {input.name} ({input.role})
> Checklist: X/Y items done. Outstanding: [list if any]
DM {input.name}: "You're all set! Buddy {state.buddy} and manager {input.manager} are your go-to people."
→ done ✓Output
## Output
| Field | Type | Description |
|-------|------|-------------|
| checklist_status | object | { completed, total, outstanding_items } |
| accounts_provisioned | array | List of tools/accounts set up |
| buddy | string | Assigned buddy |
| days_to_complete | number | Calendar days from start to close |Key Patterns
This procedure demonstrates patterns you can reuse:
- Multi-day timeline — steps tied to specific dates (before start, day 1, day 5)
- Automated provisioning — sets up accounts across multiple systems
- Checklist tracking — progress visible in a Notion database
- Buddy auto-assignment — falls back to picking someone from the department
- Timed check-ins — follows up at day 1, day 5, and close