Complete JSM Employee Onboarding System (No Premium Required)

Complete JSM Employee Onboarding System (No Premium Required)

Real client story: Last month, a 1,500-person insurance company in London called me. Their onboarding was a disaster—new employees waiting weeks for laptops, system access, everything. We rebuilt the entire system in JSM. Three weeks of delays became three days of efficiency.

This is exactly how we did it.

Why This Matters (And Why I'm Sharing It)

I build these onboarding systems in 3-5 days for clients ranging from 100 to 5,000 employees. What takes most teams 2-3 weeks of trial and error, I can have running in under a week because I've done it dozens of times.

The system I'm showing you today:

  • ✅ No Premium required (though I'll show you the Assets version tomorrow)
  • ✅ Works for companies of any size
  • ✅ Reduces onboarding time from weeks to days
  • ✅ Creates accountability at every step
  • ✅ Scales as you grow

This is part 1 of a 3-part series:

  1. Today: Complete onboarding system (Standard JSM)
  2. Tomorrow: Onboarding with Assets (automatic hardware tracking)
  3. Coming soon: Complete offboarding system

Let's dive in.

What We're Building

Here's what this onboarding system includes:

Frontend (What HR/Managers See):

  • Clean, intuitive form on the customer portal
  • Dynamic fields that change based on selections
  • Zero confusion about what information is needed

Backend (What IT/Admins See):

  • Structured workflow with clear stages
  • Approval process (optional, can be skipped)
  • SLAs tracking preparation and provisioning time
  • Automated notifications to managers
  • Dedicated queues separating onboarding from other tickets

The Result:

  • New employee requests processed in days, not weeks
  • Complete visibility into onboarding status
  • Nothing falls through the cracks
  • Automated handoffs between teams

Step 1: Build the Request Form (The Foundation)

I use Forms for onboarding, not traditional request types. Here's why:

Why Forms Beat Traditional Request Types

✅ Clean, modern design - Looks professional, not like a 2010 web form
✅ Lightning-fast setup - Build complex forms in minutes
✅ Dynamic content - Fields appear/disappear based on user selections
✅ Easy to modify - Change field types with one click
✅ Better user experience - Reduces confusion and errors

The killer feature: Dynamic content. Watch this—when someone selects "Full-time employee," they see standard fields. Switch to "Contractor," and boom—additional contract-specific fields appear. No apps needed. This is native Forms functionality.

Creating Your Onboarding Form

Before you start: Document your onboarding process. Talk to HR. Talk to IT. Get alignment on what information you actually need. This isn't optional—misalignment here causes problems later.

To create the form:

  1. Go to your JSM project
  2. Navigate to Forms (in the left sidebar)
  3. Click Create Form
  4. Name it: "Employee Onboarding Request"

Essential Form Sections

Here's the structure that works for most organizations:

Section 1: Employee Information

  • New Employee Name (Short text, required)
  • Personal Email (Email field, required)
  • Start Date (Date picker, required)
  • Department (Dropdown: IT, Finance, Sales, Marketing, Operations, HR)
  • Location (Dropdown: London Office, Manchester Office, Remote, etc.)
  • Job Title (Short text, required)
  • Manager (User picker, required)

Section 2: Employment Type

  • Employment Type (Dropdown, required)
    • Full-time
    • Part-time
    • Contractor
    • Intern

Here's where dynamic content shines:

If "Contractor" is selected → Show:

  • Contract End Date (Date picker)
  • Contract Duration (Number field, in months)
  • Agency/Company (Short text)

How to set this up:

  1. Add the "Contract End Date" field
  2. Click the eye icon next to the field
  3. Select "Show this field when..."
  4. Set condition: "Employment Type = Contractor"
  5. Click Save

Repeat for other contractor-specific fields.

Section 3: System Access Required

  • Email Account (Checkbox, checked by default)
  • Software Access (Checkboxes, multiple selection)
    • Office 365
    • Salesforce
    • Slack/Teams
    • HR System
    • CRM
    • Project Management Tools
    • Other (specify)

Pro tip: Keep this simple. Don't list 50 software options. List your core 5-8 systems, plus "Other" with a text field.

Section 4: Hardware Requirements

This is where dynamic content gets really powerful.

  • Computer Type (Dropdown, required)
    • PC (default selection)
    • MacBook
    • No computer needed

Dynamic logic:

If "PC" is selected → Show:

  • PC Model (Dropdown)
    • Dell Latitude 5430
    • HP EliteBook 840
    • Lenovo ThinkPad X1
    • Other (specify)

If "MacBook" is selected → Show:

  • MacBook Model (Dropdown)
    • MacBook Air M2
    • MacBook Pro 14"
    • MacBook Pro 16"
    • Other (specify)

Additional hardware:

  • Monitor Required (Checkbox)
  • Keyboard/Mouse (Checkbox)
  • Headset (Checkbox)
  • Mobile Phone (Checkbox)
  • Additional Equipment (Long text, optional)

Section 5: Additional Information

  • Special Requirements (Long text, optional)
  • Security Clearance Level (Dropdown, if applicable)
  • Budget Code (Short text, if applicable)

The Final Touch: Hidden Fields

Add these fields but hide them from users:

  1. Summary (Short text, hidden)
    • Set default value: "New Employee Onboarding - [Employee Name]"
    • This becomes your ticket title
  2. Request Type (Hidden)
    • Set to: "Employee Onboarding"

Why hidden fields matter: They ensure consistency without asking users for redundant information.

Step 2: Create the Request Type

Now we connect the form to JSM.

Important: Create a dedicated request type for onboarding. Don't add it to generic "IT Support" or "General Requests."

Why?

  • You need a custom workflow (we'll build this next)
  • Dedicated SLAs
  • Separate queues
  • Different automation rules

To create the request type:

  1. Go to Project Settings > Request Types
  2. Click Create Request Type
  3. Name it: "Employee Onboarding"
  4. Description: "Submit this request to onboard a new employee"
  5. Choose an icon (person icon works well)
  6. Click Create
  1. Click on your new "Employee Onboarding" request type
  2. Scroll to Request Form
  3. Click Change form
  4. Select your "Employee Onboarding Request" form
  5. Click Save

Here's what just happened: When users select "Employee Onboarding" from the portal, they'll see your beautiful dynamic form instead of a clunky traditional request type.

Configure Fields (Keep It Minimal)

Since the form handles most fields, you only need:

  1. Summary (hidden, auto-populated)
  2. Participants/Approvers (if using approval process)

Don't add every form field as a custom field. The form captures the data. That's enough for most use cases.

Step 3: Build the Workflow

This is where onboarding becomes a structured process instead of chaos.

The Onboarding Workflow Structure

Here's the workflow that works for most organizations:

1. New Request
   ↓
2. Waiting for Approval (optional)
   ↓
3. Approved
   ↓
4. Prepare Access
   ↓
5. Facility Setup
   ↓
6. Pre-Arrival Checklist
   ↓
7. Ready for Day One
   ↓
8. Complete

Why this structure?

  • Clear stages everyone understands
  • Each stage has a responsible team
  • Easy to see where delays happen
  • SLAs can track each phase

Creating the Custom Workflow

Important note: I still use the old workflow editor because it works reliably. The new one is fine too—use whichever you prefer.

  1. Go to Project Settings > Workflows
  2. Click Add Workflow
  3. Select Create from scratch
  4. Name it: "Employee Onboarding Workflow"
  5. Click Create

Add Statuses

Click Add Status for each stage:

Status 1: New Request

  • Category: To Do
  • This is your starting status

Status 2: Waiting for Approval (optional)

  • Category: To Do
  • Include approval functionality

Status 3: Approved

  • Category: In Progress
  • Transition from: Waiting for Approval

Status 4: Prepare Access

  • Category: In Progress
  • IT creates accounts, sets permissions

Status 5: Facility Setup

  • Category: In Progress
  • Facilities prepares workspace, orders equipment

Status 6: Pre-Arrival Checklist

  • Category: In Progress
  • Final verification before start date

Status 7: Ready for Day One

  • Category: In Progress
  • Everything confirmed, ready to go

Status 8: Complete

  • Category: Done
  • Employee started successfully

Add Transitions

Connect your statuses with transitions:

  • New Request → Waiting for Approval
  • Waiting for Approval → Approved (when approved)
  • Waiting for Approval → Rejected (if rejected)
  • Approved → Prepare Access
  • Prepare Access → Facility Setup
  • Facility Setup → Pre-Arrival Checklist
  • Pre-Arrival Checklist → Ready for Day One
  • Ready for Day One → Complete

Pro tip: Don't create transitions for every possible path. Keep it linear. If something needs to go backwards, agents can manually move it.

About the Approval Process

Do you need approvals? Depends on your organization.

Use approvals if:

  • Budget approvals required for equipment
  • Manager sign-off needed for contractors
  • Security clearance verification needed
  • Multiple departments need to sign off

Skip approvals if:

  • HR already vetted the hire
  • Standard onboarding process
  • Speed is more important than gates

How to add approval:

  1. In the "Waiting for Approval" status
  2. Click Add Approver
  3. Select: Manager (from the form), HR Lead, Department Head, etc.
  4. Set approval rules: All must approve, or any can approve
  5. Click Save

My approach: Start without approvals. Add them later if you discover you need gates. Don't over-engineer from day one.

Associate Workflow with Request Type

  1. Go to Project Settings > Request Types
  2. Click on "Employee Onboarding"
  3. Scroll to Workflow
  4. Select your "Employee Onboarding Workflow"
  5. Click Save

Now your onboarding requests use this dedicated workflow.

Step 4: Configure SLAs

SLAs create accountability and visibility.

Standard SLAs (Default in JSM):

  • Time to First Response
  • Time to Resolution

For onboarding, you probably don't need "First Response." The request creates action automatically.

Custom SLAs for Onboarding

Here are the SLAs I recommend:

SLA 1: Access Preparation

What it tracks: How long IT takes to prepare accounts

Configuration:

  • Name: "Access Preparation"
  • Goal: 2 business days
  • Start: When status changes to "Approved"
  • Stop: When status changes to "Facility Setup"
  • Calendar: Business hours (Mon-Fri, 9am-5pm)

SLA 2: Equipment Provisioning

What it tracks: How long to order/prepare equipment

Configuration:

  • Name: "Equipment Provisioning"
  • Goal: 5 business days
  • Start: When status changes to "Facility Setup"
  • Stop: When status changes to "Pre-Arrival Checklist"
  • Calendar: Business hours

SLA 3: Overall Onboarding

What it tracks: Total time from request to ready

Configuration:

  • Name: "Overall Onboarding Time"
  • Goal: 10 business days
  • Start: When issue is created
  • Stop: When status = "Ready for Day One"
  • Calendar: Business hours

Why these specific SLAs?

  • They track the stages that typically cause delays
  • They create accountability for each team
  • They give you data to improve the process

To create an SLA:

  1. Go to Project Settings > SLAs
  2. Click Create SLA
  3. Fill in the details above
  4. Click Save

Step 5: Set Up Automation (The MVP)

Automation isn't required on day one, but these rules make life much easier.

Automation 1: Auto-Assign Based on Location/Department

What it does: Automatically assigns the ticket to the right team based on employee location or department.

Rule setup:

  1. Go to Project Settings > Automation
  2. Click Create Rule
  3. Trigger: Issue Created
  4. Condition: Request Type = Employee Onboarding
  5. Add Condition: Location = London Office
  6. Action: Assign Issue to "London IT Team"
  7. Name it: "Auto-assign onboarding - London"
  8. Click Turn on rule

Repeat for each location/department.

Alternative approach: Assign to a general "Onboarding Queue" and let agents claim them.

Automation 2: Manager Notification via Teams/Slack

What it does: Notifies the employee's manager when onboarding starts.

Why not email? I'm trying to reduce email overload. Webhook notifications to Teams/Slack work better.

Rule setup (Teams):

  1. Create rule
  2. Trigger: Status Changed to "Approved"
  3. Action: Send Web Request
  4. Webhook URL: [Your Teams incoming webhook URL]
  5. Body (JSON):
{
  "@type": "MessageCard",
  "summary": "New Employee Onboarding",
  "sections": [{
    "activityTitle": "Onboarding Started",
    "facts": [{
      "name": "Employee:",
      "value": "{{issue.customfield_newemployeename}}"
    },{
      "name": "Start Date:",
      "value": "{{issue.customfield_startdate}}"
    },{
      "name": "Department:",
      "value": "{{issue.customfield_department}}"
    }],
    "markdown": true
  }]
}
  1. Name it: "Notify manager via Teams"
  2. Click Turn on rule

For Slack: Use Slack's incoming webhook format instead.

Pro tip: Test webhooks with a test channel first. Don't spam your CEO's channel with test notifications.

Automation 3: Pre-Arrival Checklist

What it does: Adds a comment with a checklist when status moves to "Pre-Arrival Checklist"

Rule setup:

  1. Create rule
  2. Trigger: Status Changed to "Pre-Arrival Checklist"
  3. Action: Add Comment
  4. Comment:
Pre-Arrival Checklist - Verify all items before marking complete:

☐ Email account created and tested
☐ System access provisioned
☐ Computer prepared and configured
☐ Monitor/peripherals ready
☐ Desk/workspace prepared
☐ Building access badge ready
☐ Welcome email sent to employee
☐ Manager notified of start date
☐ IT orientation scheduled

Tag the assignee when complete.
  1. Name it: "Add pre-arrival checklist"
  2. Click Turn on rule

Why this works: The checklist ensures nothing is forgotten. It's visible to everyone. It creates accountability.

Automation 4: Status Change Notification

What it does: Comments on the ticket when status changes, creating an audit trail.

Rule setup:

  1. Create rule
  2. Trigger: Status Changed
  3. Condition: Request Type = Employee Onboarding
  4. Action: Add Comment
  5. Comment: "Status changed from {{changelog.fromString}} to {{changelog.toString}} by {{initiator.displayName}}"
  6. Name it: "Log status changes"
  7. Click Turn on rule

My philosophy on automation: Start with these 3-4 rules. Run the system for a few weeks. Then add more automation based on what you discover you're doing manually over and over.

Don't create 20 automation rules on day one. You'll create a nightmare to debug.

Step 6: Configure Queues

Queues help your team organize onboarding work separately from other tickets.

Why separate queues?

  • Onboarding has different priorities than break-fix tickets
  • Different teams work on onboarding
  • Easier to see onboarding workload at a glance
  • Reduces confusion

Creating Onboarding Queues

Queue 1: All Onboarding Requests

JQL:

"Request Type" = "Employee Onboarding" AND status != Complete

This shows all active onboarding requests.

Queue 2: Pending Approval

JQL:

"Request Type" = "Employee Onboarding" AND status = "Waiting for Approval"

For managers/approvers to see what needs their attention.

Queue 3: In Progress Onboarding

JQL:

"Request Type" = "Employee Onboarding" AND status IN ("Prepare Access", "Facility Setup", "Pre-Arrival Checklist")

Active work that needs attention.

Queue 4: Upcoming Start Dates

JQL:

"Request Type" = "Employee Onboarding" AND "Start Date" <= 7d AND status != Complete

Employees starting in the next 7 days. Critical visibility.

Queue 5: Overdue Onboarding

JQL:

"Request Type" = "Employee Onboarding" AND "Start Date" < now() AND status != Complete

Red flag queue. These are problems.

Setting Favorites

Make these queues easy to access:

  1. Click the star icon next to "All Onboarding Requests"
  2. This pins it to the top for quick access

Pro tip: Set the "All Onboarding Requests" queue as the default view for your onboarding team.

Step 7: Testing the Complete System

Before going live, test the entire workflow:

Test Checklist

1. Submit a test request

  • Does the form work correctly?
  • Do dynamic fields appear/disappear properly?
  • Does the request create successfully?

2. Check ticket creation

  • Is the summary formatted correctly?
  • Are all form fields captured?
  • Is it assigned to the right person/team?

3. Move through workflow

  • Can you transition between statuses?
  • Do SLAs start/stop correctly?
  • Does the approval process work (if enabled)?

4. Verify automation

  • Do notifications fire correctly?
  • Do comments add when expected?
  • Are status changes logged?

5. Check queues

  • Does the ticket appear in the right queues?
  • Do JQL queries work correctly?

Fix any issues before going live. It's much easier to debug with test data than production data.

Going Live: The Rollout Plan

You've built the system. Now you need people to use it.

Week 1: Soft Launch

  • Send announcement to HR team only
  • Ask them to submit all new hire requests through the new system
  • Monitor closely for issues
  • Collect feedback

Week 2: Training

  • 30-minute session with IT team showing:
    • How to work tickets in the new workflow
    • What each status means
    • How to use queues
    • Key automation rules
  • Q&A time
  • Provide quick reference guide

Week 3: Full Launch

  • Announce to all managers
  • Share portal URL and instructions
  • Make old process unavailable
  • Monitor adoption

Week 4+: Optimize

  • Review metrics:
    • Average onboarding time
    • SLA breaches
    • Common bottlenecks
  • Adjust workflow/SLAs based on real data
  • Add automation for repetitive tasks

Real Results from Real Clients

Insurance company (1,500 employees):

  • Before: 3 weeks average onboarding time
  • After: 3 days
  • Eliminated: Laptop delivery delays, access request confusion
  • ROI: Massive improvement in new hire experience

Tech startup (120 employees):

  • Before: Spreadsheet tracking, frequent missed items
  • After: Zero missed onboarding steps
  • Benefit: Professional onboarding experience for rapid hiring

Healthcare organization (800 employees):

  • Before: Compliance nightmares, security gaps
  • After: Complete audit trail, proper access controls
  • Benefit: Passed regulatory audit with flying colors

Common Mistakes to Avoid

❌ Mistake #1: Over-Engineering Day One

Problem: Building 15-step workflows, 50 automation rules, complex approval chains before testing with real users.

Solution: Start with the MVP I showed you. Add complexity based on real needs.

❌ Mistake #2: Not Getting HR Buy-In

Problem: Building a system IT thinks is great, but HR refuses to use.

Solution: Involve HR from the beginning. Show them the form. Get their feedback. Make them part of the design.

❌ Mistake #3: Ignoring the Form Experience

Problem: Ugly, confusing forms that intimidate users.

Solution: Use Forms (not traditional request types). Test the form with a non-technical person. If they're confused, simplify.

❌ Mistake #4: No Dedicated Queues

Problem: Onboarding requests mixed with "printer is broken" tickets. Chaos ensues.

Solution: Separate queues. Separate workflow. Separate focus.

❌ Mistake #5: Set-It-and-Forget-It

Problem: Launch the system, never look at it again, wonder why it doesn't work perfectly.

Solution: Review metrics monthly. Talk to your team. Continuously improve.

What's Next: The 3-Part Series

This is your complete onboarding system using standard JSM features. But we're not done.

Tomorrow: Onboarding with Assets
I'll show you how to add automatic hardware tracking:

  • Assets database integration
  • Auto-assign equipment during onboarding
  • Track who has what
  • Prepare for offboarding

Coming Soon: Complete Offboarding System
The flip side of onboarding:

  • Equipment recovery
  • Access revocation
  • Knowledge transfer
  • Compliance requirements

Subscribe so you don't miss these.

The Bottom Line

This onboarding system works. I've deployed it dozens of times for companies ranging from 100 to 5,000 employees.

You can spend 2-3 weeks building this yourself, dealing with trial and error, figuring out what works.

Or I can have it running in your environment in under a week. I've done this so many times I can practically do it in my sleep.

The system I showed you today:

  • Reduces onboarding from weeks to days
  • Creates accountability at every step
  • Eliminates "forgot to provision access" disasters
  • Scales with your organization
  • Requires no Premium license

If you want this running this week instead of spending three weeks figuring it out, book a 15-minute discovery call. We'll talk about your specific needs, and I'll show you exactly how this will work for your organization.


Coming tomorrow: Assets integration for automatic hardware tracking. Hit subscribe so you don't miss it.

Have questions? Drop them in the comments. I read every single one and respond.