Forms Integration - ServiceNow
Forms Integration - ServiceNow
Forms Integration - ServiceNow
You use Moveworks Form Integration with ServiceNow to:
Moveworks Bot will ingest Catalog Items available in your Service Catalog, based on the catalogs configured in Moveworks. When Moveworks ingests forms, it applies a number of filters based on attributes on each catalog item:
sc_cat_itempc_software_cat_itempc_hardware_cat_itemsc_cat_item_producersc_cat_item_guideOnce these forms are ingested, Moveworks will link your employees to them by redirecting them to {base_service_portal_url}?id=sc_cat_item&sys_id={form_sys_id}.
Note: This URL can configured to link to a custom Service Portal or ESC Portal.
Moveworks starts ingesting forms every day at 6pm Pacific time. The entire process takes place over a few hours, and ingests new catalog items, as well as any updates or removals that may have happened over the course of the day.
This is only to make the form available for basic triggering (using the form title for example). Typically it takes a few days to a week for the form to become more robust in triggering for different user utterances. If you continue to see issues well after the form has been made available in your ServiceNow instance, please contact Moveworks Support at support@moveworks.ai.
If you set the field in your ServiceNow instance to inactive (active = false) or always hidden (hidden = true or visible = false), Moveworks will ignore this setting. Please remove the field if it is truly inactive, or add a UI policy (with condition = true) that hides the field.
Moveworks converts your ServiceNow variables into internal supported types where possible.
For all drop downs, Moveworks ingests all the options from the reference tables, applying any simple reference qualifiers (static filters on the underlying table) will be okay. Make sure not to use any dynamic comparators either (as pictured below) if you want your form to be fillable in chat. Complex reference qualifiers are not supported.

If there are more than 100,000 options after applying the reference qualifier, ingestion is skipped and the form is marked as not fillable.
The container_start variable is used to group a set of variables. When a form uses a container_start field, Moveworks will render any variables in that group that part of the supported list. Most forms that use the container_start variable typically have a container_end variable as well, however the container_end variables are supported.
If there’s a variable between container_start and container_end that is not supported although Moveworks supports the container_startvariable, the bot will not be able to render the form natively in chat.
Basic UI policies are supported given that they:
Be sure to disable client UI scripts on any forms that you want fillable in bot.
To submit on behalf of the user, Moveworks will provide the submitter as a field in the submission.
Once the field is defined, that field will be pre-populated when the form is rendered and used when submitting the form.
Moveworks offers support for simple reference qualifiers on all types of reference fields, given that they contain less than 100,00 options after the reference qualifier is applied. For user fields with unsupported reference qualifiers, Moveworks will default to using the full list of users.
In order for us to display your forms within your bot we will need your help getting the right permissions setup. The required attributes listed below are not exhaustive. In addition, Moveworks expects a certain schema of nested attributes. Additional table access may also be required as the Moveworks form skill evolves.****
sc_cat_item
sc_catalog
sc_category
item_option_new
catalog_ui_policy
catalog_ui_policy_action
sys_ui_policy
sys_db_object
sys_dictionary
In addition to the above tables, the Moveworks service account will need “read” access to all tables that are referenced in Reference / Choice / List collector fields (to be able to display the options to the user) and need access to the form via the Service Catalog API:
GET: https://.service-now.com/api/sn_sc/v1/servicecatalog/items/<form_id>
Q: How does the requestor get populated when a form is filled in Moveworks?
A: When a user chooses to fill out a form in the Moveworks bot, the requestor on the resulting ticket will always be the user chatting with the bot. Which variable is used to capture the requestor is based on how your form is configured:
You can do this by navigating to Forms > Advanced Settings under the Ticketing Automation Module. Look for the Form requester field names field.

Here you can define the name of the custom field which needs to be pre-populate with the current user info.
Q: Does Moveworks support Two-Step Checkout? (only applicable for the Legacy Service Catalog UI)
A: No, this must be disabled.
glide.sc.checkout.twostep.glide.sc.checkout.twostep is set to false.Q: Does Moveworks support Attachment Upload for Ingested Forms
A: No, This is not supported.
Q: Does Moveworks support record producers?
A: Yes, as long as the record producer meets the following requirements:
gs.getUserId() or any other GlideSession APIs functions. This can lead to strange behavior where the caller field on the resulting ticket belongs to the service account rather than the employee that filled out the record producer. Instead, Moveworks recommends adding a field on the Record Producer for the requesting user e.g: requested_for .Q: Does Moveworks support themeta field?
A: No, not at the moment.
Q: My ServiceNow form is ingested and listed in Moveworks Setup, but it isn’t surfacing in the Moveworks bot. Why?
A: When a form is “Serving” but not appearing, it usually indicates a permissions mismatch or User Criteria restriction. Moveworks mirrors your ServiceNow security model to ensure users only see what they are entitled to.
Troubleshooting Steps
Action Required: To make sure that all permissions are accessible, please refer to the APIs accessed by Moveworks listed above.
Q: How should I configure my Record Producer?
A: Record Producers can be filed by Moveworks using a default payload which leverages.



