Genesys Cloud Connector
ServiceNow Workspaces
Customer Service Management
Contact search, auto case & interaction creation, screen-pop, click-to-dial, transfer handling, phone logs.
IT Service Management
User search and automated Incident creation with participant-data mapping and direct screen-pop support.
Service Operations Workspace
The same connector runtime inside Service Operations Workspace, where agents work Incidents and related tasks.
HR Service Delivery
HR Case lookup, agent-controlled HR Case creation, wrap-up sync and click-to-dial.
Add-on
External Routing
Route ServiceNow cases, incidents, HR cases, and live chat through Genesys Cloud queues with full state sync.
Features
- Auto interaction and screen-pop
- Contact and user search by media type
- Click-to-dial from phone fields
- Transfer handling with screen-pop
- Phone log creation for voice interactions
- Field mapping for participant data
- HR Case lookup and creation (v1.4.8+)
- Copilot Summary on wrap-up (v1.4.8+)
- PII redaction in connector logs (v1.4.8+)
- Agent call history (v1.4.6+)
- Widget theme customization (v1.4.6+)
- Multi-language agent UI
Quick start
Install the connector
Install the scoped application from the ServiceNow Store. This creates the x_inics_gen_snow scope and provisions UI pages, script includes, business rules, properties, and roles.
- Log in to ServiceNow as an admin.
- Navigate to System Applications > All Available Applications > All.
- Search for Genesys ServiceNow Connector. Click Install on the latest version.
- If you plan to route ServiceNow work items through Genesys queues, also install Genesys External Routing (scope
x_inics_gen_ext).
Tip: Test in a sub-production instance first, then promote via update set.

Grant roles
Assign the required roles before agents sign in, or the phone icon will not appear in the header.
| Role | Who gets it | What it unlocks |
|---|---|---|
sn_openframe_user | Every agent who will use the connector widget | Openframe access required to load the Genesys widget in the ServiceNow header |
x_inics_gen_snow.genesys_sn_role | Every agent who will take Genesys interactions | Connector runtime: widget access, CSM/ITSM/HRSD record actions, click-to-dial |
x_inics_gen_ext.gen_ext_sn_role | Agents handling External Routing work items | External Routing runtime: receive routed cases, incidents, HR cases, and live chat |
Configure field mapping
On the connector properties page, choose what record type to auto-create and map Genesys interaction metadata to ServiceNow fields.
- Set
enableTypeOfCreationto the workspace behaviour you need:
| Workspace / use case | enableTypeOfCreation value | Auto-created record |
|---|---|---|
| CSM — Interaction | enableIxnCreation | interaction |
| CSM — Case | enableCaseCreation | sn_customerservice_case |
| ITSM / SOW — Incident | enableIncidentCreation | incident |
| HRSD — HR case lookup | enableHRCaseLookup | Lookup sn_hr_core_case (interaction fallback by default; enable enableHRCaseCreation for HR case creation) |
Configure the interaction_key property with JSON field mappings appropriate to the record type selected above. The ServiceNow key is the field name; the value is the Genesys participant-data / interaction metadata key. Example for an Interaction:
{
"short_description": "gcSubject",
"description": "gcNotes"
}
Include all mandatory fields for the target form in interaction_key — missing required fields cause silent record-creation failures. Map fields that match the workspace you selected (for example impact and urgency for Incidents, or hr_service for HR cases when HR case creation is enabled).
Optional properties for v1.4.8+ features:
| Property | Purpose |
|---|---|
enableHRCaseCreation | When enableHRCaseLookup is active, auto and manual creation of sn_hr_core_case records instead of defaulting to interaction records. |
copilotSummaryTargetField | Set to a ServiceNow field name (e.g. work_notes) to enable Genesys Copilot Summary after wrap-up. Leave empty to disable. |
enableTraceLogging | Correlated step-by-step debug logging in the browser console and System Logs. Connector logs redact phone numbers, email addresses, and sensitive interaction attributes. |
interaction_key, the value is passed from Genesys interaction metadata, but the ServiceNow field is still not updating, run Access Analyzer for the agent on the target table to check form and field ACLs.
Sign in and test
- Log in to ServiceNow as an agent user who is a member of Genesys Integration Permissions (with
sn_openframe_userandx_inics_gen_snow.genesys_sn_role). - Click the phone icon in the top header bar. The widget loads in a panel.
- Sign in with your Genesys Cloud credentials.
- Click the status triangle in the top-right of the widget and choose OnQueue.
- Route a test interaction to yourself (inbound call, test message, or an outbound click-to-dial from a contact record).
You should see:
- An alerting notification in the widget.
- On answer, a contact search and screen-pop to the matching record.
- On disconnect, wrap-up code and Genesys link written to the record's work notes.

