Build a Help Desk Ticketing System

Configure a ServiceNow help desk with auto-routing, lifecycle management, and dashboards.

Introduction

30 Second Summary

Every time someone's laptop breaks or their email stops working at a company, they submit a support ticket. Behind the scenes, a ticketing system routes that request to the right team and tracks it until it's resolved.

In this project, you will build a fully working help desk ticketing system on ServiceNow. You will configure assignment groups, automatic routing rules, and a reporting dashboard that mirrors what real IT departments use every day.

What You'll Build

A working IT Help Desk ticketing system on ServiceNow's Incident Management module, complete with automatic ticket routing, lifecycle tracking, and visual reporting.

By the end of this project, you'll have:

  • Two assignment groups (Hardware Support and Software Support) with team members ready to receive tickets.
  • Assignment rules that automatically route incoming incidents to the correct team based on category.
  • Sample incidents that demonstrate the full ticket lifecycle from New to Closed, plus a reporting dashboard with visual breakdowns of your help desk workload.
  • Secret Mission: Add an SLA policy that flags overdue tickets and creates an escalation notification.

Do I need ServiceNow experience?

No prior ServiceNow experience is required. This project walks you through everything from creating your free developer account to building your first dashboard. All you need is a web browser.

Set Up Your ServiceNow Developer Account and Instance

Every IT support team needs a system to track, route, and resolve issues. ServiceNow is the platform that thousands of organizations use for exactly this purpose.

To build your own help desk ticketing system, you need access to a ServiceNow environment. In this step, you will create a free developer account and provision your own Personal Developer Instance.

In this step, get ready to:
  • Create a ServiceNow Developer Program account.
  • Request and provision a Personal Developer Instance (PDI).
  • Verify the Incident Management module is accessible.
Create a ServiceNow Developer Program account

The ServiceNow Developer Program gives you free access to a full ServiceNow instance with admin-level privileges. This is the same platform enterprises use, just dedicated to your learning.

  • Navigate to developer.servicenow.com in your browser.
  • Click Sign In at the top of the page.
  • Click Get a ServiceNow ID to start creating your account.
  • Complete the sign-up form with your name, email address, and a password.
  • Check your email inbox for a verification email from signon@service-now.com with the subject line "Welcome to ServiceNow from Developer Program!".
  • Click the verification link in the email to confirm your account.

Don't see the verification email?

Check your spam or junk folder. The email comes from signon@service-now.com and may take a few minutes to arrive.

help me find my ServiceNow verification email

  • Return to the Developer Site and sign in with your new credentials.
  • When asked Do you code?, select Yes.
  • Accept the Developer Site terms of use.
  • Click Finish Setup.

Why select Yes for Do you code?

Answering Yes grants you the Admin role, which gives unrestricted access to all platform features. Answering No limits you to App Engine Studio Creator, which does not have the permissions needed for this project.

Request a Personal Developer Instance

A Personal Developer Instance (PDI) is your own private ServiceNow environment. It comes pre-loaded with demo data including sample users, which you will use later as team members.

  • Click Request Instance in the header of the Developer Site.
  • Select the latest available ServiceNow release (e.g., Yokohama or newer) from the dropdown.
  • Click Request.
  • Wait for your instance to provision. This usually takes 1-3 minutes.
  • Once your instance is ready, click Start Building to open your instance.

What is a Personal Developer Instance?

A PDI is a full ServiceNow environment hosted in the cloud, free for developers. Your instance URL looks something like https://devXXXXX.service-now.com where the X's are unique to your instance.

Your PDI stays active as long as you sign in to the Developer Site at least once every 10 days. After 10 days of inactivity, the instance is reclaimed.

No instances available?

PDIs are a limited resource. If none are available, join the waitlist and check back later. If your instance is waking from hibernation, it usually takes 3-5 minutes and should not take longer than 20 minutes.

help me get my ServiceNow developer instance running

Verify your instance is running

Before moving on, confirm that your instance is accessible and that the Incident Management module is available. This is the module you will configure throughout the project.

  • Confirm you can see the ServiceNow platform interface with the Application Navigator on the left side of the screen.
  • Click the All menu at the top of the Application Navigator to expand it.
  • Type incident in the Filter field at the top of the navigator.
  • Confirm that Incident modules appear in the filtered results (you should see options like Create New, Open, and All under the Incident section).

Don't see the Incident module?

Make sure you typed incident in the Filter field inside the Application Navigator (left side), not in the browser's address bar. If the navigator is collapsed, click All to expand it first.

