Quick Start: Onboard Davis Dunham with gws
New Hire: Davis Dunham
Personal Email: rdavisdunham@gmail.com
Brainforge Email: davis.dunham@brainforge.ai
Role: AI Engineer
Department: Engineering
QUICK COMMANDS
1. Authenticate gws (One-time setup)
gws auth loginThis opens a browser. Sign in with your brainforge.ai admin account.
2. Run Full gws Onboarding Script
# From repo root
cd knowledge/operations/onboarding
./onboard-new-hire-gws.sh "Davis Dunham" "rdavisdunham@gmail.com" "AI Engineer" "Engineering"This will:
- ✅ Send welcome email to davis.dunham@brainforge.ai
- ✅ Create calendar events for check-ins
- ✅ Create onboarding Google Doc
- ✅ Share doc with new hire
- ✅ Generate execution plan
3. Manual Steps (Required)
⚠️ The following steps require manual admin console access - no API automation available:
- Slack - Requires Enterprise Grid plan for API access (Brainforge has Pro/Business+)
- 1Password - Requires Provision Manager role for CLI (limited to specific team members)
- Google Workspace - gws CLI has limited Admin SDK support
Create Google Workspace User
URL: https://admin.google.com
Path: Directory → Users → Add new user
Details:
- First name: Davis
- Last name: Dunham
- Email: davis.dunham@brainforge.ai
- Password: [Generate temporary]
- ☑️ Send credentials to: rdavisdunham@gmail.com
Add to Slack (Guest → platform)
URL: https://brainforge.slack.com/admin
Path: Invitations → Invite members
Details:
- Email: rdavisdunham@gmail.com
- Role: Guest (not Full Member)
- Channels: #platform only
Grant Tool Access
1Password: https://start.1password.com → Invite davis.dunham@brainforge.ai
GitHub: https://github.com/orgs/brainforge-ai/people → Invite member
Linear: https://linear.app/brainforge/settings/members → Invite
Notion: https://notion.so → Settings & Members → Add members
Clockify: https://clockify.me → Workspace → Users → Add
Cursor: https://cursor.com → Settings → Team → Invite
gws COMMANDS (If Running Manually)
Send Welcome Email
# Base64 encode the email
MESSAGE=$(echo -e "To: davis.dunham@brainforge.ai\nSubject: Welcome to Brainforge, Davis!\n\nHi Davis,\n\nWelcome to Brainforge! Your Brainforge email is: davis.dunham@brainforge.ai\n\nCheck your personal email for login credentials.\n\nBest,\nBrainforge Team" | base64)
# Send via gws
gws gmail users messages send \
--params '{"userId": "me"}' \
--json "{\"raw\": \"$MESSAGE\"}"Create Calendar Events
Week 1 Check-in:
gws calendar events insert \
--params '{"calendarId": "primary"}' \
--json '{
"summary": "Week 1 Check-in: Davis Dunham",
"description": "1:1 with Department Lead and Uttam",
"start": {"dateTime": "2026-04-29T10:00:00", "timeZone": "America/New_York"},
"end": {"dateTime": "2026-04-29T11:00:00", "timeZone": "America/New_York"},
"attendees": [{"email": "davis.dunham@brainforge.ai"}]
}'30-Day Check-in:
gws calendar events insert \
--params '{"calendarId": "primary"}' \
--json '{
"summary": "30-Day Check-in: Davis Dunham",
"start": {"dateTime": "2026-05-22T10:00:00", "timeZone": "America/New_York"},
"end": {"dateTime": "2026-05-22T11:00:00", "timeZone": "America/New_York"},
"attendees": [{"email": "davis.dunham@brainforge.ai"}]
}'90-Day Check-in:
gws calendar events insert \
--params '{"calendarId": "primary"}' \
--json '{
"summary": "90-Day Check-in: Davis Dunham",
"start": {"dateTime": "2026-07-21T10:00:00", "timeZone": "America/New_York"},
"end": {"dateTime": "2026-07-21T11:00:00", "timeZone": "America/New_York"},
"attendees": [{"email": "davis.dunham@brainforge.ai"}]
}'Create Onboarding Document
# Create doc
gws docs documents create \
--json '{"title": "Davis Dunham - Onboarding Guide"}'
# Note the documentId from output, then update content:
gws docs documents batchUpdate \
--params '{"documentId": "YOUR_DOC_ID"}' \
--json '{
"requests": [{
"insertText": {
"location": {"index": 1},
"text": "Welcome Davis!\n\nYour onboarding checklist..."
}
}]
}'
# Share with new hire
gws drive permissions create \
--params '{"fileId": "YOUR_DOC_ID"}' \
--json '{
"role": "writer",
"type": "user",
"emailAddress": "davis.dunham@brainforge.ai"
}'CHECKLIST
Automated by gws script:
- Welcome email sent
- Calendar events created (Week 1, 30-day, 90-day)
- Onboarding document created
- Document shared with new hire
- Execution plan generated
Manual (you do):
- Create Google Workspace user
- Add to Slack (guest platform)
- 1Password invite
- GitHub org invite
- Linear team invite
- Notion workspace invite
- Clockify user add
- Cursor license assign
- Add to HR Notion Database
- Update Financial Model
- Notify Finance team
- Send team introduction
RESOURCES
- gws Guide:
knowledge/operations/onboarding/GWS-GUIDE.md - Onboarding SOP:
knowledge/operations/onboarding/new-team-member-onboarding-sop.md - Execution Plan:
knowledge/operations/onboarding/EXECUTION-PLAN-davis-dunham.md - Linear Ticket: https://linear.app/brainforge/issue/OB-184
- Linear Project: https://linear.app/brainforge/project/davis-dunham-onboarding-7919f9d88734
TROUBLESHOOTING
”Authentication failed"
gws auth login"gws not found"
brew install googleworkspace/tap/gws"Permission denied”
Make sure you’re logged in with a brainforge.ai admin account.
NEXT STEPS
- Authenticate gws:
gws auth login - Run script:
./onboard-new-hire-gws.sh "Davis Dunham" "rdavisdunham@gmail.com" "AI Engineer" "Engineering" - Complete manual steps as prompted
- Done!
Questions? Check the full gws guide: knowledge/operations/onboarding/GWS-GUIDE.md