Validation checklist
After your first successful test, walk through this checklist before declaring go-live. Each item is a behaviour that is hard to debug after agents are on the line.
- Inbound voice — a known contact's phone triggers a screen-pop within 2 seconds of answer.
- Unknown caller — a number not in Contact/User creates the Interaction (or Incident/Case) without a contact link.
- Multiple matches — two contacts sharing a phone show the match-selection UI.
- Click-to-dial — dialling from a phone field opens an outbound call in Genesys.
- Transfer — blind/consult transfer re-pops the same record on the receiving agent.
- Wrap-up — disconnect writes wrap-up code and Genesys conversation URL to work notes.
- Copilot Summary — when
copilotSummaryTargetFieldis set (e.g.work_notes), the Genesys Copilot summary is appended to that field after wrap-up (typically within 60 seconds). - Participant data — the ServiceNow record
sys_idappears asservicenow_<table>_idon the Genesys interaction attributes. - Role scoping — a user without the role cannot see the phone icon at all.
First-day troubleshooting
| Symptom | Most likely cause | Fix |
|---|---|---|
| Phone icon not in header | Role not assigned, or the connector UI policy hasn't evaluated yet | Re-assign genesys_sn_role; have the user impersonate themselves or start a new session |
| Widget loads but won't sign in | Wrong region or pop-up blocker | Confirm the gcEnv region property; allow Genesys pop-ups in the browser |
| Sign-in works but no screen-pop on answer | Feature toggle disabled, or caller value does not exactly match any Contact/User field | Check enableIxnCreation andenableCaseCreation; compare Genesys ANI to the raw ServiceNow phone value (formatting must match) |
| Screen-pop fires but no record is created | Field mapping references a mandatory field you haven't supplied, or a read-only/calculated field | Simplify interaction_key JSON; check System Logs filtered on source x_inics_gen_snow |
| Mapped form fields not updating | Wrong mapping keys, missing participant data, ACL/role denial, or workspace cross-scope restriction | Verify properties and Genesys metadata; run Access Analyzer; check workspace Restricted cross scope — see Support |
| Wrap-up code not written on disconnect | Work-notes field is read-only on that record state, or the interaction was abandoned before wrap-up completed | Verify ACLs on the target record's work_notes; ensure the agent actually selects a wrap-up code |
| Outbound calls placed, no participant data on Genesys side | Connector did not auto-create a record (outbound suppression may be on) | Disable noScreenpopOnOutbound for the test, or configure updateOnTransfer to push data manually |
Still stuck? See Support or download the configuration guide from Install Guide.
CSM, ITSM and SOW
Overview
Customer Service Management, IT Service Management and Service Operations Workspace run on the same connector runtime. The widget, search, screen-pop, transfer, click-to-dial, phone log and Copilot behaviour described on this page is identical in all three — what changes is the table searched for the caller and the record type created.
| Workspace | Caller looked up in | Record created | Enabled by |
|---|---|---|---|
| CSM | customer_contact (Contact) | interaction and / or sn_customerservice_case | enableIxnCreationenableCaseCreation |
| ITSM | sys_user (User) | incident | enableIncidentCreation |
| SOW | sys_user (User) | incident and related tasks | enableIncidentCreation |
Service Operations Workspace needs no separate configuration: agents who work Incidents there get the same widget, lookup and screen-pop as ITSM agents in the classic or Agent Workspace UI.
Widget in ServiceNow
Embedded Genesys Cloud widget with call controls.
Contact and user search
Media-aware lookup into Contact or User records.
Auto interaction creation
Auto-create SN Interaction records & screen-pop.
Auto case creation
Create or select CSM Cases tied to the contact.
Auto incident creation
Create and pop Incidents for the service desk, linked to the caller.
Record mapping
Push SN record IDs/links into Genesys participant data.
Click-to-dial
One-click dialing from any phone field.
Transfer handling
Blind/consult transfers preserve screen-pop.
Direct screen-pop
Participant-data driven targeting of a specific record.
Phone log creation
Automatic SN phone log for every voice interaction.
Copilot Summary
Genesys Copilot conversation summary appended to the linked record on wrap-up.
Interaction flow at a glance
Every inbound voice or digital interaction follows the same path through the connector. These five stages cover field mapping and troubleshooting.
Genesys routes the interaction; widget alerts the agent.
Media-aware lookup into Contact or User on answer.
Interaction, Case or Incident created with mapped fields.
Record opened in agent's workspace; Genesys link in work notes.
Wrap-up code and conversation URL written on disconnect.
Each step is independently toggleable and logged — if a record isn't being created, step 3 is where to look; if it's being created but not popping, step 4.
Genesys Cloud widget in ServiceNow
Once the connector is installed and configured, a phone icon appears at the top of ServiceNow. Clicking the icon loads the embedded Genesys Cloud widget.
Agents must sign in to Genesys Cloud and have the genesysSNow permission on their Genesys Cloud organization to use the widget.

Contact and user search
On answer (inbound or outbound), the connector derives a search key from the interaction based on media type and looks it up. CSM searches the Contact table; ITSM and SOW search the User table.
| Media type | Genesys attribute | CSM — Contact field | ITSM / SOW — User field |
|---|---|---|---|
| Voice | ANI / DNIS | Business / Mobile / All phone fields | Phone, mobile, home, business |
| From / To address | Email, User name | ||
| Chat | Name | First name, Last name | First / Last name, Email, Phone |
| Message | Name | First name, Last name | First / Last name, Email, Phone |
| Callback | ANI | Phone fields | Phone fields |
If no record matches, the connector continues without a caller link rather than failing the interaction.

Automated interaction creation & screen-pop
When enabled, the connector creates a ServiceNow Interaction from the Genesys attributes and screen-pops it:
- 1 match: Interaction linked to the found contact, screen-pop fired.
- 0 matches: Interaction created without contact, screen-pop fired.
- Many matches: Agent picks from a match list, Interaction is then created.
The connector pushes the Interaction link into Genesys work notes, and on disconnect pushes the wrap-up code. Up to 10 participant-data attributes can be mapped to Interaction fields.

Automated case creation & screen-pop
When Case creation is enabled:
- If the contact has no open cases, a new Case is created and screen-popped.
- If existing cases are found, agents preview the list, confirm a case, or create a new one.
- If no contact is found, a Case is created without contact linkage and screen-popped.
As with interactions, the Genesys link lands in work notes and wrap-up code is written on disconnect. Up to 10 participant-data fields can be mapped.


Automated incident creation & screen-pop (ITSM / SOW)
When Incident creation is enabled and a matching User is found, the connector auto-creates an Incident linked to the caller and screen-pops it. Match handling, work-notes updates and wrap-up behaviour are the same as for Interactions and Cases above.
Up to 10 custom Incident fields can be mapped from Genesys participant data through the interaction_key property. The Incident sys_id and link are pushed back to Genesys as servicenow_incident_id / servicenow_incident_link, making them available to supervisors, flow designers, and analytics.
Agents working in Service Operations Workspace see the same Incident created and popped in that workspace's tabs.