help me find the Incident module in ServiceNow

Your ServiceNow environment is ready to go. Next up, you will create the assignment groups and add team members who will handle incoming support tickets.

Configure Assignment Groups and Users

Your ServiceNow instance is up and running. Now it's time to organize how incoming tickets will be handled by creating the teams that receive them.

In a real IT department, different teams handle different types of issues. Assignment groups in ServiceNow represent these teams. You'll create two groups (Hardware Support and Software Support) so that tickets can be routed to the right people automatically in the next step.

In this step, get ready to:
  • Create a Hardware Support assignment group with team members.
  • Create a Software Support assignment group with team members.
  • Verify both groups are configured correctly.
Create the Hardware Support assignment group

Assignment groups are the foundation of ticket routing. Each group represents a team that handles a specific type of work.

  • In the Application Navigator on the left, type User Administration in the filter field.
  • Navigate to All > User Administration > Groups.
  • Click New to create a new group.
  • In the Name field, type Hardware Support.
  • Leave the Type field as its default value.
  • Click Submit.

What is an assignment group?

An assignment group is a collection of users who share responsibility for a type of work. When a ticket is assigned to a group, any member of that group can pick it up and work on it.

Think of it like a department mailbox. Emails land in the shared inbox, and individual team members claim and resolve them.

Now you need to add team members to the group. Your PDI comes pre-loaded with demo users you can use.

  • In the Groups list, click Hardware Support to open the group record.
  • Scroll down to the Group Members related list.
  • Click the Edit... button.
  • A slushbucket (two-panel selector) appears. Use the search field on the left to find demo users.
  • Select 2-3 users from the left panel and click the arrow button to move them to the right panel.
  • Click Save.

Finding demo users in the slushbucket

Only the first 100 records load in the slushbucket at a time. If you don't see many users listed, type a letter in the search field to filter the list. Any demo user works for this project.

You should now see your selected users listed under the Group Members related list for the Hardware Support group.

Create the Software Support assignment group

Your second group handles software-related tickets. The process is the same as before, but with a different name and different members.

  • Navigate to All > User Administration > Groups.
  • Click New.
  • In the Name field, type Software Support.
  • Click Submit.
  • In the Groups list, click Software Support to open the group record.
  • Scroll down to the Group Members related list.
  • Click the Edit... button.
  • Select 2-3 different demo users (not the same ones you added to Hardware Support) and move them to the right panel.
  • Click Save.

Why use different members for each group?

In a real organization, hardware and software teams have distinct skill sets. Keeping the groups separate here simulates that separation. It also makes it easy to verify that your automatic routing rules work correctly in the next step.

Verify both groups exist
  • Navigate to All > User Administration > Groups.
  • In the search field above the list, type Support and press Enter to filter the list.
  • Confirm that both Hardware Support and Software Support appear in the results.
  • Click into each group and verify that the Group Members related list shows 2-3 members.

Don't see your groups in the list?

Make sure you clicked Submit (not just Save) when creating each group. In ServiceNow, Submit creates the record and returns you to the list. Save keeps you on the same form.

If you see the groups but no members, open the group and check the Group Members related list. Click Edit... and make sure you moved users to the right panel before clicking Save.

Still stuck? Help me troubleshoot my assignment groups in ServiceNow.

Your two support teams are ready to go. Next up, you'll create assignment rules that automatically route incoming tickets to the correct group based on the issue category.

Create Assignment Rules for Automatic Routing

You now have two support teams ready to work. But when a new ticket comes in, how does it reach the right team? Without automation, someone has to manually read each ticket and assign it. That slows everything down.

Assignment rules solve this problem by automatically routing incidents based on conditions you define. In this step, you'll create rules that send Hardware tickets to your Hardware Support group and Software tickets to your Software Support group.

In this step, get ready to:
  • Navigate to the Assignment Rules module.
  • Create a rule that routes Hardware incidents to the Hardware Support group.
  • Create a rule that routes Software incidents to the Software Support group.
Navigate to Assignment Rules

Assignment Rules live under System Policy in the Application Navigator. Each rule watches for a specific condition on a record and assigns it to a group or user when that condition is met.

  • In the Application Navigator on the left, type assignment in the filter field.
  • Navigate to All > System Policy > Rules > Assignment Rules.
  • You will see a list of existing assignment rules. Some may already exist from the demo data on your instance.

Why Assignment Rules instead of Advanced Work Assignment?

