FSM — Professional Implementation from Scratch to Production
Release baseline: ServiceNow Australia (current GA · Sep 2026)
Audience: Professional Implementers · Platform Admins · Developers · Product Owners · Test Leads
Instance token:{BASE}=https://YOUR_INSTANCE.service-now.com
Related module encyclopedia: ../FSM.md
All implementation guides: INDEX.md
0. Outcome and guardrails
Field Service Management: Plan, dispatch, execute, and verify field work with skills, territories, schedules, inventory, mobile execution, and customer confirmation.
- Confirm product entitlement before plugin activation.
- Build and test in sub-production/PDI; never activate major plugins first in production.
- Prefer out-of-box process/configuration before custom scripts.
- Use Flow Designer for new automation; maintain legacy Workflow only when required.
- Protect data with roles, ACLs, groups, criteria, and persona-based tests.
- Australia is the deployment baseline; Brazil preview/EA is not the production baseline unless your organization explicitly validates it.
1. End-to-end operating model
Discover → Design → Configure → Integrate → Secure → Test → Deploy → Operate → Improve
Module lifecycle: Case / Incident / Maintenance trigger → Work Order → Work Order Tasks → qualification → scheduling/dispatch → travel/work → parts/time → customer sign-off → closure
2. Discovery workshops and scope
Run these workshops before configuration:
| Workshop | Required decisions | Evidence |
|---|---|---|
| Vision and outcomes | business outcomes, KPIs, scope/exclusions | signed charter |
| Process | states, ownership, approvals, exceptions, SLAs | BPMN/process map |
| Data | source of truth, retention, migration, reference data | data dictionary |
| Security | personas, groups, roles, segregation, sensitive fields | access matrix |
| Integration | systems, direction, frequency, failure/replay | interface contract |
| Experience | workspace, portal, mobile, accessibility | persona journeys |
| Reporting | operational vs PA, targets, audiences | KPI catalog |
| Deployment | environments, Update Sets/App Repo, rollback | release plan |
3. Licensing, plugins, and release readiness
Expected products/plugins: Field Service Management; Dispatcher Workspace; Agent Mobile; Dynamic Scheduling (licensed); Inventory/Asset integration
- Open Plugins.
- Confirm entitlement with ServiceNow account/product owner.
- Activate in a non-production instance.
- Review activation logs and newly created roles/modules.
- Capture configuration in a named Update Set where supported.
- Confirm Australia release/build at System Stats.
4. Roles, groups, and security model
Typical roles: wm_admin, wm_manager, wm_dispatcher, wm_agent, inventory_admin
Professional rules:
- Roles → Groups → Users; avoid direct role grants.
- Separate admin/configurer, manager, fulfiller/agent, requester, auditor, and integration personas.
- Test table, row, and field access with impersonation.
- Never treat UI visibility as security; enforce ACL/criteria.
- Record privileged access and quarterly access review.
5. Foundation configuration sequence
- Create reference data and ownership groups.
- Configure states/models/templates before automation.
- Configure assignment/routing and schedules.
- Configure SLAs/entitlements where applicable.
- Configure notifications and knowledge.
- Configure workspace/portal/mobile experience.
- Configure integrations and system properties.
- Build reports and dashboards.
- Build ATF and UAT packs.
- Complete deployment/rollback runbook.
6. All component pages and direct URLs
| Component | Filter Navigator | Direct instance URL | Implementation purpose |
|---|---|---|---|
| Users | All > User Administration > Users | Open direct | Create personas and test users |
| Groups | All > User Administration > Groups | Open direct | Assignment and role groups |
| Roles | All > User Administration > Roles | Open direct | Role model and least privilege |
| Plugins | All > System Definition > Plugins | Open direct | Verify entitlement and activation |
| Update Sets | All > System Update Sets > Local Update Sets | Open direct | Capture configuration |
| Flow Designer | All > Process Automation > Flow Designer | Open direct | Modern process automation |
| ATF | All > Automated Test Framework > Tests | Open direct | Regression tests |
| Reports | All > Reports > View / Run | Open direct | Operational reporting |
| Dashboards | All > Performance Analytics > Dashboards | Open direct | Role-based KPI dashboard |
| Work Orders | All > Field Service > Work Orders | Open direct | Field job header |
| Work Order Tasks | All > Field Service > Work Order Tasks | Open direct | Executable technician work |
| Territories | All > Field Service > Territories | Open direct | Geographic coverage |
| Skills | All > Field Service > Administration > Skills | Open direct | Qualification model |
| Schedules | All > Field Service > Scheduling | Open direct | Availability and shifts |
| Dispatch Groups | All > Field Service > Dispatch Groups | Open direct | Dispatcher ownership |
| Dispatcher Workspace | All > Field Service > Dispatcher Workspace | Open direct | Map and schedule board |
| Assets | All > Asset > Assets | Open direct | Customer/equipment context |
| Stockrooms | All > Inventory > Stockrooms | Open direct | Parts inventory |
| Transfer Orders | All > Asset > Transfer Orders | Open direct | Move parts |
| Mobile App Builder | All > Mobile Apps > Mobile App Builder | Open direct | Technician mobile UX |
Enter your instance once in the HTML header; every {BASE} link then opens the correct page in that instance.
7. Module configuration tutorial
- Open each component in the order shown in §6.
- Create minimum viable reference data and one happy-path record.
- Configure state transitions, assignment, approvals, notifications, and SLAs.
- Validate agent and requester experiences using different personas.
- Add exception paths: rejection, reassignment, cancellation, timeout, integration failure.
- Keep customization decisions in an OOTB-vs-config-vs-custom register.
7.1 Complete settings and configuration control matrix
Use this as the minimum configuration workbook. Add product-specific rows discovered during workshops; do not leave a changed setting without an owner and test.
| Configuration area | What must be configured | Direct page | Verification |
|---|---|---|---|
| Product activation | entitlement, dependencies, activation order | Plugins | module menus and roles appear |
| System properties | module defaults; document every non-OOTB value | Properties | compare export with decision log |
| Tables/Dictionary | required fields, references, choices, indexes | Tables | schema and reference integrity |
| Forms/Lists | views per persona; related lists; mandatory/read-only | Form Layout | impersonate every persona |
| Templates/Models | repeatable record defaults and lifecycle models | Templates | create record from each template |
| Assignment/Routing | rules, groups, skills, queues, fallback owner | Assignment Rules | normal + no-match + overload tests |
| States/Transitions | allowed transitions, closure codes, reopen/cancel | State Models | positive and blocked transitions |
| SLA/Entitlement | start/pause/resume/stop; schedules; breach actions | SLA Definitions | runtime task_sla records |
| Flow/Approvals | trigger, conditions, approvers, timeout, rejection | Flow Designer | execution details show all branches |
| Events/Notifications | event registry, recipients, conditions, templates | Notifications | event/email logs and recipient test |
| Roles/ACLs | table/row/field protection and separation of duties | ACLs | impersonation + unauthorized denial |
| Workspace | lists, forms, declarative actions, landing pages | Experiences | agent persona completes full process |
| Portal/Employee Center | taxonomy, topics, audience, request pages | Employee Center | requester discovers and submits service |
| Integration | aliases, credentials, mappings, retry/replay, monitoring | Connections | success + outage + duplicate tests |
| Data migration | source profile, coalesce keys, transform/reject handling | Transform Maps | reconciliation and reject report |
| Reporting/PA | operational reports, KPI definitions, targets, collectors | Reports | role visibility and KPI reconciliation |
| ATF/UAT | smoke, process, security, integration, regression | ATF | signed pass evidence |
| Deployment | Update Sets/App Repo, preview, commit, rollback, smoke | Update Sets | release checklist and rollback rehearsal |
Configuration rule for FSM: record OOTB default, approved value, owner, rationale, environment, transport method, and test case for every changed setting.
7.2 Component-by-component hands-on labs
Complete every lab below in a non-production instance. These labs cover every module-specific page listed in §6.
Component Lab 1 — Work Orders
Purpose: Field job header
Navigator: All > Field Service > Work Orders — Open direct
Direct: Open Work Orders
- Confirm plugin, role, group, and prerequisite reference data.
- Open the direct page and review OOTB fields, states, related lists, and existing records.
- Create a pilot record named/prefixed
LAB-01where the component supports records. - Configure form/view, states, mandatory fields, assignment, priority, SLA, closure, and reopen rules.
- Test happy path plus reject/cancel/reassign/escalate/timeout/reopen.
- Impersonate requester/agent/manager/admin as applicable; record expected and actual results.
- Capture evidence: URL, sys_id/number, screenshot, configuration decision, owner, and rollback step.
Component Lab 2 — Work Order Tasks
Purpose: Executable technician work
Navigator: All > Field Service > Work Order Tasks — Open direct
Direct: Open Work Order Tasks
- Confirm plugin, role, group, and prerequisite reference data.
- Open the direct page and review OOTB fields, states, related lists, and existing records.
- Create a pilot record named/prefixed
LAB-02where the component supports records. - Configure form/view, states, mandatory fields, assignment, priority, SLA, closure, and reopen rules.
- Test happy path plus reject/cancel/reassign/escalate/timeout/reopen.
- Impersonate requester/agent/manager/admin as applicable; record expected and actual results.
- Capture evidence: URL, sys_id/number, screenshot, configuration decision, owner, and rollback step.
Component Lab 3 — Territories
Purpose: Geographic coverage
Navigator: All > Field Service > Territories — Open direct
Direct: Open Territories
- Confirm plugin, role, group, and prerequisite reference data.
- Open the direct page and review OOTB fields, states, related lists, and existing records.
- Create a pilot record named/prefixed
LAB-03where the component supports records. - Configure ownership, required fields, references, lifecycle, security, and automation for: Geographic coverage.
- Test create/read/update/close and a negative-access case with the correct personas.
- Impersonate requester/agent/manager/admin as applicable; record expected and actual results.
- Capture evidence: URL, sys_id/number, screenshot, configuration decision, owner, and rollback step.
Component Lab 4 — Skills
Purpose: Qualification model
Navigator: All > Field Service > Administration > Skills — Open direct
Direct: Open Skills
- Confirm plugin, role, group, and prerequisite reference data.
- Open the direct page and review OOTB fields, states, related lists, and existing records.
- Create a pilot record named/prefixed
LAB-04where the component supports records. - Configure ownership, required fields, references, lifecycle, security, and automation for: Qualification model.
- Test create/read/update/close and a negative-access case with the correct personas.
- Impersonate requester/agent/manager/admin as applicable; record expected and actual results.
- Capture evidence: URL, sys_id/number, screenshot, configuration decision, owner, and rollback step.
Component Lab 5 — Schedules
Purpose: Availability and shifts
Navigator: All > Field Service > Scheduling — Open direct
Direct: Open Schedules
- Confirm plugin, role, group, and prerequisite reference data.
- Open the direct page and review OOTB fields, states, related lists, and existing records.
- Create a pilot record named/prefixed
LAB-05where the component supports records. - Configure ownership, required fields, references, lifecycle, security, and automation for: Availability and shifts.
- Test create/read/update/close and a negative-access case with the correct personas.
- Impersonate requester/agent/manager/admin as applicable; record expected and actual results.
- Capture evidence: URL, sys_id/number, screenshot, configuration decision, owner, and rollback step.
Component Lab 6 — Dispatch Groups
Purpose: Dispatcher ownership
Navigator: All > Field Service > Dispatch Groups — Open direct
Direct: Open Dispatch Groups
- Confirm plugin, role, group, and prerequisite reference data.
- Open the direct page and review OOTB fields, states, related lists, and existing records.
- Create a pilot record named/prefixed
LAB-06where the component supports records. - Define eligibility, group/queue, skills, capacity, order, and no-match fallback.
- Test normal routing, no qualified agent, capacity full, and reassignment.
- Impersonate requester/agent/manager/admin as applicable; record expected and actual results.
- Capture evidence: URL, sys_id/number, screenshot, configuration decision, owner, and rollback step.
Component Lab 7 — Dispatcher Workspace
Purpose: Map and schedule board
Navigator: All > Field Service > Dispatcher Workspace — Open direct
Direct: Open Dispatcher Workspace
- Confirm plugin, role, group, and prerequisite reference data.
- Open the direct page and review OOTB fields, states, related lists, and existing records.
- Create a pilot record named/prefixed
LAB-07where the component supports records. - Define eligibility, group/queue, skills, capacity, order, and no-match fallback.
- Test normal routing, no qualified agent, capacity full, and reassignment.
- Impersonate requester/agent/manager/admin as applicable; record expected and actual results.
- Capture evidence: URL, sys_id/number, screenshot, configuration decision, owner, and rollback step.
Component Lab 8 — Assets
Purpose: Customer/equipment context
Navigator: All > Asset > Assets — Open direct
Direct: Open Assets
- Confirm plugin, role, group, and prerequisite reference data.
- Open the direct page and review OOTB fields, states, related lists, and existing records.
- Create a pilot record named/prefixed
LAB-08where the component supports records. - Configure ownership, required fields, references, lifecycle, security, and automation for: Customer/equipment context.
- Test create/read/update/close and a negative-access case with the correct personas.
- Impersonate requester/agent/manager/admin as applicable; record expected and actual results.
- Capture evidence: URL, sys_id/number, screenshot, configuration decision, owner, and rollback step.
Component Lab 9 — Stockrooms
Purpose: Parts inventory
Navigator: All > Inventory > Stockrooms — Open direct
Direct: Open Stockrooms
- Confirm plugin, role, group, and prerequisite reference data.
- Open the direct page and review OOTB fields, states, related lists, and existing records.
- Create a pilot record named/prefixed
LAB-09where the component supports records. - Configure ownership, required fields, references, lifecycle, security, and automation for: Parts inventory.
- Test create/read/update/close and a negative-access case with the correct personas.
- Impersonate requester/agent/manager/admin as applicable; record expected and actual results.
- Capture evidence: URL, sys_id/number, screenshot, configuration decision, owner, and rollback step.
Component Lab 10 — Transfer Orders
Purpose: Move parts
Navigator: All > Asset > Transfer Orders — Open direct
Direct: Open Transfer Orders
- Confirm plugin, role, group, and prerequisite reference data.
- Open the direct page and review OOTB fields, states, related lists, and existing records.
- Create a pilot record named/prefixed
LAB-10where the component supports records. - Configure ownership, required fields, references, lifecycle, security, and automation for: Move parts.
- Test create/read/update/close and a negative-access case with the correct personas.
- Impersonate requester/agent/manager/admin as applicable; record expected and actual results.
- Capture evidence: URL, sys_id/number, screenshot, configuration decision, owner, and rollback step.
Component Lab 11 — Mobile App Builder
Purpose: Technician mobile UX
Navigator: All > Mobile Apps > Mobile App Builder — Open direct
Direct: Open Mobile App Builder
- Confirm plugin, role, group, and prerequisite reference data.
- Open the direct page and review OOTB fields, states, related lists, and existing records.
- Create a pilot record named/prefixed
LAB-11where the component supports records. - Configure persona landing page, lists, forms, actions, navigation, and audience.
- Validate desktop/mobile accessibility and complete the process by impersonation.
- Impersonate requester/agent/manager/admin as applicable; record expected and actual results.
- Capture evidence: URL, sys_id/number, screenshot, configuration decision, owner, and rollback step.
8. Integration architecture
CSM/ITSM trigger; GIS/maps; fleet/telematics; inventory/ERP; IoT/predictive maintenance; SMS customer appointment notifications.
For every interface define:
| Control | Requirement |
|---|---|
| Authentication | OAuth 2.0 / credential record; no secrets in scripts |
| Authorization | dedicated integration role and least privilege |
| Idempotency | correlation key and duplicate protection |
| Reliability | retries, timeout, dead-letter/replay |
| Observability | transaction log, alert, owner, runbook |
| Data | schema, mandatory fields, privacy classification |
| Test | positive, negative, volume, retry, unauthorized |
Direct: Scripted REST · REST Messages · Connections
9. Reporting and Performance Analytics
KPIs: First-time fix, utilization, travel time, schedule adherence, mean time to repair, parts consumption, repeat visit, customer satisfaction.
- Build operational reports first.
- Create role-based dashboard.
- Add PA indicators/targets only when licensed and historical trend is required.
- Validate report sharing and underlying ACLs.
Direct: Create Report · Reports · Dashboards · PA Indicators
10. Testing strategy
| Test layer | Minimum coverage |
|---|---|
| Configuration | states, mandatory fields, templates, routing |
| Security | every persona + negative access |
| Process | happy path + rejection/cancel/timeout/reopen |
| SLA/entitlement | start, pause, resume, stop, breach |
| Integration | auth, mapping, duplicate, retry, outage |
| Experience | classic/workspace/portal/mobile as licensed |
| Regression | ATF smoke suite after update/upgrade |
| UAT | signed scenarios and traceability |
Direct: ATF Tests · ATF Suites
11. Deployment from development to production
- Freeze scope and configuration.
- Peer-review Update Set/App Repo contents.
- Promote to test; Preview before Commit.
- Resolve collisions deliberately.
- Run ATF, security, integration, and UAT evidence.
- Prepare data migration/cutover and communications.
- Approve change record and rollback plan.
- Deploy in agreed window.
- Execute smoke tests and monitor.
- Handover support ownership/runbooks.
Direct: Local Update Sets · Retrieved Update Sets · Upgrade History
12. Hands-on implementation lab
This full lab program covers platform readiness, security, all settings, module configuration, exception handling, experience, integration, data, reporting, testing, deployment, and operations.
Lab 0 — Instance and release readiness
- Confirm Australia build at System Stats.
- Verify entitlement/dependencies at Plugins.
- Create Update Set
LAB-MODULE-FOUNDATION. - Record baseline screenshots/properties and rollback owner.
Lab 1 — Personas, groups, roles, and security
- Create requester, fulfiller/agent, manager, admin, auditor, and integration test users.
- Create functional groups and grant roles to groups.
- Build the role/access matrix and validate it through impersonation.
- Test one unauthorized read and one unauthorized update.
Direct: Users · Groups · Roles · ACLs
Lab 2 — Module core happy path
Execute these module-specific steps:
- Create territory, dispatch group, agent, schedule, and two skills.
- Create customer location/asset and one Work Order with two tasks.
- Set required skills and parts; run assignment/scheduling.
- Dispatch in workspace; execute task in mobile persona.
- Record travel, work duration, consumed part, notes, and signature.
- Close tasks/order and validate inventory and reporting updates.
Lab 3 — Settings and exception paths
- Complete every row in the settings workbook (§7).
- Test missing mandatory data, invalid transition, reassignment, cancellation, rejection, timeout, and reopen.
- Verify fallback assignment and ownership when no rule matches.
- Confirm system properties differ correctly by environment.
Lab 4 — Automation, SLA, and notifications
- Create/validate Flow trigger and all branches.
- Configure approval timeout and escalation.
- Validate SLA start/pause/resume/stop and breach.
- Validate event registry, notification conditions, recipients, and email log.
Direct: Flow Designer · SLA · Notifications · Email Log
Lab 5 — Workspace, portal, and mobile
- Configure persona lists/forms/actions.
- Publish requester content/service where applicable.
- Complete one end-to-end transaction as requester and fulfiller.
- Validate accessibility, empty state, error state, and mobile behavior when licensed.
Lab 6 — Integration and migration
- Define contract/schema, correlation key, authentication, and ownership.
- Configure Connection Alias/Credential and environment property.
- Test success, invalid payload, unauthorized, duplicate, timeout, retry, and replay.
- Load a small migration file; validate coalesce, rejects, and reconciliation.
Direct: REST Explorer · Scripted REST · REST Messages · Transform Maps
Lab 7 — Reports, dashboard, and PA
- Build volume, backlog, aging, SLA/target, exception, and trend reports.
- Build manager/agent/executive dashboard variants.
- Validate sharing roles and source ACL behavior.
- If licensed, configure PA indicator source, collector, breakdown, target, and widget.
Lab 8 — ATF, UAT, and regression
- Create smoke suite for create, route, progress, resolve/close.
- Add security negative tests and core exception branches.
- Execute UAT by persona and link defects to scenarios.
- Export pass evidence and define upgrade regression suite.
Lab 9 — Deployment and hypercare
- Preview Update Set in test and resolve all collisions.
- Run ATF/UAT/integration/security checks.
- Execute approved change and production smoke tests.
- Monitor 24–72 hours; document defects, owners, SLA, and rollback decision.
- Handover admin guide, fulfiller guide, dashboard, and support runbook.
Lab evidence: screenshots, record numbers, test-user results, Update Set, ATF result, dashboard, and rollback note.
13. Production operations
- Daily: queue/backlog, failures, SLAs, integration errors.
- Weekly: aging, throughput, exceptions, knowledge gaps.
- Monthly: KPIs, adoption, automation candidates, access exceptions.
- Quarterly: role review, retention, controls, upgrade readiness.
14. Definition of Done
- [ ] Entitlement/plugins and Australia compatibility confirmed
- [ ] Every §6 component lab completed with evidence
- [ ] Every §7 settings row has approved value, owner, transport, and test
- [ ] Signed scope, process, data, security, integration, KPI decisions
- [ ] Roles granted through groups and negative security tests passed
- [ ] Reference data, process, routing, SLA/entitlement configured
- [ ] Workspace/portal/mobile experience validated as applicable
- [ ] Integration controls and failure handling tested
- [ ] Reports/dashboard accepted by product owner
- [ ] ATF smoke + UAT + performance checks passed
- [ ] Deployment, rollback, support, and monitoring runbooks approved
- [ ] Knowledge transfer and operational ownership completed
15. 30/60/90-day maturity roadmap
| Window | Focus |
|---|---|
| Day 0–30 | stabilize, adoption, defects, backlog and data quality |
| Day 31–60 | tune routing/SLAs, automate repeated work, expand reporting |
| Day 61–90 | PA targets, optimization, governance, upgrade regression |