Auto-created record mapping in Genesys Cloud

The connector writes the sys_id and URL of every auto-created ServiceNow record back into Genesys as participant data, using the keys:
servicenow_<tablename>_idservicenow_<tablename>_link
Example: a new SN Interaction produces servicenow_interaction_id and servicenow_interaction_link.
Data flows in three directions. Note which direction an attribute uses when mapping fields — the property that controls it differs.
| Direction | Source | Destination | Controlled by |
|---|---|---|---|
| Genesys → ServiceNow | Participant data on the conversation | Record fields on create | interaction_key (JSON) |
| Genesys → ServiceNow (update) | Participant data mid-conversation | Record fields on transfer or close | updateOnTransfer |
| ServiceNow → Genesys | Record sys_id, number, link | Genesys conversation attributes | Always on when a record is created |
Click to dial
Click the dial icon next to any ServiceNow phone field to launch an outbound call in the Genesys widget. Once answered, contact search and auto record creation run the same as for inbound calls.

Transfer handling
When a Genesys interaction is transferred (blind or consult) to another agent, the connector auto-detects the transfer and screen-pops the previously created ServiceNow record for the receiving agent.
When the update-on-transfer feature is configured, the connector updates the ServiceNow record with the configured field mappings at transfer time — for example, record status or assigned agent. Screen-pop runs even if the field-mapping update fails.
Direct screen-pop
The connector supports direct screen-pop driven by participant data. If the interaction contains directscreenpop_table, directscreenpop_field, and directscreenpop_value, the connector searches the specified ServiceNow table and screen-pops the matching record directly, bypassing the normal contact search.
Useful when an upstream system or Architect flow has already identified the target record.
Phone log creation
When enabled, the connector creates a ServiceNow phone log for every Genesys voice interaction. The log captures start / end time, duration, phone number, and direction, and is linked to the associated ServiceNow record.
Genesys Copilot Summary
When copilotSummaryTargetField is set to a ServiceNow field name (e.g. work_notes), the connector fetches the Genesys Copilot conversation summary after the agent completes wrap-up and appends it to that field on the linked ServiceNow record.
The fetch is scheduled approximately 60 seconds after wrap-up to allow Copilot processing to complete. The connector retries up to three times on transient API failures. Summaries are prefixed with Genesys Copilot Summary (<conversationId>): and skipped if an identical summary for the same conversation is already present on the record.
Copilot Summary applies to any linked record type (Interaction, Case, Incident, or HR Case) as long as the interaction carries servicenow_recordtype and the corresponding servicenow_<table>_id participant data at wrap-up.
conversation:summary:view permission.
Priority, urgency and SLA (ITSM / SOW)
Incidents have richer priority semantics than Cases. Plan these before your first go-live:
- Impact / Urgency vs Priority — ServiceNow computes
priorityfromimpactandurgency. Map the two inputs rather than the output, or your business rule will recompute and override. - SLA start on creation — an auto-created Incident starts its SLA clock the moment the connector inserts it. To start the clock only when the agent confirms, disable
enableIncidentCreationand create manually. - Queue-based routing — use
queueNameon the Genesys side to stampassignment_groupon the Incident. Avoids the usual "who owns this?" handoff. - Business vs employee hours — Genesys does not know your ServiceNow business-hours schedule. If the Architect flow should route differently during off-hours, calculate that on the Genesys side and pass it as participant data.
Additional configuration options
- No Screen-pop on Outbound — Skip auto screen-pop for outbound interactions. Useful when agents manually initiate calls for existing cases they already have open.
- Embedded Interaction Window — Show a built-in interaction detail panel inside the widget, so agents can see call attributes without navigating away from the record.
- Configurable Caller ID — Let agents choose their outbound caller ID before dialling (useful for multi-brand or multi-region teams).
- Server-side Logging — Extra server-side logging from the widget for troubleshooting. Leave off in production unless actively diagnosing.
- Custom Entity Tables — Persist additional SN table IDs as Genesys participant data (beyond interaction/case/incident/HR case).
- Wrap-up Notes on Disconnect — Show the Genesys wrap-up notes on the ServiceNow record on disconnect.
- Genesys Copilot Summary (v1.4.8+) — Fetch and append the Genesys Copilot conversation summary to the linked record after wrap-up. Controlled by
copilotSummaryTargetField(set to a field name to enable; leave empty to disable). - Trace Logging (v1.4.8+) — Correlated debug logging across widget and server. Controlled by
enableTraceLogging. Logs automatically redact phone numbers, email addresses, and sensitive interaction attributes. - Call History (v1.4.6+) — Surface recent call history inside the widget.
- Theme Color (v1.4.6+) — Brand-match the widget to your ServiceNow theme.
- Custom Call Controls (v1.4.6+) — Choose which call-control buttons are visible and in what order.
Common recipes
Sample configurations. Copy and adapt for your properties. The gc… values are example participant-data keys you define in your Architect flow, and u_… fields are custom ServiceNow columns — substitute your own names.
Recipe 1 · Rich auto-created Case
Populates the most useful fields from Genesys participant data so agents aren't re-typing context. Add a few skill-based fields as your IVR matures.
// interaction_key property - Case fields
{
"short_description": "gcSubject",
"description": "gcNotes",
"category": "gcIntent",
"priority": "gcPriority",
"u_ivr_path": "ivrSelections",
"u_queue_name": "queueName",
"u_genesys_call_id": "conversationId"
}
Recipe 2 · Blank short description
Let agents author the short description themselves so the Case isn't pre-populated with a default string. Added in v1.4.3.
// interaction_key property - Case fields
{
"short_description": "blank",
"description": "gcNotes"
}
Recipe 3 · Update status on transfer
When a call is transferred (blind or consult), update the Case state to "Work In Progress" and stamp the receiving agent.
// updateOnTransfer property
{
"case": {
"state": "2",
"assigned_to": "gcReceivingAgentId",
"u_last_transfer":"gcTransferTimestamp"
}
}
Recipe 4 · Direct screen-pop from Architect
When your Architect flow already knows the Case number (for example, a self-service bot resolved to a case), bypass contact search and pop it directly.
// Genesys participant data directscreenpop_table = "sn_customerservice_case" directscreenpop_field = "number" directscreenpop_value = "CS0012345"
Recipe 5 · Auto-categorise an Incident from the IVR selection
Map the two priority inputs rather than priority itself, so ServiceNow computes the result.
// interaction_key property - Incident fields
{
"short_description": "gcSubject",
"description": "gcNotes",
"category": "gcCategory",
"subcategory": "gcSubcategory",
"impact": "gcImpact",
"urgency": "gcUrgency",
"assignment_group": "gcAssignmentGroup"
}
Recipe 6 · Pop the Major Incident during a known outage
Let Architect decide: when a configuration item is in "Outage" state, set the direct screen-pop attributes so agents land on the existing Major Incident. Direct screen-pop opens that record instead of running the configured search, and only falls back to the default behaviour if one of the three attributes is missing.
// Genesys participant data directscreenpop_table = "incident" directscreenpop_field = "number" directscreenpop_value = "INC0456789" // the Major Incident
Recipe 7 · Stamp caller context on every outbound call
So supervisor dashboards can trace which record prompted each outbound dial. The connector adds these automatically on click-to-dial.
// Click-to-dial participant attributes (auto-added by connector) servicenow_incident_id = "<sys_id>" servicenow_incident_link = "https://<instance>.service-now.com/incident.do?sys_id=<sys_id>"
Best practices
Least-privilege field mapping
Only map fields your agents genuinely need pre-populated. Every mapped field is a potential data-quality issue if the Genesys side sends something unexpected.
One contact or user per phone
When several records share a phone number, agents see the match-selection UI on each call. Remove duplicates before go-live to reduce prompts.
Prefer direct screen-pop for bots
If Genesys Architect already knows the target record (after IVR/bot triage), use direct screen-pop instead of contact search. Faster and more reliable.
Pilot with one queue
Roll out to a single Genesys queue first, collect two weeks of operational data, then expand. It's the fastest way to surface edge cases.
Version your field mapping
Treat each interaction_key change as a release. Keep JSON in source control and review before promoting to production.
Test transfer scenarios
Blind transfer, consult transfer, external transfer, and transfer-to-queue each behave slightly differently. Test all four before go-live.
Decide when the SLA clock starts
If auto-created Incidents start the SLA too early, disable Incident creation and use Interaction-only mode.
ACL-test with an agent persona
Impersonate a real agent user to confirm they can read and write every mapped field. Admin testing hides ACL issues.
Let Architect set the categories
Mapping category / subcategory works far better when Architect sets them from a menu or bot than from free text.
Prefer Interactions for light contact
Not every call needs a Case or Incident. For password resets or quick queries, use Interaction-only mode.
Performance & limits
The connector is designed to handle a full contact-center shift without breaking a sweat. Useful numbers to size against:
| Dimension | Typical | Notes |
|---|---|---|
| Concurrent widget sessions | 1,000+ per instance | Bound by ServiceNow session limits, not connector code |
| Screen-pop latency | < 1.5s typical, < 3s p99 | Dominated by ServiceNow server-round-trip, not Genesys |
| Mapped fields per record | up to 10 custom + all core | Soft limit; more mappings increase error-surface area |
| Phone-log write rate | No enforced limit | Written asynchronously so voice experience isn't affected |
| Contact-search depth | Matches returned in order of relevance | If matches exceed the UI limit, agent sees a filtered list |
interaction / sn_customerservice_case that run slow (external HTTP calls, heavy scripts) can delay screen-pop. Profile your business rules before blaming the connector.
Troubleshooting
| Symptom | Where to look | Typical cause |
|---|---|---|
| No contact or user match on answer | Genesys ANI vs the Contact / User phone field value | Exact string match required — ServiceNow formatting (masks, country code) on mobile_phone or other configured field prevents a hit |
| No screen-pop when answering | System Logs, source x_inics_gen_snow | Feature toggle off; contact lookup returned zero matches while "create without contact" is disabled |
| Mapped fields not updating on form | Properties, participant data, Access Analyzer, workspace cross-scope | Mapping key missing or wrong; agent role/ACL denies write; workspace Restricted cross scope blocks update |
| Wrong contact popped | Contact table phone fields | Duplicate contacts sharing a phone; pick the right match logic (Business / Mobile / All) |
| Interaction created but no Case | Property enableCaseCreation | Disabled, or Case ACL prevents insert for the impersonated agent |
| Wrap-up code missing | Work-notes field ACL | Read-only on closed Cases; Genesys agent did not select a wrap-up code |
| Participant data not landing in Genesys | Widget browser console, Genesys conversation attributes | Outbound OAuth scope missing, or conversation ended before the write |
| Transfer re-pop shows blank record | Work notes of the original interaction | Record was deleted or moved scope between transfer and answer |
| Duplicate Interactions created per call | Business rules on interaction | A custom BR is recursively firing; disable BRs one-by-one to isolate |
| Incident created but Priority is wrong | The interaction_key mapping | priority is mapped directly while Impact and Urgency are also mapped — map only impact and urgency and let ServiceNow compute the rest |
| SLA clock starts too early | Property enableIncidentCreation | The auto-created Incident triggers the SLA at insert time; use Interaction-only mode and create the Incident on agent action |
| Assignment group blank on the Incident | The interaction_key mapping value | Mapping passes a display value; pass the sys_id from Architect or the exact group name |
| Incident number never reaches Genesys | System Logs, source x_inics_gen_snow | The Incident insert failed after the participant-data write — usually an ACL or mandatory-field error |
HR Service Delivery
Overview
HRSD mode lets HR Service Delivery agents receive Genesys interactions and work HR Cases without exposing sensitive information until they've confirmed the right record. With enableHRCaseLookup active, the default fallback when no matching HR case exists is a ServiceNow interaction record. When enableHRCaseCreation is enabled, the connector can auto-create or manually create sn_hr_core_case records instead.
Privacy-first defaults
By default, interaction fallback when no HR case matches. Optional HR case auto/manual creation when enableHRCaseCreation is enabled.
User lookup
Media-aware search against sys_user — phone, email, employee number.
Case confirmation
Agent reviews matching HR Cases before popping. Can confirm existing cases or create new interaction (default) or HR case records.
Work notes & wrap-up
Genesys conversation URL and wrap-up code written to HR Case work notes on disconnect.
Click-to-dial
Dial from user record; outcomes auto-logged to HR Case work notes.
Privacy model
HRSD handling is the most cautious mode the connector offers. Four design choices set it apart:
- Interaction fallback by default. When HR case lookup is active and no matching HR case exists, the connector creates a ServiceNow interaction record unless
enableHRCaseCreationis enabled. WithenableHRCaseCreation=true, auto and manualsn_hr_core_casecreation is available. - Limited participant data mapping. HR Case fields are mapped through the same
interaction_keyproperty; only fields explicitly listed in the Configuration Guide's HR allow-list are writable from Genesys. - Work-notes are append-only. The connector never rewrites existing HR Case fields on disconnect — it appends. This preserves the audit trail.
- Role separation. HR agents typically do not have the standard CSM / ITSM roles. The connector honours this and only exposes HRSD-specific actions.
interaction_key HR Case mappings without explicit sign-off from your HR and legal teams. Many HR Case fields are PII under local regulations (GDPR, HIPAA, state privacy laws) and require additional controls.
User & HR Case lookup
The caller is identified against the standard ServiceNow user record, sys_user. For voice, the fields searched depend on voiceSearchField.
| Media | Primary match | Fallback |
|---|---|---|
| Voice | ANI vs the phone fields selected in voiceSearchField | Show agent the inbound number for manual lookup |
| From address vs the user's email | Employee number in the subject line (if your templates include it) | |
| Chat / Message | Authenticated portal identity → user record | Name & employee-number capture form in Architect |
| Callback | ANI → user record | Same as Voice |
HR Case creation flow
When the HR case lookup feature is activated, the connector identifies the corresponding ServiceNow User record based on the media type of the interaction as soon as the interaction is answered.
- If no HR cases exist for the identified user, the connector automatically generates a ServiceNow interaction record (default) or an HR case record when
enableHRCaseCreationis enabled, using attributes collected from the Genesys interaction, and initiates a screen pop. - If there are existing HR cases available for the identified user, the connector presents a list of these cases. The agent can preview details, confirm an HR case from the list, or create a new ServiceNow interaction (default) or HR case (when
enableHRCaseCreationis enabled) via the appropriate button. - If no user is identified, the connector proceeds to create a ServiceNow interaction (default) or HR case (when
enableHRCaseCreationis enabled) and then initiates a screen pop.
When enableHRCaseCreation is enabled, configure mandatory HR case fields (such as hr_service) in the interaction_key JSON mapping.
In any scenario, once the interaction or HR case is created or selected, the connector updates the Genesys Interaction link to the work notes field. On disconnect, wrap-up code information is written to work notes as well. When copilotSummaryTargetField is set, the Genesys Copilot summary is also appended after wrap-up.


