{
  "id": "employee-onboarding",
  "title": "Employee Onboarding",
  "type": "workflow",
  "version": "0.1.0",
  "tier": "starlark",
  "icon": "🏢",
  "author": "Switchboard Core",
  "description": "Employee onboarding with automated provisioning, manager signoff, and welcome notification.",
  "permissions": ["db.write", "notifications.send"],

  "db_tables": {
    "provisions": {
      "columns": {
        "employee_name": "text",
        "department": "text",
        "needs_vpn": "text",
        "needs_admin": "text",
        "equipment": "text",
        "status": "text"
      }
    },
    "onboarding_log": {
      "columns": {
        "employee_name": "text",
        "department": "text",
        "completed_by": "text",
        "status": "text"
      }
    }
  },

  "workflow_definition": {
    "name": "Employee Onboarding",
    "slug": "employee-onboarding",
    "entry_mode": "team_only",
    "stages": [
      {
        "name": "new-hire-info",
        "ordinal": 0,
        "stage_mode": "form",
        "audience": "team",
        "stage_type": "simple",
        "auto_transition": false,
        "form_template": {
          "fieldsets": [
            {
              "label": "Personal Info",
              "fields": [
                { "key": "full_name", "label": "Full Name", "type": "text", "required": true },
                { "key": "email", "label": "Email", "type": "text", "required": true },
                { "key": "department", "label": "Department", "type": "select", "options": ["engineering", "sales", "marketing", "hr", "ops", "finance"], "required": true },
                { "key": "start_date", "label": "Start Date", "type": "text", "required": true }
              ]
            },
            {
              "label": "Access Requirements",
              "fields": [
                { "key": "needs_vpn", "label": "VPN Access", "type": "select", "options": ["true", "false"], "required": true },
                { "key": "needs_admin", "label": "Admin Access", "type": "select", "options": ["true", "false"], "required": true },
                { "key": "equipment", "label": "Equipment", "type": "select", "options": ["standard laptop", "developer workstation", "macbook pro"], "required": true }
              ]
            }
          ]
        }
      },
      {
        "name": "provision-accounts",
        "ordinal": 1,
        "stage_mode": "automated",
        "audience": "system",
        "stage_type": "automated",
        "auto_transition": true,
        "starlark_hook": "employee-onboarding:on_provision"
      },
      {
        "name": "manager-signoff",
        "ordinal": 2,
        "stage_mode": "review",
        "audience": "team",
        "stage_type": "simple",
        "auto_transition": false,
        "stage_config": {
          "validation": {
            "required_approvals": 1,
            "required_role": "manager",
            "reject_action": "new-hire-info"
          }
        }
      },
      {
        "name": "it-setup",
        "ordinal": 3,
        "stage_mode": "form",
        "audience": "team",
        "stage_type": "simple",
        "auto_transition": false,
        "form_template": {
          "fieldsets": [
            {
              "label": "IT Setup Confirmation",
              "fields": [
                { "key": "hardware_ready", "label": "Hardware Ready?", "type": "select", "options": ["yes", "no"], "required": true },
                { "key": "accounts_created", "label": "Accounts Created?", "type": "select", "options": ["yes", "no"], "required": true },
                { "key": "it_notes", "label": "Notes", "type": "textarea" }
              ]
            }
          ]
        }
      },
      {
        "name": "welcome",
        "ordinal": 4,
        "stage_mode": "automated",
        "audience": "system",
        "stage_type": "automated",
        "auto_transition": true,
        "starlark_hook": "employee-onboarding:on_welcome"
      }
    ]
  }
}
