Plans and permissions:
- Connect ServiceNow: Admin role, or a custom role with Configure third-party integrations set to Can configure third-party integrations
- Import team members from ServiceNow: Admin or Manager role, or a custom role with Manage team set to Create, edit, or delete any person or Create, edit, or delete certain people
Use the ServiceNow integration to bring operational data from your ServiceNow instance into Assembled, so you can track real-time adherence, build forecasts, and report on performance. Assembled reads two kinds of data: presence data, for adherence and intraday monitoring, and work items such as tasks and cases, for volume, handle time, staffing, and queues. The integration is read-only: Assembled never writes to ServiceNow.
To connect it, go to Configure > Third-party integrations, select Available, and find ServiceNow.
How the ServiceNow integration works
Agent states
| Detail | How it works |
|---|---|
| Source | Advanced Work Assignment (AWA) presence history, in the awa_agent_presence_history table |
| How often | About every 30 seconds |
| History | Not loaded. Agent states are only available from when you connect, so plan ahead if you need adherence history from before then. |
| Requirement | Your instance must record AWA presence. If it doesn’t, adherence based on agent states won’t work until your ServiceNow setup changes or you agree on another approach with our team, such as reliable time worked data. |
When ServiceNow reports an Offline presence, Assembled uses its own Offline state, so offline time looks the same as on your other platforms.
Work items
| Detail | How it works |
|---|---|
| Tables | Set up for your instance. Most customers use task-based tables, such as tasks, interactions, and their own case tables. Other tables, such as incidents or service requests, may need a schema review with your ServiceNow admin and our team before go-live. |
| How syncing works | Assembled reads records updated since the last sync, using sys_updated_on. |
| How often | Every 5 minutes. Each sync looks back an extra 30 minutes, so records that ServiceNow is slow to update aren’t missed. |
| History | Loaded when you connect, as long as the records exist and your OAuth credentials can read the tables. |
Assembled maps common ServiceNow fields onto cases: created and updated times, status, assignee, channel (from the contact type, where there is one), assignment group, and other details you can use in queue rules.
Time worked
Assembled can also read time worked records from a ServiceNow time-tracking table, to add to adherence and handle time when presence alone isn’t enough. This sync runs about every 30 seconds. Whether it applies depends on your ServiceNow schema, and our team sets it up during implementation.
Team members
Assembled finds team members among your ServiceNow user records, matched by email, in the user group you give when you connect. Users without an email in ServiceNow may not map to people in Assembled.
Where each setting is configured
ServiceNow setups vary widely. The integration adapts to your instance, but some of it is set up with our team rather than on your own:
| Setting | Where it’s configured |
|---|---|
| Instance URL, API URL, OAuth domain, OAuth client ID and secret, and group ID | The connection form in Assembled |
| Which ServiceNow tables to sync for work items | By our team, for your company |
| Queue rules | Configure > Queues and exclusions, using ServiceNow properties |
| The time worked table, if you use it | By our team, during implementation |
Where ServiceNow data shows in Assembled
| Area | ServiceNow data |
|---|---|
| Monitor > Real-time agent analysis | Agent states and adherence |
| Configure > Queues and exclusions | Incoming work items, routed to channels and queues by your rules |
| Forecasting and staffing | Historical work item volume |
| Reports | Handle time, volume, and performance, where set up |
| Manage team > People management | Team members linked to their ServiceNow user IDs |
Prepare ServiceNow
Assembled connects with OAuth (server to server), using a client ID and client secret from your ServiceNow instance. Assembled stores them securely and uses them for every request. Ask your ServiceNow administrator to create an OAuth client for Assembled with read-only access to only the tables it needs:
| Table or data | What it’s for |
|---|---|
| Users | Finding your team’s users and linking them to people in Assembled |
Presence (awa_agent_presence_history) |
Agent states |
| Work item tables | Tasks, cases, or the other tables set up for you |
| Time worked, if you use it | Your instance’s time-tracking table |
Assembled doesn’t need write access.
Review your schema before you go live
Before you set up production, hold a short schema review with your ServiceNow administrator and our team to:
- Confirm the fields Assembled needs exist on the tables you’ve chosen.
- Find any gaps in your data, especially presence data for adherence.
- Check that adherence tracking works with your current ServiceNow setup.
Most task-based ServiceNow tables share the same core fields, which usually keeps customization small, but each instance still needs checking.
For schema reviews, table setup, or questions about adherence, contact your Assembled deployment strategist or chat with our team.
Connect ServiceNow
- Go to Configure > Third-party integrations and select Available.
- On the ServiceNow card, select Configure integration.
- Enter your Instance URL, such as
https://<your-instance>.service-now.com. - Enter your API URL, such as
https://<your-instance>.service-now.com/api. - Enter your OAuth domain, such as
<your-instance>.service-now.com. - Enter the OAuth Client ID and OAuth client secret from your ServiceNow administrator.
- In Group ID, enter the
sys_idof the ServiceNow user group that contains your schedulable team members. - Select Connect with ServiceNow.
When it’s connected, the ServiceNow card appears under Connected, with when it was authorized, your Instance URL, the User Name, and a sync line for cases, ticket handle times, and agent states.
After you connect, tell our team which tables and use cases you need, so we can set up work item syncing for your instance. Custom tables, fields, and workflows may take a few rounds with our team.
Check that data is coming in
To check agent states, go to Monitor > Real-time agent analysis. Agent states and adherence should update for team members linked to ServiceNow. See Real-time agent analysis.
To check work items, go to Configure > Queues and exclusions and select Last hr. The count cards at the top of the page show the work items that arrived in the last hour.
If either view shows no data or numbers you don’t expect, chat with our team or contact your Assembled deployment strategist.
Add team members from ServiceNow
To add your team from ServiceNow to Assembled, go to Manage team > People management and select Add people > Import from ServiceNow. See People management.
Set up queues for ServiceNow
To route work items into queues, create queue rules in Configure > Queues and exclusions. For ServiceNow, rules can match on Assignment Group, Category, Service, or Product. See Queues and exclusions.
Match API data to team members from ServiceNow
By default, each team member’s API ID is their email address, and their ServiceNow ID is stored in its own field. Some BPO setups that combine ServiceNow data with data sent through the Assembled API need both fields to hold the same ServiceNow ID, or the API data doesn’t show on their scorecard. If yours does, update the API ID by CSV upload or with POST /v0/people in the Assembled API. If you’re not sure whether your setup needs this, chat with our team.