Click-to-dial & work notes
HRSD agents can click-to-dial from the user record, the HR Case, or any phone field surfaced on the HR workspace. The connector stamps the HR Case context onto the outbound call, and writes the call outcome to HR Case work notes on wrap-up.
- Outbound call attribute:
servicenow_sn_hr_core_case_id. - Wrap-up write includes: wrap-up code, duration, Genesys conversation link.
- Wrap-up write excludes: any free-text agent notes unless explicitly opted-in on the properties page.

Common recipes
Recipe 1 · Minimal HR Case mapping
HR Case fields are mapped through the same interaction_key property used for every record type. Include mandatory HR Case fields such as hr_service in the mapping; the opened_for contact field is the exception and is set by the connector itself. gcSubject is an example Genesys participant-data key name, not a fixed built-in.
// interaction_key property - HR Case fields
{
"short_description": "gcSubject",
"hr_service": "<sys_id>",
"subject_person": "<sys_id>"
}
Recipe 2 · Opt-in agent notes on wrap-up
Leave showWrapUpNotes set to No globally, so After Call Work notes are only captured where HR has agreed they are appropriate.
Best practices
Keep mappings minimal
Every mapped HR field is a potential compliance surface. Map only the mandatory HR Case fields to start.
Role-separate HR agents
HR agents should only have genesys_sn_role, not the broader ITSM/CSM roles. Prevents accidental data access.
Audit work-notes append-only
Verify with a quarterly audit that connector writes are appends, not rewrites. Preserves the HR audit trail.
Use Architect for identity
Collect employee number in Architect before routing. The HR agent starts with a match rather than a search.
Retention & recording
Align Genesys recording retention with HR Case retention. Audit the end-to-end path once a year.
Troubleshooting
| Symptom | Likely cause | Fix |
|---|---|---|
| HR Case popped for the wrong employee | Two users share a phone number | De-dupe sys_user records; enforce unique employee number on matching |
| "Create HR Case" dialog doesn't appear | Agent lacks the HR role to insert sn_hr_core_case | Add the standard HR agent role — connector defers to existing HR ACLs |
| Wrap-up code missing from HR Case | HR Case state transitioned to a read-only state during the call | Write wrap-up to a status-neutral field (work_notes), not state-gated fields |
| Agent can't search user records | User record ACL blocks read for the agent | Grant read ACL on sys_user limited to name, phone, employee number |
| User not found but record exists | Exact string mismatch on phone or name fields | Compare Genesys metadata to the ServiceNow field value; check formatting on configured search fields |
| HR Case creation fails with mandatory field error | enableHRCaseCreation enabled but required field (e.g. hr_service) missing from interaction_key mapping | Add mandatory HR case fields to interaction_key JSON; verify values are present in Genesys participant data at creation time |
| Mapped fields not updating on form | Mapping, ACL, or workspace cross-scope | Check properties and participant data; use Access Analyzer; review workspace Restricted cross scope — see Support |
External Routing
What it does
External Routing lets Genesys Cloud hand out ServiceNow work — cases, incidents, HR cases and live chat — to your agents, using the same queues, skills and priorities that already route calls and messages. Instead of agents picking work from a list, Genesys assigns it, and the record opens on screen the moment the agent accepts.
Because the work travels through Genesys Cloud, it sits alongside every other channel in the dashboards and reports your supervisors already use.
How it works
- A case, incident, HR case or chat matches the rules of a ServiceNow queue you have marked for Genesys routing.
- Genesys Cloud takes it from there, routing it by queue, skill and priority like any other interaction.
- The work is offered to a suitable agent in the Genesys widget inside ServiceNow.
- The agent accepts, and ServiceNow opens the record for them.
What can be routed
Four kinds of ServiceNow work can be handed to Genesys Cloud. Each one is picked up from a queue you have marked for Genesys routing, and lands in the workspace the agent already uses.
| Work type | Where the agent works it | Service channel |
|---|---|---|
| Customer service case | Customer Service and Field Service workspaces | Genesys External Routing Case |
| Incident | Service Operations Workspace | External Routing Incident queue |
| HR case | HR Agent workspace | HR case queue |
| Live chat | Agent Chat | Live Agent Chat Interactions |
Features
- One routing engine for every channel — ServiceNow work queues up in Genesys Cloud next to calls and messages, so a single set of rules decides who gets what.
- The record opens by itself — the agent who accepts the work sees the case, incident, HR case or chat straight away, with no searching.
- Context travels with the work — details from the ServiceNow record are attached to the interaction, ready for your routing rules and reports. You choose which details (v1.0.6+).
- Cancelled work stops being offered — when a queued item is cancelled in ServiceNow, the matching Genesys interaction ends automatically, and keeps retrying until it does (v1.0.6+).
- Optional record close — the case, incident, HR case or chat can be closed at the same time, so nothing is left half-finished (v1.0.6+).
- No duplicate conversations — if the same record returns to the queue, agents pick up the existing conversation rather than starting a second one.
- Availability stays in step — an agent on a break or in training in Genesys is not handed ServiceNow work, and vice versa.
- Transfers keep the record — when work moves to another agent, their workspace opens the same record.
Routing by work type
Cases, incidents and HR cases
As soon as a record matches the rules of a queue marked for Genesys routing, it is offered to Genesys Cloud. The agent who accepts it sees the record open in their workspace, with no searching and no copying of reference numbers.
If you have chosen to close the record when its queued work is cancelled, these are the states it moves to:
| Work type | Closes as |
|---|---|
| Live chat | Closed abandoned |
| Incident | Cancelled (state 8) |
| Customer service case | State 7 |
| HR case | State 7 |

