--- title: Workforce Optimization for Field Service components description: Several types of components are installed with activation of the Workforce Optimization for Field Service \(com.snc.app\_fsm\_wfo\) plugin, including user roles, key performance indicators \(KPIs\), scheduled jobs, properties, and tables. locale: en-US canonical_url: https://www.servicenow.com/docs/r/australia/field-service-management/components-wfo-fsm.html release: australia topic_type: reference last_updated: "2026-03-12" reading_time_minutes: 14 breadcrumb: [Components installed with additional plugins, Reference, Field Service Management] --- # Workforce Optimization for Field Service components Several types of components are installed with activation of the Workforce Optimization for Field Service \(com.snc.app\_fsm\_wfo\) plugin, including user roles, key performance indicators \(KPIs\), scheduled jobs, properties, and tables. ## Workforce Optimization for Field Service
| Role title \[name\] | Description | Contains roles |
|---|---|---|
| Workforce Optimization User \[sn\_wfo.user\] | Grants read access to primary group and additional managers. | pa\_analyst |
| Workforce Optimization Admin \[sn\_wfo\_fsm.admin\] | Grants administrative rights to create, read, update, and delete \(CRUD\) additional managers. | sn\_wfo.user |
| Workforce Optimization FSM Manager \[sn\_wfo\_fsm.manager \] | Grants rights to create, read, or update, coaching, scheduling, teams, or channel management applications. | - skill\_manager - wm\_manager - sn\_wfo\_cfg\_ws.manager - sn\_shift\_planning.admin - sn\_customerservice\_manager - sn\_wfo.user - sn\_channel\_mgmt.user - sn\_coaching.coach - sn\_sre.user - sn\_team\_perf.team\_performance\_user |
| Workforce Optimization FSM Admin \[sn\_wfo\_fsm.admin \] | Grants administrative rights to create, read, update, and delete \(CRUD\) coaching, scheduling, teams, or channel management applications. | - agent\_schedule\_admin - sn\_wfo\_fsm.manager - sn\_coaching\_admin |
| Role title \[name\] | Description | Contains roles |
|---|---|---|
| Shift Planning User \[sn\_shift\_planning.user\] | Grants read access for scheduling including the ability to view schedules and shifts. | |
| Shift Planning Agent \[sn\_shift\_planning.agent\] | Grants agents access to their calendar and request shift swap or time-off. | sn\_shift\_planning.user |
| Shift Planning Admin \[sn\_shift\_planning.admin\] | Grants administrative access to create, read, update, and delete \(CRUD\) schedules and work shifts. | - sn\_shift\_planning.approver - sn\_shift\_planning.user - sn\_shift\_planning.agent |
| Property | Description |
|---|---|
| sn\_shift\_planning.number\_of\_days\_to\_cache | Number of days to cache agent schedules.- **Type:** Integer - **Default value:** 5 |
| sn\_shift\_planning.enable\_schedule\_adherence | Calculates and displays schedule adherence information for your agents.- **Type:** Boolean - **Default value:** True |
| sn\_shift\_planning.early\_clockin\_threshold | Threshold settings indicate how many minutes early or late an agent can clock-in or clock-out from the scheduled time without being considered non-adherent. This is the acceptable duration of time flexibility for an agent to start work before the scheduled start time. - **Type:** Integer - **Default value:** 60 min |
| sn\_shift\_planning.adherence\_threshold | Sets the percentage for a threshold in adherence. The agents who do not qualify as above the defined threshold value \(70%\) are considered non-adherent agents. - **Type:** Integer - **Default value:** 70% |
| sn\_shift\_planning.conformance\_lower\_threshold | Set the lower threshold percentage for flexibility in conformance. The agents who do not qualify for the defined lower and upper conformance threshold values \(80-120\) are considered non-conformant agents. - **Type:** Integer - **Default value:** 80% |
| sn\_shift\_planning.conformance\_upper\_threshold | Sets the upper threshold percentage for flexibility in conformance. The agents who do not qualify for the defined lower and upper conformance threshold values \(80-120\) are considered non-conformant agents.- **Type:** Integer - **Default value:** 120% |
| sn\_shift\_planning.auto\_clockout\_threshold | Threshold time for the system to wait and generate automatic clock-out events when agents forget to clock-out. For example, if the threshold is set to 60 minutes and an agent's planned work shift is 8 a.m. to 5 p.m. but the agent fails to clock out at 5 p.m., the system waits for 60 minutes and then generates an automatic clock-out event. - **Type:** Integer - **Default value:** 60 min |
| sn\_fsm\_disp\_wrkspc.agent\_shift\_schdlng\_event\_color | Enables the default colors configured for each event type to display the same event spans with same color in Dispatcher Workspace.**Note:** You must select a dynamic value to display the selected color of workforce optimization events in Dispatcher Workspace. - **Type:** String - **Default value:** static |
| Name | Description |
|---|---|
| Shift Planning - Delete All Agent Schedules Cache | Deletes cache from the sn\_shift\_planning\_agent\_availability table.- Runs automatically everyday at 2:30 a.m. - Run this job on demand when you import data. |
| Clock-out event generation \(For scenarios where the clock-out event does not get triggered\) | Generates clock-out events every 4 hours if agents haven't clocked out. **Note:** For example, say an agent's work shift times are from 8 a.m. to 5 p.m. and the **sn\_shift\_planning.auto\_clockout\_threshold** property value is set to 60 minutes. If the agent clocks in and fails to clock out, the scheduled job waits till 6 p.m. \(5 p.m.+60 minutes\) and if there is no clock out till 6 p.m., the system generates a clock-out event with the agent's shift end time. |
| Populate Agent Time Worked Summary | Runs daily to calculate the time worked, adherence, and conformance based on an agent's planned and actual work shift times for the previous day. The values are stored in the \[sn\_shift\_planning\_time\_worked\_summary\] table. |
| Update Wrapper End Time for Actual Work Events | Runs daily to make sure the actual work wrapper end-time is equal to last clock-out time. |
| \[Schedule Adherence\] Daily Data Collection | Runs the job daily and collects data for all teams indicators. |
| \[Schedule Adherence\] Historic Data Collection | Runs the job and collects historic data for all teams indicators. |
| \[Schedule Adherence\] Weekly Data Collection | Runs the job weekly and collects data for all indicators in Manager Workspace. |
| Role title \[name\] | Description | Contains roles |
|---|---|---|
| Teams User \[sn\_team\_perf.team\_performance\_user\] | Grants access to read KPI tables. | - sn\_wfo.user - pa\_analyst |
| Teams Admin \[sn\_team\_perf.team\_performance\_admin\] | Grants access to create and configure KPIs, KPI groups, and assignment groups in the Teams module. | - sn\_wfo.admin - sn\_team\_perf.team\_performance\_user |
| Property | Description |
|---|---|
| sn\_team\_perf.kpi\_group.max\_parent\_kpis | The maximum number of parent indicators that you can add to one KPI group.- **Type:** Integer - **Default value:** 5 |
| sn\_team\_perf.kpi\_group.max\_supporting\_kpis | The maximum number of supporting KPIs you can define for a parent KPI.- **Type:** Integer - **Default value:** 10 |
| sn\_team\_perf.ws.max\_assignment\_groups | The maximum number of assignment groups prioritized by order number to display on the Teams application in Manager Workspace.- **Type:** Integer - **Default value:** 15 |
| sn\_team\_perf.default\_date\_range | The default date range set in the date range picker.- **Type:** Integer - **Default value:** 30 |
| Role title \[name\] | Description | Contains roles |
|---|---|---|
| Coaching Admin \[sn\_coaching.admin\] | Grants administrative rights to create, read, update, and delete \(CRUD\) coaching opportunities, assessments, training, and skills. | - sn\_coaching.coach - sn\_lc.learning\_admin |
| Coaching Coach \[sn\_coaching.coach\] | Grants administrative rights to create, read, or update coaching opportunities, assessments, training, and skills. | - sn\_coaching.trainee - pa\_viewer - sn\_lc.catalog\_manager |
| Coaching Trainee \[sn\_coaching.trainee\] | Grants access to add training, assessments, and skill records. | - skill\_user - pa\_viewer - survey\_reader |
| Property | Description |
|---|---|
| sn\_coaching.learning\_default\_duration | Number of days to read a knowledge article or complete training. The admin \(sn\_wfo.admin\) sets the number of days for the trainee to complete reading an article or complete training. The number of days is converted to the due date for the trainee to complete the training. It is calculated from the current date, taking the trainee's time zone into consideration.- **Type:** Integer - **Default value:** 5 |
| sn\_coaching.exclude\_weekends\_on\_training\_due\_date | Excludes weekends when the due date is set for trainees to complete training.- **Type:** true \| false - **Default value:** true |
| Role title \[name\] | Description | Contains Roles |
|---|---|---|
| Learning admin \[sn\_lc.learning\_admin\] | Grants administrative rights to create, read, update, and delete \(CRUD\) catalog, learning content, roles, and configure learning source. | - sn\_lc.catalog\_manager - sn\_hr.integr\_fw.admin |
| Learning catalog manager \[sn\_lc.catalog\_manager\] | Grants administrative rights to create, read, or update learning catalogs. | - sn\_lc.task\_creator - sn\_lc.content\_writer |
| Learning catalog group manager \[sn\_lc.catalog\_group\_manager\] | Grants administrative rights to create, read, or update learning catalogs based on groups. | - sn\_lc.task\_creator - sn\_lc.content\_writer |
| Learning content creator \[sn\_lc.content\_creator\] | Grants administrative rights to create, read, or update internal courses. | sn\_lc.content\_reader |
| Learning content writer \[sn\_lc.content\_writer\] | Grants read or write access for learning courses. | sn\_lc.content\_creator |
| Learning content reader \[sn\_lc.content\_reader\] | Grants read access for learning courses. | none |
| Learning content advisor \[sn\_lc.learning\_advisor\] | Can assign learning tasks. | none |
| Learning task creator \[sn\_lc.task\_creator\] | Grants read or write access for learning tasks. | none |
| Table | Description |
|---|---|
| Learning External Content\[sn\_lc\_external\_content\] | Stores details of external course items pulled from third-party systems. |
| Learning User Course Activity\[sn\_lc\_user\_course\_activity\] | Stores details of learning course activities such as the user to whom the course is assigned, status, due date, and name of the learning course. |
| Learning Content\[sn\_lc\_content\] | Stores details of internal learning content such as knowledge articles or videos that are created in ServiceNow. |
| Learning Course Item\[sn\_lc\_course\_item\] | Stores details of learning course items such as the source to which the learning course belongs. |
| Learning Catalog\[sn\_lc\_catalog\] | Stores details of learning catalog items with its course items. |
| Learning Task\[sn\_lc\_learning\_task\] | Stores details of learning tasks, such as the user to whom the learning task is assigned and the date by which the learning task must be completed. |
| Learning System Configuration\[sn\_lc\_learning\_system\_configuration\] | Stores configuration parameters of third-party learning management system sources. |
| Property | Description |
|---|---|
| glide.ui.sn\_coaching\_assessment\_activity.fields | Edit coaching assessment activities.- **Type:** string - **Default value:** assigned\_to,cmdb\_ci,state,impact,priority,opened\_by,work\_notes,comments,\*Attachments\*,assessment\_of |
| sn\_coaching.recommended\_learning\_deprecated | Coaching recommended trainings is being deprecated and replaced with learning tasks and course items from Coaching With Learning.- **Type:** string - **Default value:** true |
| sn\_coach.lrn.exclude\_weekends\_on\_learning\_task\_due\_date | Enable property to exclude weekends while setting the due date for learning tasks.- **Type:** true\|false - **Default value:** true |
| sn\_coach\_lrn.learning\_list\_menu\_props | Data array properties for the now-list-menu component on the Learning Tasks tab, coaching module.- **Type:** string - **Default value:** script for data array |
| com.glide.transform.json.max-partial-length | Transforms JSON objects to internal objects and sets the word limit for records fetched through an API call.- **Type:** integer - **Default value:** 16384 **Note:** You must add this system property to set the desired value. For more information, see [Add this system property](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/platform-administration/t_AddAPropertyUsingSysPropsList.md). When you synchronize third-party learning content with your ServiceNow instance, if the word count of the content being pulled into your instance exceeds the value set for this property, the synchronization will fail. For more information, see [Integrate Coaching With Learning with third-party learning management systems](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/customer-service-management/integrate-learning-third-party-configurable-wfo-cs.md). |
| com.snc.process\_flow.reporting.serialized.val\_size\_limit | Specify the number of bytes allowed for runtime values in each step in the flow execution details. To prevent truncation, set the value to an integer equal to or less than zero.- **Type:** integer - **Default value:** 16384 **Note:** When you synchronize third-party learning content with your ServiceNow instance, if the word count of the content being pulled into your instance exceeds the value set for this property, the synchronization will fail. For more information, see [synchronize](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/customer-service-management/integrate-learning-third-party-configurable-wfo-cs.md). |
| Role title \[name\] | Description | Contains roles |
|---|---|---|
| Skill Recommendation User \[sn\_sre.user\] | Grants rights to view skill recommendation tables. | wfo.user |
| Skill Recommendation Admin \[sn\_sre.admin\] | Grants administrative rights to edit the properties for skill recommendation. | - wfo.admin - sn\_sre.user |
| Property | Description |
|---|---|
| Enable skill recommendation. sn\_sre.enable\_skill\_recommendation | Enable this property to start recommending skills for agents.- **Type:** true \| false - **Default value:** true |
| Maximum number of skills to predict based on supervised learning. sn\_sre.max\_supervised\_skills | Using supervised learning, the maximum number of skills to predict for each incident ordered by confidence of prediction.- **Type:** Integer - **Default value:** 3 |
| Maximum number of skills to predict based on supervised learning. sn\_sre.max\_unsupervised\_skills | Using unsupervised learning, the maximum number of skills to predict for each incident ordered by confidence of prediction.- **Type:** Integer - **Default value:** 3 |
| Number of times Predictive Intelligence must predict the same skill for an agent before recommending it for the agent. sn\_sre.user\_predicted\_skill\_threshold | The number of times Predictive Intelligence must predict the same skill for an agent before recommending the skill for the agent. - **Type:** Integer - **Default value:** 20 |
| Similarity solution definition to recommend skills from similar tasks. sn\_customerservice.unsupervised\_solution\_definition\_for\_tasks | Name of the Predictive Intelligence solution definition used for predicting skills to resolve tasks using unsupervised learning. If you have created your own solution definition, you can replace the default one with the one you have created.- **Type:** String - **Default value:**ml\_sn\_sn\_customerservice\_global\_recommend\_similar\_skills\_for\_tasks |
| Similarity solution definition to recommend skills for tasks. sn\_customerservice.supervised\_solution\_definition\_for\_tasks | Name of the Predictive Intelligence solution definition used for predicting skills to resolve tasks using supervised learning. If you have created your own solution definition, you can replace the default one with the one you have created.- **Type:** String - **Default value:**ml\_sn\_sn\_customerservice\_global\_recommend\_skills\_from\_similar\_tasks |
| Table | Description |
|---|---|
| User Predicted Skill \[sn\_sre\_user\_predicted\_skill\] | - Stores how many times a skill has been predicted for the user. - Skills not recommended in the last 60 days are automatically deleted from this table. |
| Task Predicted Skill \[sn\_sre\_task\_predicted\_skill\] | - Stores the skills predicted to resolve each type of incident. - Records created over 60 days ago are automatically deleted from this table. |