ServiceNow offers an enterprise feature called Advanced Work Assignment that routes tickets based on agent capacity and skills. For learning the fundamentals of incident routing, standard Assignment Rules are the right starting point.

Standard Assignment Rules are what entry-level ServiceNow admins configure most often. They are simpler to set up and easier to troubleshoot.

Create a rule for Hardware incidents

This rule will watch every new incident. When the category is Hardware, it assigns the ticket to your Hardware Support group automatically.

  • Click New at the top of the Assignment Rules list.
  • Set Name to Route Hardware Incidents.
  • Set Table to Incident [incident].
  • In the Conditions section, set the condition to: Category is Hardware.
  • In the Assignment section, set Assignment group to Hardware Support.
  • Set Order to 100.
  • Click Submit.

What does the Order field do?

When multiple assignment rules could match the same record, ServiceNow fires them in order from lowest to highest. Setting your Hardware rule to 100 and your Software rule to 200 means the Hardware rule is evaluated first.

Spacing the numbers apart (100, 200 instead of 1, 2) gives you room to insert new rules between them later without renumbering everything.

Don't see the Conditions section?

Make sure you have set the Table field first. The Conditions section only appears after a table is selected. If the field is blank, type Incident and select Incident [incident] from the dropdown.

Help me find the Conditions section on the Assignment Rule form.

Create a rule for Software incidents

Now create a second rule that routes Software-category incidents to your Software Support group.

  • Click New at the top of the Assignment Rules list.
  • Set Name to Route Software Incidents.
  • Set Table to Incident [incident].
  • In the Conditions section, set the condition to: Category is Software.
  • In the Assignment section, set Assignment group to Software Support.
  • Set Order to 200.
  • Click Submit.

After submitting, you should be back on the Assignment Rules list. Both Route Hardware Incidents and Route Software Incidents should appear in the list.

Filter the list to find your rules

If you have many assignment rules in the list, use the column header search fields to filter. Click the search icon on the Name column and type Route to quickly find both of your new rules.

Only seeing one rule in the list?

Double-check that you clicked Submit (not Update) on both rules. If you accidentally edited an existing rule instead of creating a new one, navigate back to All > System Policy > Rules > Assignment Rules and click New to start fresh.

Help me verify my assignment rules are set up correctly.

Your automatic routing is now in place. In the next step, you'll create real incidents and watch them land in the correct team's queue without any manual assignment.

Create and Manage Incidents Through the Lifecycle

Your assignment groups are staffed and your routing rules are active. Now it is time to put them to the test by creating real incidents and watching them flow through the system automatically.

In this step, you will create incidents that trigger your assignment rules and then walk one ticket through the full Incident Lifecycle. This lifecycle (New, In Progress, Resolved, Closed) is the core workflow every help desk analyst follows daily.

In this step, get ready to:
  • Create test incidents and verify automatic routing to the correct team.
  • Walk an incident through the full lifecycle from New to Resolved.
Create a test Hardware incident

The first incident simulates a hardware issue that should automatically route to your Hardware Support group.

  • In the Application Navigator, type incident and navigate to All > Incident > Create New.
  • Set Caller to any demo user from the dropdown.
  • Set Short description to Laptop screen flickering.
  • Set Category to Hardware.
  • Set Impact to 2 - Medium.
  • Set Urgency to 2 - Medium.
  • Click Submit.

Now verify that the assignment rule fired correctly.

  • Navigate to All > Incident > All and open the incident you just created.
  • Check the Assignment group field. It should be automatically set to Hardware Support.

What just happened?

When you submitted the incident with Category set to Hardware, ServiceNow evaluated your assignment rules in order. Your "Route Hardware Incidents" rule (Order 100) matched the condition and automatically populated the Assignment group field.

This is the power of assignment rules. In a real help desk, tickets route to the right team without anyone manually triaging them.

Create a test Software incident

This second incident tests that your Software routing rule works independently from the Hardware rule.

  • Navigate to All > Incident > Create New.
  • Set Caller to any demo user.
  • Set Short description to Cannot access email application.
  • Set Category to Software.
  • Set Impact to 2 - Medium.
  • Set Urgency to 3 - Low.
  • Click Submit.
  • Open the incident from All > Incident > All and verify the Assignment group is set to Software Support.

Assignment group is blank?

If the Assignment group field is empty after submitting, check these common causes:

  • Make sure your assignment rule's Table field is set to Incident [incident], not another table.
  • Confirm the condition in your rule matches the exact Category value you selected on the incident form.
  • Check that your rule is marked Active (open the rule and verify the Active checkbox is ticked).

