# Ticket Management Actions

The Aisera AI Workflow Studio provides Ticket Management Actions that you can choose when creating Workflow Action Nodes.

Each of the following Actions is discussed in this topic:

* [CreateTicketV3](https://docs.aisera.com/aisera-platform/ai-automation-optimize-flow/ai-workflow-studio/building-workflows/using-workflow-actions/ticket-management-actions#create-ticket-action)
* [CloseTicket](https://docs.aisera.com/aisera-platform/ai-automation-optimize-flow/ai-workflow-studio/building-workflows/using-workflow-actions/ticket-management-actions#close-a-ticket)
* [GetTicketDetails](https://docs.aisera.com/aisera-platform/ai-automation-optimize-flow/ai-workflow-studio/building-workflows/using-workflow-actions/ticket-management-actions#get-ticket-detail)
* [ListTickets](https://docs.aisera.com/aisera-platform/ai-automation-optimize-flow/ai-workflow-studio/building-workflows/using-workflow-actions/ticket-management-actions#list-tickets)
* [ReopenTicket](https://docs.aisera.com/aisera-platform/ai-automation-optimize-flow/ai-workflow-studio/building-workflows/using-workflow-actions/ticket-management-actions#re-open-a-ticket)
* [UpdateTicketAction](https://docs.aisera.com/aisera-platform/ai-automation-optimize-flow/ai-workflow-studio/building-workflows/using-workflow-actions/ticket-management-actions#update-ticket-action)
* [AddAttachmentAction](https://docs.aisera.com/aisera-platform/ai-automation-optimize-flow/ai-workflow-studio/building-workflows/using-workflow-actions/ticket-management-actions#addattachmentaction)
* [AddTicketComment](https://docs.aisera.com/aisera-platform/ai-automation-optimize-flow/ai-workflow-studio/building-workflows/using-workflow-actions/ticket-management-actions#add-ticket-comment)

Go back and read general information about [building workflows](https://docs.aisera.com/aisera-platform/ai-automation-optimize-flow/ai-workflow-studio/building-workflows), in a previous topic, if you have never created an Aisera Workflow. Go back and read [Using Workflow Actions](https://docs.aisera.com/aisera-platform/ai-automation-optimize-flow/ai-workflow-studio/building-workflows/using-workflow-actions), if you have never created a workflow that uses Action Nodes.

### Ticket Management Concepts

Before you proceed to each Ticket Management Action, become familiar with the core concepts in the following sections.

#### Data Source

A Data Source is the connection between Aisera and your external ticketing system (such as, ServiceNow, Jira, Zendesk, Salesforce). It serves two purposes:

* Authorization: The Data Source is linked to an integration that holds the credentials needed to authenticate with your external system. Without it, actions cannot communicate with the external platform.
* Field Mapping: It defines how fields in your external system (e.g., short\_description in ServiceNow) map to Aisera's internal Ticket fields (e.g., title). This ensures data flows correctly between systems.

Most Ticket Management actions include an optional dataSourceId input. If provided, the action targets that specific Data Source. If omitted, the default Source of Record (SOR) for your application is used automatically.

#### The Ticket Object

All Ticket Management actions return a standardized Ticket object. Regardless of the external system, Aisera maps every ticket into this unified structure so your workflows work consistently across platforms.

#### Key Ticket Management Action Fields

| Field                                       | Description                                                                                                        |
| ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------ |
| displayId                                   | The ticket ID visible in your external system (such as, INC0012345).                                               |
| title / description                         | Summary and detailed description of the ticket.                                                                    |
| status                                      | Current status (such as, Open, In Progress, Closed).                                                               |
| priority / severity                         | Priority and severity levels.                                                                                      |
| type                                        | Ticket type: Incident, Request, Alert, Change, Problem, or Request Item.                                           |
| reporter / assignedTo                       | The user who reported the ticket and the agent assigned to it.                                                     |
| category                                    | The category the ticket belongs to (e.g., Hardware, Network).                                                      |
| creationDate / lastUpdatedDate / closedDate | Key timestamps.                                                                                                    |
| resolution                                  | Resolution details and solution text (when closed).                                                                |
| comments                                    | List of all comments on the ticket.                                                                                |
| customFields                                | Key-value pairs for any additional fields specific to your external system, as defined in the Data Source mapping. |
| ticketUri                                   | Direct URL to the ticket in the external system.                                                                   |

After an action executes, you can reference any of these fields in subsequent workflow steps — for example, displaying the displayId to the user or checking the status to branch your logic.

***

### Create Ticket Action

**Description:** Creates a new ticket in an external ticketing system (such as ServiceNow, Jira, Salesforce, Zendesk, and many others) or internal service using the provided field values or a custom JSON payload. This action supports advanced options such as user information injection, AI-based field predictions, and file attachments.&#x20;

**Supported External Systems:** Salesforce, Zendesk, Jira, ServiceNow, Datadog, BMCHelix, Generic, Workday, Cherwell, StatusCast, JiraSoftware, TeamDynamix, FootPrints11, SolarWindsITSM, ConnectWise, Microfocus, Kace, Ivanti, SAPC4C, RequestTracker, Copilot, Autotask, EasyVista.

**Recommended Action:** Create Ticket Action is the enhanced version of Deprecated Create Ticket. Use Create Ticket Action for all new workflows as it supports flexible Data Source field mapping, custom JSON payloads, file attachments via workflow variables, and automatic user info injection.

**Input:**&#x20;

* **Data Source (Dropdown, Required):** The data source (external system) to use for ticket creation. If not specified, the default Source of Record (SOR) for the application will be used. Select the desired value from the available in the dropdown. – example: "ServiceNow DS"&#x20;
* **Ticket Type (Dropdown, Optional):** Select the type of ticket to create (e.g., Incident, Request, Alert). Defaults to 'Incident' if not specified – example: "Incident"
* **Ticket Fields (String, Optional):** The fields to populate when creating the ticket. Title is required; Description is optional. Use the Add Field button to select and set values for any additional fields available in your Data Source mapping (e.g., Priority, Category, Assignment Group). - example: Title -> Laptop not working , Description -> My laptop screen is flickering , Priority -> High
* **attachments (Dropdown, Optional):** A list of file attachment objects to include with the ticket. Select the desired attachments to be added from the available variables in the dropdown. – example: attachmentVar
* **customPayload (String, Optional):** A custom JSON payload to override standard field-based ticket creation. Use this to send raw JSON directly to the external system when advanced or non-standard fields are required – example: {"short\_description":"VPN issue","urgency":"2","impact":"2"}&#x20;

**Configuration Parameters:**&#x20;

* **applyPredictions (Checkbox, Optional, Default: false):** If true, applies AI-based field predictions to the ticket creation process. – example: true&#x20;
* &#x20;**publishResults (Checkbox, Optional, Default: false):** If true, publish the created ticket results to database for analytics.  – example: false&#x20;
* **injectUserInfo (Checkbox, Optional, Default: false):** If true, injects user information from the execution context into the ticket (e.g., reporter details). – example: true&#x20;

**Output:**&#x20;

* **ticket (Ticket):** The created ticket object, including all fields and metadata returned by the external system.&#x20;
* **response (String):** The raw response from the external system, typically as a JSON string. Useful for debugging.&#x20;
* **success (Boolean):** Indicates whether the ticket was created successfully (true) or if there was an error (false).&#x20;
* **errorMessage (String):** If the ticket creation failed, this field contains the error message.

***

### Close a Ticket&#x20;

**Description:** Closes an existing ticket in an external ticketing system or internal service by updating the ticket status to 'Closed'. This action can be used to automate ticket closure workflows, optionally providing resolution details and updating custom fields.

**Supported External Systems:** Salesforce, Zendesk, Jira, ServiceNow, Datadog, Fresh, BMCHelix, Generic, JiraSoftware, StatusCast, TeamDynamix, FootPrints11.

**Input:**&#x20;

* **id (String, Required):** The unique identifier of the ticket to be closed – example: "INC123456"
* **type (String, Optional):** The type of ticket to close (for example, Incident, Request, etc.). Defaults to 'Incident' if not specified – example: "Request"
* **resolution (String, Optional):** The resolution or solution text to set for the ticket when closing it. This value will be used to populate the resolution fields in the external system – example: 'Issue resolved by updating configuration.'
* **customFields (Map, Optional):** A map of custom field names and values to update when closing the ticket – example: {"u\_resolution\_code": "Solved", "u\_close\_notes": "Verified fix with user"}&#x20;
* &#x20;**dataSourceId (Number, Optional):** The ID of the data source (external system) where the ticket exists. If not specified, the default system of record will be used.  – example: 7&#x20;

**Configuration Parameters:** (none)&#x20;

**Output:**&#x20;

* &#x20;**ticket (Ticket):** The closed ticket object, including all fields and metadata returned by the external system.

***

### Get Ticket Details&#x20;

**Description:** Retrieves detailed information about a specific support ticket using its unique ticket ID. This action allows users to view the current status, description, and other key details of a support request.&#x20;

**Supported External Systems:** Salesforce, Zendesk, Jira, ServiceNow, Datadog, BMCHelix, Generic, Workday, SolarWinds, ManagedEngines, JiraSoftware, TeamDynamix, SolarWindsITSM, ConnectWise, Kace, SAPC4C, Copilot, Autotask, EasyVista.&#x20;

**Input:**&#x20;

* **id (String, Required):** The unique identifier for the support ticket you want to look up. Enter the ticket ID provided when your support request was created. – example: "INC0012345"
* &#x20;**type (String, Optional):** The type of ticket to retrieve (for example, Incident, Request, etc.). Defaults to 'Incident' if not specified. – example: "Request"
* **dataSourceId (Number, Optional):** The ID of the data source (external system) where the ticket exists. If not specified, the default system of record will be used. – example: 7&#x20;

**Configuration Parameters:** (none)&#x20;

**Output:**&#x20;

* **ticket (Ticket):** The ticket object with all current details.&#x20;
* **response (String):** The response from the external system, usually as a JSON string. Useful for debugging.
* **success (Boolean):** Indicates whether ticket retrieval was successful.&#x20;
* **errorMessage (String):** If the request failed, this field contains the error message.&#x20;

***

### List Tickets&#x20;

**Description:** Retrieves a list of tickets from the external system based on provided filters. This action enables users to search and filter tickets by status, type, title, reporter, and other criteria. Results are sorted by last updated date (most recent first).

**Supported External Systems:** Salesforce, Zendesk, Jira, ServiceNow, Datadog, Fresh, BMCHelix, Generic, Workday, SolarWinds, ManagedEngines, JiraSoftware, TeamDynamix, SolarWindsITSM, ConnectWise, Kace, Ivanti, SAPC4C, RequestTracker, Copilot, Autotask, EasyVista.&#x20;

**Input:**&#x20;

* **status (String, Optional):** The status filter for tickets (e.g., 'open', 'closed', 'pending'). Only tickets matching this status will be returned. – example: "Open"
* **duration (Number, Optional):** The number of days in the past (from today) to include tickets in the result. For example, a value of 7 will retrieve tickets from the last 7 days. If not specified, the default is used. – example: 14&#x20;
* **type (String, Optional):** The type of tickets to retrieve (for example, Incident, Request, etc.). Defaults to 'Incident' if not specified. – example: "Incident"&#x20;
* **title (String, Optional):** The title filter for tickets. Only tickets with titles matching this string will be returned. – example: "Password Reset"&#x20;
* **emailId (String, Optional):** The email address of the reporter (user who created the ticket). Used to identify tickets reported by this user. – example: "<user@example.com>"&#x20;
* **externalUserId (String, Optional):** The external system user ID of the reporter. Used to filter tickets created by this user. – example: "681b29e2db4c2b5024bdf6f"&#x20;
* **dataSourceId (Number, Optional):** The ID of the data source (external system) where the ticket exists. If not specified, the default system of record will be used. – example: 7&#x20;
* **customQuery (String, Optional):** Custom query for applying specific filters at the list request. The query should be provided in the following format: \[ { "field": "String of field name as provided in datasource", "operator": "none,eq,neq,like,gt,lt,gte,lte,in,nin,timestamp\_gte,timestamp\_lte", "value": "String of value" } ] – example: '\[{"field":"Priority","operator":"eq","value":"High"}]'&#x20;

**Configuration Parameters:**&#x20;

* **defaultDurationInDays (Number, Optional, Default: 7):** The default number of days in the past to include tickets if duration is not specified. For example, a value of 7 will retrieve tickets from the last 7 days. – example: 10
* **maxNumOfTickets (Number, Optional, Default: 10):** The maximum number of tickets to return in the result. Use this to limit the result set. – example: 20&#x20;

**Output:**&#x20;

* **tickets (Tickets):** A list of ticket objects matching the provided filters. Each ticket contains details such as ID, status, priority, assignee, and creation date.&#x20;
* **success (Boolean):** Indicates whether the ticket retrieval was successful.&#x20;
* **errorMessage (String):** If the request failed, this field contains the error message from the external system.

***

### Re-open a Ticket&#x20;

**Description:** Reopens a previously closed ticket in your external system. Use this action to change the status of a closed ticket back to an active state so it can be worked on again. This is useful when a ticket was previously closed or resolved but needs further attention.

**Supported External Systems:** Salesforce, Zendesk, Jira, ServiceNow, Datadog, BMCHelix, Generic, JiraSoftware, ManagedEngines.

**Input:**&#x20;

* &#x20;**id (String, Required):** The unique identifier of the ticket you want to reopen. – example: "INC0012345"&#x20;
* &#x20;**type (String, Optional):** The type of ticket to reopen (for example, Incident, Request). Defaults to 'Incident' if not specified. – example: 'Incident'&#x20;
* &#x20;**customFields (Map, Optional):** A map of custom field names and values to update when reopening the ticket. – example: {"u\_reopen\_reason": "Additional information received from user"}
* **dataSourceId (Number, Optional):** The ID of the data source (external system) where the ticket exists. If not specified, the default system of record will be used.  – example: 7&#x20;

**Configuration Parameters:** (none)&#x20;

**Output:**&#x20;

* **ticket (Ticket):** The ticket object after it has been reopened, including all current details and status.&#x20;

***

### Update Ticket Action&#x20;

**Description:** The UpdateTicketAction allows you to update an existing support ticket in an external system. You can update ticket fields, add comments, attach files, or provide a custom payload for advanced or system-specific updates.&#x20;

**Supported External Systems:** Salesforce, Zendesk, Jira, ServiceNow, Datadog, BMCHelix, Generic, Workday, Cherwell, StatusCast, JiraSoftware, TeamDynamix, FootPrints11, SolarWindsITSM, ConnectWise, Kace, Ivanti, SAPC4C, RequestTracker, Copilot, Autotask, EasyVista.

**Input:**&#x20;

* **Data Source (Dropdown, Required):** The data source (external system) to use for ticket update. If not specified, the default Source of Record (SOR) for the application will be used. Select the desired value from the available in the dropdown. – example: "ServiceNow DS"
* **Ticket Id (String, Optional):** The unique identifier of the ticket you want to update. – example: "REQ6789"&#x20;
* **Ticket Type (Dropdown, Optional):** Select the type of ticket to update (for example, Incident, Request). – example: "Incident"&#x20;
* **Ticket Fields (String, Optional):** The fields to populate when updating the ticket. Title and Description are optional. Use the Add Field button to select and set values for any additional fields available in your Data Source mapping (e.g., Priority, Category, Assignment Group). - example: Status -> Closed , Resolution -> Resolved after patch
* **attachments (Dropdown, Optional):** A list of file attachment objects to include with the ticket. Select the desired attachments to be added from the available in the dropdown. – example: attachmentVar
* **customPayload (String, Optional):** A custom payload in JSON format to override the default ticket update fields. Use this to send advanced or system-specific updates. – example: '{"id":"INC-123","state":"6","close\_notes":"Resolved after patch","close\_code":"Solved"}'

**Configuration Parameters:**&#x20;

* **applyPredictions (Checkbox, Optional, Default: false):** If true, applies AI-based field predictions to the ticket creation process. – example: true&#x20;
* **publishResults (Checkbox, Optional, Default: false):** If true, publish the created ticket results to database for analytics. – example: true&#x20;
* **injectUserInfo (Checkbox, Optional, Default: false):** If true, injects user information from the execution context into the ticket (such as, reporter details). – example: true&#x20;

**Output:**&#x20;

* &#x20;**ticket (Ticket):** The updated ticket object with all current details.&#x20;
* &#x20;**response (String):** The response from the external system, usually as a JSON string.&#x20;
* &#x20;**success (Boolean):** Indicates whether the ticket update was successful.&#x20;
* &#x20;**errorMessage (String):** If the update failed, this contains the error message.

***

### AddAttachmentAction&#x20;

**Description:** The AddAttachmentAction allows you to attach files to an existing entity, such as a ticket or case, in an external or internal system. This action is typically used to upload documents, images, or other files to enhance the information available for the entity.&#x20;

**Supported external systems:** Salesforce, Zendesk, Jira, ServiceNow, Fresh, and Kace.&#x20;

**Input:** &#x20;

* **ticketId (String, Optional):** The unique identifier of the entity (e.g., ticket or case) to which the attachment will be added. - example: "INC123456"
* **attachmentsJSON (String, Optional):** A stringified JSON array containing objects with file\_name, file\_path, and real\_file\_name. If provided, these files will be retrieved from S3 and uploaded as attachments to the specified ticket. - example: '\[{"file\_name":"error\_log.txt","file\_path":"/tmp/error\_log.txt","real\_file\_name":"error\_log.txt"}]'&#x20;
* **attachments (List, Optional):** A list of attachments provided as variables from User Input or Input Form nodes. Either this or 'attachmentsJSON' must be provided. - example: \[attachment1, attachment2]
* **bucketName (String, Optional):** If provided, set this to the current bucket; otherwise, the default for the cluster is used. - example:  "my-custom-bucket"
* **dataSourceId (Number, Optional):** The ID of the data source (external system) where the ticket exists. If not specified, the default system of record will be used. - example: 7&#x20;
* **contentType (String, Optional):** Type of ticket to update (e.g., Incident, Request, Alert). Defaults to 'Incident' if not specified. - example: "Incident"&#x20;

**Configuration Parameters:**&#x20;

* **deleteAfterSuccess (Boolean, Optional, Default: false):** If true, deletes the uploaded files after a successful operation. - example: true&#x20;

**Output:**&#x20;

* **ticket (Ticket):** The updated ticket object with all current details.&#x20;
* **response (String):** The response from the external system, usually as a JSON string.&#x20;
* **success (Boolean):** Indicates whether the ticket update was successful.&#x20;
* **errorMessage (String):** If the request failed, this field contains the error message.&#x20;

***

### Add Ticket Comment&#x20;

**Description:** The AddTicketComment action adds a comment to an existing support ticket in an external or internal system. Use this action to provide additional information, updates, or responses to a ticket through comments.&#x20;

**Supported external systems:** Salesforce, Zendesk, Jira, ServiceNow, Datadog, Fresh, BMCHelix, Generic, Workday, TeamDynamix, FootPrints11, SolarWindsITSM, Kace, Ivanti, RequestTracker, Copilot, and Autotask.&#x20;

**Input:**&#x20;

* **id (String, Required):** The unique identifier of the ticket to which the comment will be added. Example: "REQ-7890"&#x20;
* **comment (String, Required):** The text content of the comment to add to the ticket. This should contain the information or update you want to provide. - example: "The issue has been escalated to the engineering team."
* **type (String, Optional):** The type of ticket to update (for example, Incident, Request). Defaults to "Incident" if not specified. - example: "Incident"
* **dataSourceId (Number, Optional):** The ID of the data source (external system) where the ticket exists. If not specified, the default system of record will be used. - example: 2&#x20;

**Configuration Parameters:** None&#x20;

**Output:**&#x20;

* **ticket (Ticket):** The updated ticket object with all current details.&#x20;
* **response (String):** The response from the external system, usually as a JSON string.&#x20;
* **status (Boolean):** A boolean value indicating whether the comment was successfully added to the ticket.&#x20;
* **errorMessage (String):** If the request failed, this field contains the error message.

\ <br>
