For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
Logo
DeveloperAcademyCommunityStatus
  • Service Management
    • Overview
    • Concierge & Ticketing Capabilities Overview
    • Forms
    • Forms - Integration Specific Guides
    • Live Agent Chat / Handoff
    • Triage
    • Approval Mirroring
    • Ticket Interception
    • Generic Ticketing Integration: Ticket Gateway
      • Ticket Gateway: Configuration Guide
      • Discovery Guide: Ticketing system
      • Input context for ticket gateway actions
  • Administration
    • MyMoveworks
    • Organization Information
    • Roles and Permissions
    • MyMoveworks SSO
  • Moveworks Setup
    • Accessing Moveworks Setup
    • First-Time Login via Magic Link
    • Moveworks Setup Modules
    • Moveworks Setup: Module How To Guides
    • Plugin Management
    • Monitor Alerts
    • Audit Logs
    • DSL Fields Defaults
    • Data Crawling View
    • API Playground
    • Setup Homepage
    • Troubleshooting Hub
    • Security and Privacy Settings
    • Configuration Delete
    • Advanced Config Editor
    • Identity configuration
    • Onboarding Stage
  • Security
    • Security
    • Hyperlink & Button Expiry
    • Attachment Handling
    • Moveworks Subprocessors
  • Provision Management
    • Overview
    • Access Software
    • Access Groups
    • Access Account
  • Access Requirements
    • Overview
    • Update Set Modules
    • Ticketing Systems & ITSMs Access
    • Identity and Access Management Systems Access
    • Multi-Factor Authentication (MFA) Systems Access
    • Knowledge Access Requirements
    • Email Distribution List Systems Access
    • Facilities Management Access
    • Live Agent Chat Access
    • HR Information System Access
    • Expense Management Access
    • Calendar Management Access
  • Core Platform
    • User Identity
    • Moveworks On-Prem Agent
    • Approvals Engine
    • Entity Catalog
    • Configuration Languages
    • Moveworks Data Objects
    • SIEM
  • Employee Experience Insights
    • Overview
    • Breaking Down the Dashboard
    • Understanding Industry Benchmarks
    • Apps & Services
    • Impact Module
    • EXI Common Use Cases
    • Configure EXI
    • Ticket Backpolling
  • Knowledge Studio
    • Overview
    • Knowledge Studio Configuration
    • AI Powered Recommendations
    • Inspecting & Verifying Sources
    • Publishing Articles
    • Creating Knowledge Articles
    • Resolving IT Tickets Guidance
DeveloperAcademyCommunityStatus
On this page
  • 1. Query ticket by id ticket action
  • 2. Query ticket by requestor action
  • 3. Query tickets by time range action
  • 4 .Query tickets by time range paginated action
  • 5. Create ticket action
  • 6. Update Fields ticket action
  • 7. Update State ticket action
  • 8. Update Assignment ticket action
  • 9. Resolve Ticket action
  • 10. Reopen Ticket action
  • 11. Post Note Ticket action
  • 12. Post Attachments Ticket Action
  • 13. Post Process Ticket Action :
Service ManagementGeneric Ticketing Integration: Ticket Gateway

Input context for ticket gateway actions

||View as Markdown|
Was this page helpful?
Edit this page
Previous

MyMoveworks

Next
Built with

The following doc contains input context available for each ticket gateway actions. Refer to the configuration guide to learn how to use it.

  • Requestor info is a class in Moveworks which stores the end users details. This allows you fetch ITSM related information for that user.

    Example :

    1{
    2 "requestor_info": {
    3 "requestor": {
    4 "full_name": "Molly Agent",
    5 "user_id_info": {
    6 "user_itsm_id_info": [
    7 {
    8 "system": "MANAGE_ENGINE",
    9 "external_id": "158691000000201918",
    10 "integration_id": "manage_engine"
    11 }
    12 ]
    13 }
    14 },
    15 "org": {
    16 "name": "{{org_name}}"
    17 }
    18 }
    19}

1. Query ticket by id ticket action

Input

  • ticket_id (string)

Output

  • Ticket JSON under the key raw_ticket

2. Query ticket by requestor action