My incidents are not routing automatically. Help me troubleshoot my assignment rules.

Walk an incident through the full lifecycle

Real tickets do not stay in the New state forever. Support analysts pick them up, investigate, and resolve them. You will now simulate this workflow by moving your Hardware incident through each lifecycle state.

What are lifecycle states?

Every incident in ServiceNow moves through a defined set of states: New (just created), In Progress (being worked on), Resolved (fix applied), and Closed (confirmed complete). This structured flow ensures every ticket is tracked from start to finish.

Start by moving the incident to In Progress.

  • Navigate to All > Incident > All and open the "Laptop screen flickering" incident.
  • Change the State field from New to In Progress.
  • Set the Assigned to field to a specific user from the Hardware Support group.
  • Scroll down to the Activities section at the bottom of the form.
  • Select Work notes and type Investigating display driver issue.
  • Click Save (not Submit, so you stay on the record).

What are work notes?

Work notes are internal comments visible only to the support team. They document investigation steps and troubleshooting progress. Customers do not see work notes. "Additional comments" is the field for customer-facing updates.

Now resolve the incident.

  • On the same incident record, change the State field to Resolved.
  • Set Resolution code to Solved (Permanently).
  • In the Resolution notes field, type Updated display driver to latest version.
  • Click Save.

Your incident should now show a State of Resolved. The incident will automatically move to Closed after a configured period, or you can manually close it.

Why not close it immediately?

In production environments, resolved incidents stay in a "Resolved" state for a holding period. This gives the caller time to confirm the fix actually worked before the ticket is officially closed. If the issue reoccurs, the same ticket can be reopened instead of creating a duplicate.

Your incidents are flowing through the system exactly like a real help desk. Next up, you will build a dashboard to visualize all this ticket data at a glance.

Build a Help Desk Dashboard

Your incidents are now routing automatically and progressing through their lifecycle. But a help desk manager needs to monitor all this activity at a glance, not by opening individual tickets one at a time.

In this step, you will build a reporting dashboard that gives you instant visibility into your help desk operations. You will create two reports and combine them on a single dashboard page.

In this step, get ready to:
  • Create two incident reports (a pie chart and a bar chart).
  • Build a dashboard named "IT Help Desk Overview".
  • Add your reports as widgets to the dashboard.
Create incident reports

Reports in ServiceNow let you visualize data from any table on the platform. You will create two reports that pull from the Incident table to show priority breakdown and team workload.

Start with the first report, a pie chart showing open incidents grouped by priority.

  • In the Application Navigator, type Reports.
  • Under Reports, click Create New.
  • The Report Designer opens. In the Data tab, set Source type to Table.
  • Set Table to Incident.
  • In the Type tab, select Pie as the chart type.
  • In the Configure tab, set Group by to Priority.
  • Add a filter condition: State is not Resolved.
  • Add a second filter condition: State is not Closed.
  • Set the report name to Open Incidents by Priority.
  • Click Save.

What do these filters do?

The two filter conditions (State is not Resolved, State is not Closed) ensure this report only shows tickets that still need attention. Resolved and closed incidents are excluded so the chart reflects current workload.

You should see a pie chart rendered with data from your test incidents. The Software incident (which is still open) should appear in the chart.

Don't see any data in the pie chart?

If your pie chart is empty, check that the Hardware incident is still in the Resolved state. Since this report filters out Resolved and Closed incidents, only the Software incident (which is still in a New or In Progress state) should appear.

If both incidents were resolved or closed, create a new test incident with a different state to generate chart data.

Why is my pie chart empty even though I have incidents?

Now create the second report, a bar chart showing incidents grouped by assignment group.

  • In the Application Navigator, type Reports and click Create New again.
  • In the Data tab, set Source type to Table.
  • Set Table to Incident.
  • In the Type tab, select Bar as the chart type.
  • In the Configure tab, set Group by to Assignment group.
  • Set the report name to Incidents by Assignment Group.
  • Click Save.

You should see a bar chart with bars for Hardware Support and Software Support, reflecting the incidents you created in the previous step.

Why no filter on this report?

This report shows all incidents regardless of state. It gives you a picture of total workload per team, including resolved tickets. This is useful for understanding which team handles the most volume over time.

Create the Help Desk dashboard

