Employee Onboarding Workflow

Business
8 nodes · 10 edgesbusiness
ex-employee-onboarding.osop.yaml
# Employee Onboarding Workflow
# Parallel provisioning with HR, IT, and people management steps

osop_version: "2.0"
id: employee-onboarding
name: Employee Onboarding Workflow

nodes:
  - id: hr_create_accounts
    type: human
    purpose: HR creates employee record in HRIS and initiates onboarding
    role: hr_specialist
    outputs: [employee_id, department, start_date, manager_id]
    explain:
      what: HR enters new hire data into the HR information system
      why: Employee record is the prerequisite for all downstream provisioning

  - id: provision_laptop
    type: api
    purpose: Submit laptop provisioning request to IT asset management
    runtime:
      endpoint: it_assets
      method: POST
      url: https://itam.internal/api/v1/provisions
    inputs: [employee_id, department]
    outputs: [asset_tag, device_model]
    timeout_sec: 86400

  - id: setup_email
    type: api
    purpose: Create corporate email and Google Workspace account
    runtime:
      endpoint: google_admin
      method: POST
      url: https://admin.googleapis.com/admin/directory/v1/users
    inputs: [employee_id]
    outputs: [email_address]
    security:
      credentials: [GOOGLE_ADMIN_TOKEN]

  - id: grant_access
    type: cli
    purpose: Provision access to internal tools — GitHub, Jira, Slack, VPN
    runtime:
      os: linux
      command: |
        ./scripts/provision-access.sh \
          --user ${employee_id} \
          --department ${department} \
          --tools github,jira,slack,vpn
    inputs: [employee_id, department, email_address]

  - id: assign_training
    type: api
    purpose: Enroll new hire in required compliance and role-specific training
    runtime:
      endpoint: lms
      method: POST
      url: https://lms.internal/api/enrollments
    inputs: [employee_id, department]
    outputs: [training_plan_id]
    explain:
      what: Assigns security awareness, compliance, and role training modules
      why: Regulatory requirement — must be completed within first 30 days

  - id: mentor_introduction
    type: human
    purpose: Manager introduces new hire to assigned onboarding mentor
    role: hiring_manager
    inputs: [employee_id, manager_id]
    outputs: [mentor_id]

  - id: parallel_join
    type: system
    subtype: join
    purpose: Wait for all parallel provisioning steps to complete
    inputs: [asset_tag, email_address, training_plan_id, mentor_id]

  - id: thirty_day_checkin
    type: human
    purpose: Manager conducts 30-day onboarding check-in
    role: hiring_manager
    inputs: [employee_id, training_plan_id]
    timeout_sec: 2592000  # 30 days
    explain:
      what: Structured check-in covering training progress, access issues, feedback
      why: Early intervention prevents onboarding failures and improves retention

edges:
  - from: hr_create_accounts
    to: provision_laptop
    mode: parallel

  - from: hr_create_accounts
    to: setup_email
    mode: parallel

  - from: hr_create_accounts
    to: assign_training
    mode: parallel

  - from: hr_create_accounts
    to: mentor_introduction
    mode: parallel

  - from: setup_email
    to: grant_access
    mode: sequential

  - from: provision_laptop
    to: parallel_join
    mode: sequential

  - from: grant_access
    to: parallel_join
    mode: sequential

  - from: assign_training
    to: parallel_join
    mode: sequential

  - from: mentor_introduction
    to: parallel_join
    mode: sequential

  - from: parallel_join
    to: thirty_day_checkin
    mode: sequential