Input

  • requestor (User)

  • updated_start_ts (string)

    Example: 2026-01-05T10:30:45.123456Z

  • updated_end_ts (string)

    Example: 2026-01-05T10:30:45.123456Z

  • destination (dict)

    Example: { "table_name": "test-table-name" }

Output

  • List of tickets under the key raw_tickets

3. Query tickets by time range action

Input

  • updated_start_ts (string)

    Example: 2026-01-05T10:30:45.123456Z

  • updated_end_ts (string)

    Example: 2026-01-05T10:30:45.123456Z

  • destination (dict)

    Example: { "table_name": "test-table-name" }

Output

  • List of tickets under the key raw_tickets

4 .Query tickets by time range paginated action

Input

  • updated_start_ts (string)

    Example: 2026-01-05T10:30:45.123456Z

  • updated_end_ts (string)

    Example: 2026-01-05T10:30:45.123456Z

  • destination (dict)

    Example: { "table_name": "test-table-name" }

  • pagination_info (dict)

Output

  • List of tickets under the key raw_tickets

5. Create ticket action

Input

  • destination (dict)

    Example: { "table_name": "test-table-name" }

  • payload (dict)

    Example:

    1{
    2 "description": "Need help with monitor"
    3}

Output

  • Ticket JSON under key raw_ticket

6. Update Fields ticket action

Input

  • ticket (dict)

  • destination (dict)

    Example: { "table_name": "test-table-name" }

  • payload (dict)

Output

  • Ticket JSON under key raw_ticket

7. Update State ticket action

Input

  • ticket (dict)
  • payload as below:
1{
2 "payload": {
3 "target_state" : "external_system_target_state"
4 }
5}
1{
2 "payload": {
3 "target_state": "external_system_target_state"
4 }
5}

Output

  • Ticket JSON under key raw_ticket

8. Update Assignment ticket action

Input

  • ticket (dict)

  • destination (dict)

    Example: { "table_name": "test-table-name" }

  • payload as below:

1{
2 "payload": {
3 "assignee_id": "test-assignee-id",
4 "assignment_group": "test-assignment-group"
5 }
6}

Output

  • Ticket JSON under key raw_ticket

9. Resolve Ticket action

Input

  • ticket (dict)
  • payload as below:
1{
2 "payload": {
3 "status": "<external_resolve_status>"
4 }
5}

Output

  • Ticket JSON under key raw_ticket

10. Reopen Ticket action

Input

  • ticket (dict)
  • payload as below:
1{
2 "payload": {
3 "target_state": "<external_reopen_state>"
4 }
5}

Output

  • Ticket JSON under key raw_ticket

11. Post Note Ticket action

Both add comment and add worknote will use post note ticket action. comment or work_note will be populated in the context based on the action and will be identified with the flag is_comment which will be True for comment and false for work_note.

Input

  • ticket (dict)
  • user ( User ) will only be present if there is user impersonation.
  • payload as below:
1{
2 "payload": {
3 {
4 "comment": "testcomment",
5 "is_comment": True,
6 "work_note": "test work_note"
7 }
8 }
9}

Output

  • Ticket JSON under key raw_ticket

12. Post Attachments Ticket Action

Input context :

  • ticket_id
  • file / attachment
1{
2 "file": {
3 "file_name" : "file_name",
4 "location": "location"
5 }
6}

Input args :

1{
2 "processfilename": {
3 "file_name": "data.file.file_name",
4 "location": "data.file.location"
5 },
6 "ticket_id": "data.ticket_id"
7}

File mapper in HTTP action :


13. Post Process Ticket Action :

Post process ticket action is used to add/update fields in ticket proto.

In context of ticket gateway, you’re provided with ticket proto and using the http_actions one can update the ticket and send back to internal service.

Example: define http_action to fetch comments for a ticket and map it to activity_log of ticket proto.

Input : Ticket ( dict )

Output : Ticket under the key raw_ticket

Tip: If your ITSM system doesn’t require any update on ticket. You’re still required to define this action as this is necessary for other query ticket actions. Just add fetch ticket http action and send back the ticket in input context

Ticket proto fields