A dashboard brings multiple reports together on a single page. This is what a help desk manager would open each morning to check the team's status.

  • In the Application Navigator, type Dashboards.
  • Under Self-Service, click Dashboards.
  • Click Create a dashboard.
  • Set Name to IT Help Desk Overview.
  • Set Group to Incident.
  • Click Save.
  • Click the View Dashboard related link to open the dashboard editor.

What is the Group field?

The Group field categorizes your dashboard alongside related dashboards. ServiceNow includes baseline groups like Incident, Problem, and SLA. Setting yours to Incident keeps it grouped with other incident-related dashboards for easy discovery.

Don't see the Create a dashboard option?

Make sure you navigated to the correct module. Type Dashboards in the Application Navigator and look under Self-Service. The option may also appear as a button or link in the dashboard controls at the top of the page.

Help me find the Create a dashboard option in ServiceNow

Add reports to the dashboard

Your dashboard is created but currently empty. Now you will add both reports as widgets so they display side by side.

  • On the dashboard editor, click the Add Widgets icon.
  • In the widget pane, filter by Reports.
  • Find and add Open Incidents by Priority.
  • Find and add Incidents by Assignment Group.
  • Arrange the widgets on the dashboard canvas so both are visible.

You should now see your IT Help Desk Overview dashboard displaying a pie chart of open incidents by priority and a bar chart of incidents by assignment group.

Reports not showing data on the dashboard?

If a widget appears blank, click the widget's refresh icon. Dashboard widgets sometimes need a manual refresh to load report data for the first time.

If the report still shows no data, go back to the report directly (via the Application Navigator) and confirm it displays data when run on its own.

Why are my dashboard widgets showing blank charts?

Why dashboards matter for ITSM

In a real IT department, dashboards like this are displayed on wall-mounted screens so the team can spot bottlenecks instantly. A spike in one priority level or one team's workload triggers action before tickets pile up.

Secret mission

Add SLA Policies and Escalation Notifications

Your help desk is routing tickets to the right teams. But what happens when a ticket sits too long without resolution? In this secret mission, you will configure a Service Level Agreement that enforces a 24-hour resolution window for Priority 3 incidents and set up an escalation notification that fires when the SLA is breached.

Clean Up Your Resources

Clean Up Your Resources

This project runs entirely on a free ServiceNow Personal Developer Instance, so there are no ongoing costs. Decide whether to keep your resources running, pause them to come back later, or delete them entirely.

Resources you used:

  • ServiceNow Personal Developer Instance (PDI) containing all your configuration: assignment groups, assignment rules, incidents, reports, dashboard, SLA definition, and notification.

Everything lives on your PDI

All the resources you created in this project (Hardware Support and Software Support groups, assignment rules, the IT Help Desk Overview dashboard, reports, incidents, and SLA configuration) are stored on your PDI. Releasing your PDI removes all of them at once.

Keep everything running

No action needed. Choose this if you want to keep exploring ServiceNow or building on your help desk configuration.

  • Your PDI stays active as long as you sign in to the Developer Site at least once every 10 days.
  • If your instance is reclaimed due to inactivity, you can request a new one (but your configuration will be gone).
  • There is no cost to keep your PDI running.

Pause - I'll come back to this later

Your PDI automatically hibernates after a period of idle time. Your data and configuration are preserved.

  • Sign in to the Developer Site at least once every 10 days to prevent your instance from being reclaimed.
  • When you return, wake your instance by signing in to the Developer Site. It usually takes 3-5 minutes to wake up.
  • All your assignment groups, rules, reports, dashboard, and SLA configuration will still be there.

Delete - I don't want to use this again

Remove your PDI entirely and start fresh if you ever want a new one.

  • Sign in to the Developer Site at developer.servicenow.com.
  • Click Manage my Instance.
  • Click Action, then select Release Instance.
  • Confirm the release. All configuration, data, and customizations on the instance will be permanently deleted.
  • If you need a fresh instance later, you can request a new one after waiting 15 minutes.

Nice Work!

Nice Work!

You just built a fully functional IT Help Desk ticketing system on ServiceNow. This is the same platform that thousands of companies rely on to manage their IT support operations every day.

You've learned how to:

  • Configured assignment groups and assignment rules that automatically route incidents to the correct support team based on category.
  • Created and managed incidents through the full ITSM lifecycle (New, In Progress, Resolved, and Closed) with work notes and resolution details.
  • Built a reporting dashboard with pie and bar chart visualizations for help desk monitoring.
  • Secret Mission: Configured SLA policies with breach notifications to enforce ticket resolution timelines.

Ready to quiz yourself?