Lab #8: Ticketing (Core)
Overview
- Learning Objectives: Configure, modify, validate, and test ServiceNow IT ticketing in Moveworks
- Estimated Time: 45 minutes
- Prerequisites:
- Lab #7 complete (forms ingested; Section 2 revisits it)
- Admin access to your ServiceNow instance
Key Concepts
Moveworks manages the full lifecycle of a ticket, from creation to resolution. The core ticketing configuration involves:
- Table Mappings: The configuration that tells Moveworks which tables to interact with (e.g.,
incidentfor breaks/fixes orsc_req_itemfor requests). - Routing Conditions: Logic that directs a userβs request to a specific workflow (e.g., routing a βConciergeβ intent to a standard ticket generation flow).
- Table Actions: The specific capabilities enabled for the Moveworks AI Assistant, such as the ability to βQueryβ (look up), βUpdateβ (add comments), or βResolveβ a ticket.
- Service Portal URL: The base web address of your ITSM portal. Moveworks appends ticket IDs to this URL to provide users with direct βView in Portalβ links.
Relevant Documentation:
- Moveworks Help: Concierge & Ticketing Capabilities Overview
- Moveworks Help: Configuring Ticketing for ServiceNow
- Moveworks Help: Ticket Data Object
- Moveworks Help: Handoff Overview
π οΈ 1: Walkthrough
Save after every change. Moveworks Setup does not auto-save. Click Save before you leave any page, or you lose your changes. This is the most common mistake in this lab, so the steps below include save reminders.
1.1: Add Two Custom Fields to the Incident Table
Later steps map two custom incident fields into Moveworks. A stock ServiceNow instance doesnβt have them, so create them first.
- In ServiceNow, navigate to System Definition > Tables and open the Incident table (
incident). - In the Columns related list, click New and create a column with Type
Stringand Column labelEnvironment. Confirm Column name readsu_environment, then click Submit. - Click New again and create a column with Type
True/Falseand Column labelIs VIP. Confirm Column name readsu_is_vip, then click Submit.
1.2: Configure Ticketing
-
Navigate to Ticketing > Ticketing Configuration > New ticketing configuration

-
Click Get Started

-
Select ServiceNow as the source system

-
Start by selecting the Connector Selection

-
Select
snowas theconnector&primary system
-
Give your configuration a name
Save your configuration name before continuing. -
Click Back in the bottom left, then click Setup Defaults at the top of the page to create the preconfigured ticket types.

-
Navigate to the newly generated Table mappings page

-
By default, Moveworks integrates with the tables shown. Click the Incident table:
Each ticket destination (table) lists the actions configured for it at the bottom. For Incident, these come preconfigured:
- Query: Allows requestors to search for their existing tickets
- Create: Enables requestors to initiate new tickets
- Update: Permits requestors to add comments to active tickets
- Resolve: Grants requestors the ability to close their own tickets

-
The Incident table definition opens.

-
Navigate to the Query page and review the States Configuration
The default state mappings match a stock ServiceNow instance. In a live implementation, check the source ITSM for additional states and map any that are missing.

-
Next, add
custom_datafields to the Query mapping.Ticketing starts with a list of default fields. When an implementation needs fields that donβt exist out of the box, add them as
custom_data. Downstream ticketing workflows can then reference them. -
Add these
custom_datafields (the two fields you created in Section 1.1) to the Query ticket mapping:In the Query configuration, fields on the left are Moveworks fields, and fields on the right are source system fields. Reference the Ticket Data Object page on the Moveworks Help Site to understand all of the fields available on the Moveworks Ticket object by default.
Save your Query mapping before continuing. -
Scroll down to the Input fields in Mapper section and add the
u_environmentandu_is_vipfields.
Save your Input fields before continuing. -
Set a default value that Moveworks populates when it creates an incident in ServiceNow. Select Create and add the field
u_environmentwith the valueprod:"u_environment": "\"prod\""
When configuring WRITE actions (Create, Update, Resolve, Reopen), the formatting tells Moveworks whether to use a fixed value or a variable you already defined in your query configuration.
Using Moveworks variables: To use data Moveworks already holds, use a single pair of quotes. The value on the right must match the key you defined in your query mapping.
- Syntax:
"target_field": "stored_variable" - Example:
"assignment_group": "assignment_group"Moveworks finds the key"assignment_group"in your query mapping and uses the result of its$TRIM(...)expression.
Using static strings: To write fixed text that isnβt a variable, escape the quotes or use single quotes. Both are valid in Bender.
- Syntax:
"target_field": "\"Fixed Value\""or"target_field": "'Fixed Value'" - Example:
"short_description": "\"New Ticket from Moveworks\""or"short_description": "'New Ticket from Moveworks'"
Save your Create mapping before continuing. -
Open the Resolve action and update the
close_codefield:"close_code": "\"Resolved by caller\""
Save your Resolve mapping before continuing. -
Click Next, review the Routing & Workflow conditions (no changes needed), then click Save.

Save your Routing & Workflow configuration before continuing. -
Open Table Actions and confirm the Incident ticket type is enabled for polling and concierge updates.