Live chat
Chats started in ServiceNow are routed into Genesys queues on the Live Agent Chat Interactions channel. Agents accept them in the Genesys widget, and the transcript stays attached to the ServiceNow chat record for anyone who picks it up later.

Presence and availability
Agents set their status once. When someone goes on a break, into training or off queue in Genesys Cloud, ServiceNow is told and stops assigning them work — so nothing sits waiting in front of an agent who is not there. An agent marked available in ServiceNow is put on queue in Genesys.
You decide how your own statuses line up: each ServiceNow availability state can be matched to the Genesys presence that fits it.
For administrators
Set-up requirements
In ServiceNow
- The Genesys Cloud Connector, installed and activated.
- The Advanced Work Assignment plugin, which provides the queues the work is routed from.
- The Agent Chat plugin, if you want to route live chat.
In Genesys Cloud
- An Open Messaging platform integration, which is how ServiceNow work reaches Genesys.
- An inbound message flow in Architect that sends the work to the right queue.
- Its own OAuth client using the Client Credentials grant, registered in ServiceNow under System OAuth > Application Registry. External Routing does not share the connector's client.
Agent access
An agent needs three roles before Genesys can hand them work. The Genesys Integration Permissions group grants them together:
sn_openframe_user— loads the Genesys widget inside ServiceNow.genesys_sn_role— lets the agent use the connector.gen_ext_sn_role— lets the agent be assigned routed work.
What it uses in your instance
| Area | Used for |
|---|---|
| Work items | The unit of work Genesys is asked to route |
| Queues | A queue marked for Genesys routing sends its work out to Genesys |
| Service channels | Decide which record types a queue can carry |
| Agent presence and presence states | Keep availability in step with Genesys |
| Interaction map | Links each ServiceNow record to its Genesys conversation |
| Disconnect queue | Retries ending a Genesys conversation when work is cancelled (v1.0.6+) |
Settings
Configure on Genesys External Routing > Properties (category: External Routing Properties).
| Property | Required | What it does |
|---|---|---|
integrationId | Yes | Identifies your Open Messaging platform. Copy it from Genesys Cloud Admin. |
presenceMap | No | Matches each ServiceNow availability state to a Genesys presence. Available is always treated as On Queue. |
participantData | No | Extra record details to send with the work, given as Genesys attribute to ServiceNow field (v1.0.6+). |
enableIxnStateSync | No | Ends the Genesys conversation when queued work is cancelled in ServiceNow. On by default (v1.0.6+). |
disconnectParentDoc | No | Also closes the record itself when its queued work is cancelled. Off by default (v1.0.6+). |
createInteractionForEveryWorkItem | No | Starts a new Genesys conversation every time a record is queued, instead of reusing the existing one. Off by default. |
// participantData example
{
"short_description": "short_description",
"priority": "priority"
}
// presenceMap example
{
"Available": "onqueue",
"Away": "Away",
"Offline": "Busy",
"Meal": "Meal"
}
Troubleshooting
| Symptom | Likely cause | Fix |
|---|---|---|
| Work never reaches Genesys | The queue is not marked for Genesys routing, or the record does not match its conditions | Check the queue is marked external, the record matches its conditions, and the service channel covers that record type |
| No conversation is created in Genesys | Missing or wrong integrationId | Copy the Integration ID from your Open Messaging platform and check the OAuth profile on the REST message |
| Agent accepts but no record opens | The agent is missing a role, or cannot read the record | Add the agent to the Genesys Integration Permissions group; check record access with Access Analyzer |
| Genesys conversation stays open after a cancel | enableIxnStateSync is off, or the retry queue has stalled | Turn enableIxnStateSync back on, then check the disconnect queue and the External Routing entries in System Logs |
| Record not closed on cancel | disconnectParentDoc is off, or that record type has no close state | Turn disconnectParentDoc on and confirm the record type has a close state |
| Extra record details missing in Genesys | The participantData JSON is invalid, or the field is not on the record | Validate the JSON and confirm the field exists and is readable by the integration user |
| Availability out of step | presenceMap does not cover all of your statuses | Add an entry for every ServiceNow availability state you use, including break and training statuses |
| Two conversations for the same record | createInteractionForEveryWorkItem is on | Turn it off so the existing conversation is reused |
Install Guide
Support
Raise an issue
Check Common issues below, then the troubleshooting table on your workspace page — CSM, ITSM and SOW, HRSD, or External Routing. Most reports resolve to configuration or access.
Reproduce the problem once with logging on and collect the three log sources. A ticket without them will only get a reply asking for them.
Raise the ticket with Genesys Cloud Support at help.mypurecloud.com, attaching the logs and every detail listed alongside.
- ServiceNow instance name
- Connector version, and External Routing version if installed
- Genesys Cloud organization name and region
- Conversation ID of an affected interaction
- The affected agent's user record and roles
- Time window of the failure, with timezone
- Whether it reproduces for every agent or one
Collect logs
Widget browser console
Open DevTools with the Genesys widget focused and reproduce the problem. Connector log lines are prefixed *** GC Connector:, and with trace logging enabled each line also carries a trace ID, flow name and step number. Export or screenshot the console, red errors included.
ServiceNow system logs
Filter System Logs > All on source x_inics_gen_snow, and x_inics_gen_ext for External Routing, over the interaction's time window.
Agent roles and access
Report which of sn_openframe_user, x_inics_gen_snow.genesys_sn_role and x_inics_gen_ext.gen_ext_sn_role the agent holds, plus the Access Analyzer result for the target table.
enableTraceLogging produces correlated step-by-step entries that share a trace ID with the console output, which is what makes the two logs readable side by side. Connector logs redact phone numbers, email addresses and sensitive interaction attributes (v1.4.8+), so they are safe to attach.
Common issues
Contact or user search returns no matches
Search compares the Genesys value to the ServiceNow field value as an exact string match. The connector does not normalize phone numbers or strip formatting, so an ANI of 5551234567 will not match a stored (555) 123-4567 or +1 555-123-4567.
- Compare the raw Genesys value in interaction metadata or participant data with the value on the Contact or User record, character for character.
- Review field formatting on the configured search field: input masks, display values, international prefixes, reference qualifiers.
- Store phone numbers unformatted and consistently, or align Genesys participant data to the format ServiceNow uses.
- Confirm the intended search field is selected in connector properties — Business phone, Mobile phone, or All phone fields.
Mapped fields never reach the ServiceNow form
Almost always one of three things, in this order: the mapping, the agent's access, or cross-scope restrictions on the workspace.
- Mapping — check the field mapping JSON (
interaction_key), the feature toggles and the target table on the connector properties page. Key names are case-sensitive and must exist on the interaction at the moment of the write; open the conversation in Genesys and compare attribute names and values. - Access — run Access Analyzer for the agent against the target table and record. Look for a missing role such as
x_inics_gen_snow.genesys_sn_role, or table and field ACLs that deny write on the specific columns. - Cross-scope — if access passes, check whether the agent's workspace has Restricted cross scope permissions blocking writes across scoped application boundaries.
Phone icon does not appear in the ServiceNow header
Cause The agent is missing sn_openframe_user, or the OpenFrame configuration is inactive or points at the wrong widget URL.
Fix Assign both sn_openframe_user and the connector role, then confirm the OpenFrame configuration is active and its URL resolves to the connector widget page. Have the agent reload the browser tab afterwards.
Screen-pop opens nothing, or the wrong record
Cause Search matched zero records or more than one, so the connector has no single record to open. Ambiguous matches are the usual reason a pop silently does nothing.
Fix Run the same search value in ServiceNow and confirm it returns exactly one record. Deduplicate Contact or User records that share a phone number or email, then re-check the screen-pop target configured for that workspace.
No interaction record or phone log is created
Cause The creation toggle is off in connector properties, or the agent cannot write to the target table.
Fix Enable the interaction and phone-log toggles for that workspace, then confirm write access to the interaction table with Access Analyzer. Phone logs are created for voice interactions only.
External Routing work items never reach an agent
Cause Advanced Work Assignment is not installed or the service channel is not mapped to a Genesys queue, or the Open Messaging integration and Inbound Message flow are not routing.
Fix Verify the AWA plugin and the queue mapping, then check the Architect Inbound Message flow is published and the Open Messaging integration is active. See External Routing for the full configuration.
Release Notes
Bug fixes
- Corrected the version number displayed in the release notes.
Features
- Added support for attaching the Genesys Copilot conversation summary to the configured ServiceNow record after wrap-up.
- Added support for creating ServiceNow HR Cases, enabling HR service workflows.
- Introduced optional diagnostic logging to simplify troubleshooting.
- Updated Help guide.
Bug fixes
- Fixed an issue where microphone access could be lost after switching Genesys Cloud organizations.
- Fixed screen pop behavior during blind and consult transfers to consistently open the correct ServiceNow record.
- Improved transfer handling to ensure wrap-up processing and automatic interaction closure work correctly for transferred interactions.
Features
- Widget startup — the widget handles slow or partial Genesys integration loads and recovers when the integration is not fully loaded.
Security & hardening
- Migrated privileged data-access paths from
GlideRecordtoGlideRecordSecureso ACLs are always evaluated on server-side reads. - Tightened trusted-origin handling on widget message events.
Bug fixes
- Resolved an edge case where async REST execution could swallow errors silently.
- Miscellaneous stability and reliability fixes.
Features
- Documentation updates aligned with Connector 1.4.8 release.
- Minor stability improvements for disconnect-queue processing.
Features
- Interaction state sync & auto-disconnect — when a ServiceNow work item is cancelled or closed, the corresponding Genesys Cloud conversation is automatically disconnected, with built-in retry for transient failures.
- Custom participant data — administrators can configure ServiceNow record fields to be passed as Genesys participant data when a work item is routed, making record details available inside Architect flows and agent interactions.
- Auto-close parent record — when a Genesys conversation ends without being accepted by an agent, the associated ServiceNow parent record (interaction, case, incident, or HR case) can be automatically closed to prevent orphaned open records.
Bug fixes
- Improved reliability of the disconnect-queue processing under high load.
- Resolved an issue where presence sync could fail during rapid status changes.
Features
- Unified REST client — internal REST calls consolidated through a single scriptable REST client with retry and async execution support, improving resilience under load.
- Message conversation lookup — API to fetch Genesys message conversations by ID for chat-routing diagnostics.
Bug fixes
- Hardened permission handling for work-item auto-assignment.
- Improved disconnect-queue resilience under high load.
Features
- Agent Call History — agents can now view their call history directly in the connector widget.
- Outbound SMS Country Code — set a country code that is automatically applied to outbound SMS numbers.
- Improved Contact Search — choose which contact types appear when users search for names or phone numbers before calling or transferring.
- Customizable Call Controls — select which call-control buttons are visible to agents and arrange them in any order.
- Interaction Attribute Updates — keep default interaction attributes but change their order or add new attributes via the Enable Default Interaction Attribute settings.
- Widget Theme Customization — customize the widget's colour palette.
Bug fixes
- Applied security-vulnerability fixes and related code improvements.
Features
- External Routing sub-status sync — added support for sub-status synchronization between Genesys Cloud and ServiceNow agent presence.
Bug fixes
- Resolved an intermittent interaction-disconnect issue.
- Resolved an issue where the assigned-agent name was not updated after a call transfer.
- Resolved an issue where interactions were incorrectly closed when a call was transferred to another agent.
Features
- Option to leave the Short Description field blank on ServiceNow forms instead of auto-filling a default. Add
{short_description: 'blank'}tointeraction_keyto enable.
Bug fixes
- Resolved issue preventing agents from updating the Short Description field after answering an interaction.
Features
- Connector now supports custom search for web messaging and callback interactions.
Features
- IXN Link and Wrap-up-code template configuration options are now optional.
- Genesys interaction start time and end time are now available for field mapping.
- Users can now minimise entity search results and later select a record from the search-results dialog to associate with the interaction.
Bug fixes
- Resolved write-access errors inside the widget when no fields are available for updates.
Features
- Support for Genesys External Routing plugin — an add-on integration enabling the ServiceNow platform to leverage Genesys Cloud's routing capabilities for cases, incidents, and chat interactions.
Features
- Initial GA — first certified release of the Genesys External Routing scoped application.
- Route ServiceNow Cases, Incidents, HR Cases, and Live Chat through Genesys Cloud message queues.
- OAuth-based authentication against Genesys Cloud's
/api/v2/conversations/messagesendpoints. - AWA queue integration for work-item assignment directly from Genesys routing decisions.
- ServiceNow record screen-pop for the agent accepting the routed conversation.
Features
- New screen-pop feature that performs search and displays ServiceNow entities based on customer data parameters.
- Configuration toggle to disable screen-pop for outbound interactions.
- Validation checks on property pages to prevent feature selection when prerequisite plugins are missing.
- Call duration included in the interaction metadata for callback interactions.
- Automated creation of phone logs in ServiceNow for all Genesys voice interactions.
Features
- For agents with auto-answer enabled, the connector creates records for incoming and outgoing interactions and screen-pops them in the primary ServiceNow tab — even when that tab is not in focus.
Features
- Support for the HR Service Delivery module.
- Ability to use multiple connector configurations for distinct groups of users.
- Custom search on user records across the Contact and User tables.
- Option to show wrap-up notes on Genesys interaction disconnect.
Features
- Ability to auto-update ServiceNow fields with interaction metadata or participant data on transfer.
Bug fixes
- Updated script include to query connector properties for the new application name (Genesys Cloud Connector).
Bug fixes
- Added missing connector property: Organization name.
Features
- Ability to map Genesys interaction metadata directly to ServiceNow fields.
- Automatically set ServiceNow interaction status to Closed upon call end.
- Phone-number lookup against Business Phone, Mobile Phone, or all phone fields.
- Availability of external contacts for search during transfer and new interaction creation.
- Language localization based on browser settings and Genesys Cloud compatibility.
Features
- Help-guide updates.
Bug fixes
- Interaction-record creation when multiple contact matches are found.
- Initial release of the Genesys ServiceNow Connector.