1message Ticket {
2 string id = 1 [(mw.masking.v1.customer_data) = CUSTOMER_DATA_TICKET_ID];
3 string display_ticket_id = 37 [(mw.masking.v1.customer_data) = CUSTOMER_DATA_TICKET_ID];
4 string external_id = 41 [(mw.masking.v1.customer_data) = CUSTOMER_DATA_TICKET_ID];
5 string integration_id = 18 [(mw.masking.v1.customer_data) = CUSTOMER_DATA_INTEGRATION_DATA];
6 string external_url = 49 [(mw.masking.v1.customer_data) = CUSTOMER_DATA_URL];
7
8 string itsm_ticket_type = 15 [
9 (mw.masking.v1.customer_data) = CUSTOMER_DATA_TICKET_DATA,
10 (mw.validation.v1.rules).string = {
11 in: ['DEFAULT', 'INCIDENT', 'REQUEST', 'REQUEST_ITEM', 'CALL', 'TASK', 'MISC', 'UNIVERSAL_REQUEST', 'HR_CASE']
12 }
13 ];
14 string ticket_type = 35 [(mw.masking.v1.customer_data) = CUSTOMER_DATA_INTEGRATION_DATA];
15 string type = 28 [(mw.masking.v1.customer_data) = CUSTOMER_DATA_INTEGRATION_DATA];
16 string category = 21 [(mw.masking.v1.customer_data) = CUSTOMER_DATA_INTEGRATION_DATA];
17 string subcategory = 22 [(mw.masking.v1.customer_data) = CUSTOMER_DATA_INTEGRATION_DATA];
18 string priority = 26 [(mw.masking.v1.customer_data) = CUSTOMER_DATA_INTEGRATION_DATA];
19 string domain = 27 [(mw.masking.v1.customer_data) = CUSTOMER_DATA_INTEGRATION_DATA];
20 TicketDestination ticket_destination = 39;
21
22 string state = 2 [(mw.masking.v1.customer_data) = CUSTOMER_DATA_INTEGRATION_DATA];
23 string sub_state = 40 [(mw.masking.v1.customer_data) = CUSTOMER_DATA_INTEGRATION_DATA];
24 string internal_state_code = 8 [
25 (mw.validation.v1.rules).string = {
26 in: ['NEW', 'WIP', 'WAITING_FOR_USER', 'WAITING_FOR_VENDOR', 'WAITING_FOR_APPROVAL', 'CLOSED', 'RESOLVED', 'NOT_APPLICABLE']
27 },
28 (mw.masking.v1.customer_data) = CUSTOMER_DATA_TICKET_DATA
29 ];
30 string close_code = 9 [(mw.masking.v1.customer_data) = CUSTOMER_DATA_INTEGRATION_DATA];
31 string close_notes = 6 [(mw.masking.v1.customer_data) = CUSTOMER_DATA_TICKET_DATA];
32
33 string short_description = 3 [(mw.masking.v1.customer_data) = CUSTOMER_DATA_TICKET_DATA];
34 string description = 4 [(mw.masking.v1.customer_data) = CUSTOMER_DATA_TICKET_DATA];
35 repeated TicketActivityItem activity_log = 31;
36 repeated TicketActivityItem work_note_log = 48;
37 google.protobuf.Struct variables = 36;
38 map<string, string> custom_data = 13 [(mw.masking.v1.customer_data) = CUSTOMER_DATA_TICKET_DATA];
39
40 moveworks.type.identity.v2.User requested_for = 7;
41 moveworks.type.identity.v2.User opened_by = 11;
42 moveworks.type.identity.v2.User created_by = 10;
43 moveworks.type.identity.v2.User assigned_to_user = 17;
44 moveworks.type.identity.v2.User resolved_by = 5;
45 moveworks.type.identity.v2.User updated_by = 33;
46 string assignment_group = 19 [(mw.masking.v1.customer_data) = CUSTOMER_DATA_INTEGRATION_DATA];
47
48 google.protobuf.Timestamp created_at = 12;
49 google.protobuf.Timestamp resolved_at = 30;
50}
51
52message TicketActivityItem {
53 string full_text = 1 [(mw.masking.v1.customer_data) = CUSTOMER_DATA_INTEGRATION_DATA];
54 google.protobuf.Timestamp ts = 2;
55 string activity = 3 [(mw.masking.v1.customer_data) = CUSTOMER_DATA_INTEGRATION_DATA];
56 string by = 4 [(mw.masking.v1.pii_data) = PII_NAME];
57}