Save your Table Actions before continuing. -
Confirm the Access Control Strategy is set to Public to all members.
Save your Access Control configuration before continuing.
This lab doesnβt change the Org level settings, but they control these behaviors across all ticket types:
- Ingestion Control: Determines how often Moveworks polls your ITSM (e.g., ServiceNow) for updates and how far back it looks for changes.
- Notification Window: Sets business hours and weekend rules so the Assistant doesnβt message users overnight.
- Nudge Logic: Configures the βInactivity Thresholdβ: the number of days a ticket sits idle before the Moveworks AI Assistant automatically nudges the assignee.
- User Display: Toggles what the employee sees in chat, such as the ticket state, assignee info, or the ability to upload attachments directly through the Moveworks AI Assistant.
-
Open Service Portal URL and create a configuration with your
snowconnector and your portal URL (https://[your-instance].service-now.com/esc). This controls where users land when they click a ServiceNow ticket link in Moveworks.
Save your Service Portal URL configuration before continuing. -
Ticketing for incidents is configured. File a ticket with your Moveworks AI Assistant and test each action.
π 2: Revisiting Lab #7: Why Form Submission Failed
2.1: Why βI need a standard laptopβ Didnβt Complete
At the end of Lab #7, you asked the AI Assistant I need a standard laptop. The Assistant surfaced the Standard Laptop form, but submitting it didnβt create anything in ServiceNow.
Thatβs because form handling in Moveworks splits across two capabilities:
- Form ingestion (Lab #7) makes forms discoverable and fillable. Moveworks pulls the catalog items, permissions, and field definitions from ServiceNow so the AI Assistant can ask follow-up questions and render the form in chat.
- Ticketing configuration (this lab) provides the destination tables Moveworks writes to. A form submission creates a Request Item (
sc_req_item) record in ServiceNow, which requires the Request and Request Item tables to be mapped in your ticketing configuration.
Without ticketing configured, the Assistant can collect the inputs but has nowhere to send them.
Relevant Documentation:
- Moveworks Help: Forms Integration for ServiceNow: how form ingestion works and which fields Moveworks supports
- Moveworks Help: Configuring Ticketing for ServiceNow
2.2: The Defaults Already Cover Most of It
When you clicked Setup Defaults in Section 1.2, Moveworks pre-loaded mappings for four ticket types, each with a different set of default actions:
Section 1 customized the Incident mapping. The other three (Request, Request Item, and Task) are already in place from the defaults; you only need to verify them.
Why these four tables work together: When the AI Assistant submits a form, it invokes the Create action on sc_request, the parent record (REQ). ServiceNowβs workflows then generate the child line items on sc_req_item (RITM) and any fulfillment tasks on sc_task. Thatβs why only sc_request needs Create enabled in Moveworks.
2.3: Verify the Request, Request Item, and Task Mappings
-
Navigate to Ticketing > Table Mappings in Moveworks Setup.
-
Confirm all four tables (
incident,sc_request,sc_req_item, andsc_task) appear in the list. -
Click into
sc_requestand verify the default fields: -
Repeat for
sc_req_item: -
Repeat for
sc_task:
-
In the
sc_requesttable mapping, confirm the Create action is listed. This is the action Moveworks invokes when a form submission completes.Save your Table Mappings if you made any changes.
2.4: Retest the Lab #7 Request
In the Moveworks AI Assistant, type I need a standard laptop again.
This time the form should fill and submit, creating a new RITM in your ServiceNow instance. Confirm it appears in sc_req_item.list.
Still failing? See Section 4: Troubleshooting below. The most common cause is a required field on sc_req_item in your instance. Check the API Logs to see which field ServiceNow rejects.
β 3: Verification & Next Steps
- Finalize: Confirm all configurations are saved.
- Check success: In the AI Assistant, confirm you can do each of these ticket actions:
-
File

-
Query

-
Update (Add Comment)

-
Resolve/Close

-
Reopen

-
β 4: Troubleshooting: Why Canβt I Act on a Ticket?
A ticketing action fails when the way Moveworks creates or updates the ticket doesnβt match what the source system expects. Work through these checks.
4.1: Identify the Failure
When a call to the ticketing system fails, the Assistant tells the user it couldnβt complete the action, often with a short summary of why. In this example, Moveworks failed to create a ticket, likely because a mandatory field was missing from the API request.

4.2: Check the API Logs
In Moveworks Setup, the API Logs module shows what Moveworks sent to the source system and how it failed.
-
Find the log entry for the error. You can search by requesting user, trace ID, method, or plugin.

-
Read the error message. Here, the request payload is missing
short_description, which ServiceNow requires.
4.3: Build a Working Payload in API Playground
Use the details from Section 4.2 to rebuild the payload in API Playground until the call succeeds. This can take a few tries, and in a live implementation you may need more information from the customer to resolve some values.
-
Open Moveworks Setup in another tab and navigate to Connectors > API Playground.

-
Copy the
api_url_endpointandrequest_payloadfrom the log entry.

-
Paste them into API Playground, adjust the payload, and test it.

-
Repeat until the call succeeds.

4.4: Update the Ticket Mapping
With a working payload, open the part of the ticketing configuration that caused the issue, apply the fix, save it, and retest in the Assistant.


4.5: Check the Moveworks Status Page
Validate that there have been no broader issues reported by the Moveworks team on the Moveworks Status Page
4.6: Escalate to Moveworks Support
Ticketing issues are almost always a misconfiguration: the ticketing configuration doesnβt match what the source system expects. Confirm with the ITSM administrator that the same API call works outside of Moveworks.
If youβve validated the above and still canβt find the root cause, open a ticket with Moveworks Support and include:
- The email of the user experiencing the issue
- The action they are attempting to take
- How the Moveworks Ticketing Plugin is failing
The more detail you include, the faster Moveworks Support can help.
πͺ 5: Reflecting on This Configuration
Through this lab, youβve learned the following:
- How to complete the Ticketing Configuration
- How to add
custom_datafields to the Ticket Query Mappings - What ticketing actions Moveworks can take
- How to validate the actions are working as expected
- The thought process to follow when ticketing is not operating as expected
βοΈ 6: Configuration Details
Use the table below to fill in the required fields accurately.