Ticket Concierge (TC) with Event Studio

Ticket Concierge is part of a group of Tickets Operations that are often used with the Agent Assist or Webchat bots.

Ticket Concierge strives to resolve the customer issues proactively. When a user creates a ticket, the Aisera Gen AI platform will listen to the ticket creation event and send a resolution to the ticket via the email channel/bot.

Prerequisites:

  1. Create an Aisera Service User Account. Use the log in credentials for the data source that you want to integrate with your company's Aisera tenant instance.

  2. Integrate your Data Source with your Aisera Tenant Instance (your company's Aisera platform).

  3. Add or edit the Data Source for your Aisera Tenant Instance (your company's Aisera platform).

  4. Make sure the following Data Source parameters are set.

    1. Under General:

      1. Add Name

      2. Select the previously created integration from the drop-down list for Integrations.

      3. Select Downstream.

      4. Functions: Ticket Learning, User Learning

      5. Schedule: On Demand

      Data Source Configuration for Ticket Concierge

      f. Skip the rest of the parameters.

    2. Click Next until you complete the configuration.

  5. Navigate to Settings > AiseraGPT and choose an existing application/bot or create a new application/bot.

  6. Associate Your Data Source with an existing Application/Bot.

  7. Scroll down on the bot Details page and click the View App Conversation Messages link to view the default messages list.

  1. From the list, search for Ticket Concierge and modify the context to customize the text as you want it to be viewed by end users.

Modify Conversation Messages
  1. You may already have Intents setup on the application. However, if there aren't any Intents associated with your application/bot scroll down to the View Intents button on the bot Details page to create, activate, and retain an Intent before you continue.

Data Type Creation

A Data Type is a custom Aisera entity that you can create to use as a Data Source for Events and Triggers. Your Data Type can contain a sub-set of the data from the fields that were added when you ran the User Learning and Ticket Learning Jobs. These mapped fields are listed on the lower section of your Data Source Details page. You can use this as a reference when you add your Data Type fields, or you can use data from a file that you derive from your Data Source application to locate the fields that you want to use for events and triggers.

  1. Select Settings > Data Type in the Aisera Admin UI to define a new Data Type.

New Data Type
  1. Configure the Data Type to receive events from external systems and map the incoming payload to its fields. In the Data Type Details window, a $ symbol represents the incoming (Ticket Creation) payload.

Choose the New Field button on the Data Type Details window to add fields that you want to use with Events and Triggers.

New Data Type Field

Select the New Custom Field button to add fields associated with Aisera internal events.

Default Data Types are available for internal events, such as AuditEvent.

NOTE: When you are creating a Data Type and its fields to match a specific payload, there are some important concepts to keep in mind:

  • There are two different kinds of payload attributes, that you need to be map to the Data Type fields:

    • Intent Extraction attributes: when creating Data Type fields, you have to selectively add the attributes, to carry useful information for intent extraction from the ticket, such as, Subject, Description, Status, and Category. Exclude fields that are not useful for intent extraction, such as, createdAt and updatedAt.

    • Ticket Auditing attributes: There are three attributes that are always required for auditing and, these attributes need to be always created on the datatype for internal auditing purposes, of the user request in RequestDetails page. They are : Ticket Id, Ticket Reporter Email, Ticket URI.

  • Create fields for both Intent Extraction Attributes, and Ticket Auditing Attributes from the Ticket Creation payload. An example Ticket Creation payload might look similar to the following:

{
    "id": "7360e62adb3f4590b89fe7dcd3961940",
    "displayId": "INC0012345",
    "createdAt": "2022-06-03 11:45:32",
    "updatedAt": "2022-06-13 13:21:07",
    "subject": "Unable to access the email server",
    "description": "User reports that they are unable to access the corporate email server.",
    "status": "New",
    "priority": "High",
    "eventInitiator": {
        "name": "John Doe",
        "emailAddress": "[email protected]"
    },
    "url": "https://servicenow.example.com/incident.do?sys_id=7360e62adb3f4590b89fe7dcd3961940",
    "customFields": {},
    "category": "Network",
    "assignee": {
        "name": "Jane Smith",
        "emailAddress": "[email protected]"
    },
    "reporter": {
        "name": "Alice Johnson",
        "emailAddress": "[email protected]"
    },
    "eventType": "created"
}

Ticket Creation Payload

Modeling the Attributes

As described above, the Data Types Details window should look like this following screenshot, after you have added Fields based on the Ticket Creation Payload.

Data Type Fields Created Based on Ticket Payload from ServiceNow

There are two points to keep in mind when modeling attributes:

  • The Field Name (as shown on left side) should be the name that you want the Aisera Gen AI platform to use and display. It can be whatever you want, since this is used internally.

  • The External Field (as shown on right side) is the exact mapping of the attribute from the Data Source payload (the JSON object that gets sent when a ticket is created).

Note: Important: The $ symbol on the Data Type Details window holds the entire JSON payload, so when you are creating the external field, be extra careful because it is case-sensitive. This also has to match the exact name and exact level in the JSON payload, and it can not have any extra spaces, anywhere. Example:

For the Ticket Reporter Email Address: its a level two attribute in the JSON file, so it is mapped as: $.reporter.emailAddress from the payload.

Each Data Source has a unique way to create a System Script or Webhook. See the System Administrator for your Data Source to create a webhook. See the instructions below for some of the commonly-used Data Sources. NOTE: This information is subject to change based on the releases of your Data Source companies.

Create Scripts or Webhooks

The following topics contain data-source-specific information about setting up webhooks for some popular Ticket Concierge sources: ServiceNow Setup for Ticket Concierge Jira Service Desk with Ticket Concierge Zendesk with Ticket Concierge

Data Source Update for Event Handler

  1. Edit your Data Source configuration so that it includes your new Data Type.

    1. Make sure your Data Source includes the Event Trigger, UserLearning, and TicketLearning functions.

    2. Select your new Data Type (that you created above).

    This will normalize incoming data for processing from multiple sources.

Edit the Data Source
  1. Select Schedule as On Demand, and leave the defaults for the rest of the parameters.

  2. Click OK.

Run System Ingestion Jobs

After editing the Data Source, navigate to Settings > System Jobs.

  1. After editing the Data Source, navigate to Settings > System Jobs.

  2. Make sure you are in the Generic Jobs tab.

  3. Select + New Job.

  4. Choose Ticket Learning.

  5. Repeat the steps above to run the User Learning job.

  6. Proceed to the next steps when the jobs complete without any errors.

Run Ticket Learning Job
  1. Navigate back to the Data Source Details page to see the updated results.

Results of Data Ingestion Jobs in Data Source Details Window
  1. Copy the values of the Endpoint URL and App Key from the Data Source Details page. Examples Endpoint URL : https://xxx.api.aws-00x-us-west-x.aisera.cloud/event-gateway/events App Key: H4sIAAAAAABAAAEwAM//TJNL/Dm+UBzsPeB49Ep56P89xFIJjvJttOOdEb05N6v0kkJS71ynwUWSVnYnCCqvWtJqLDAAABA=

Add the Endpoint URL and App Key to the Webhook

Navigate back to your Data Source to add the Endpoint URL and App Key from the Aisera Data Source Details window.

Create an Aisera Event Trigger/Handler

  1. Navigate to AI Automation > Event Studio

  2. Choose + New Event Trigger in the upper right corner.

  3. Select the Ticket Concierge option in the New Event Trigger window.

New Event Trigger
  1. Create a Name for the Event Trigger. Example: Snow TC Event Handler 1.0

  2. Set the Event Handler Type to Ticket Concierge.

  3. Choose the Data Source for the Ticket Concierge data source. Example: Snow Event Studio DS for Ticket Concierge.

  4. Set the Status field to Active.

Choose Data Type, Event Type, and Triggering Condition

On the Second page (2 of 3):

  1. Set the Data Type to the new Data Type that you created in previous steps.

  2. Choose RecordCreated as the Event Type.

  3. Select the AI Ticket Fields. These fields correspond to the Ticket Auditing Attributes. They are used to Audit the Ticket Request, for fields on the Request Details page, and for Analytic pages. Choose the appropriate options from the drop-down lists. The drop-down lists are populated from the fields in your Data Type. You can select triggering conditions on the fields to restrict processing of certain tickets, like example when Priority field is set to High, or status set to New etc.

Tie Trigger to Workflow

On the final page (3 of 3) you can tie the Event Trigger to the TC Workflow:

  1. Choose a Pre-handling Workflow that you want to trigger as soon as a Ticket is created. The Pre-handling Workflow is only invoked only when Ticket Reporter Email address is missing from the payload. This can happen due for multiple reasons. for example, the email might not be sent due to security concerns. If so, you have to make a call to the external ticketing system to retrieve the reporter's email address.

Setting Pre-handling Flow

You can perform additional pre-processing operations on the Ticket, because the Prehandling Flow is a Workflow, but do not forget to set the userEmail output variable in the Workflow, because this is used by the Aisera Gen AI platform process the Request.

Navigate to AI Automation > AI Studio if you want to edit Workflow Input Variables.

Modify Workflow in AI Studio

The Aisera platform expects an output variable called userEmail, of type String to be set by the pre-handling workflow, and this is what gets consumed by the transaction and is set as the Ticket Reporter Email address and consumed in the TC Request Pipeline while finding the fulfillment and delivering the fulfillment result back to the userEmail.

Output Variables
  1. Choose the Workflow for the Ticket Action Flow - that gets triggered when a Ticket is created. The Ticket Action Flow can be setup as part of the Event handler creation process, in the final page of Event Handler creation, and is invoked when a fullfillment is found, for the ticket request, and the intuition behind using this flow, is that if we want to take an action on the ticket, once a fullfillment is found, i.e. update some fields of the ticket in the external ticketing system.

Choose Ticket Action Flow
  1. As part of the Ticket Action Flow, the Input Variables that are exposed to the Workflow, are as follows:

Input and Output Variables in AI Workflow Studio

Examples of Ticket Action Flow:

The Aisera platform fills the variables in at runtime, and executes this workflow in runtime (when a Ticket is created), and uses these variables to craft your Ticket Action workflow. An example use case for this workflow would be:

  1. Update Ticket Status as resolved, after fulfillment is found by TC.

  2. Write a comment on the Ticket, with the fulfillment found in a Knowledge Base article.

Other useful Events: HandleConversationEvent (System Workflow)

When a User gives positive feedback, on the fulfillment provided by the TC pipeline, the HandleConversationEvent workflow is invoked. EscalationFeedback (System Workflow)

When a User gives negative feedback, on the fullfillment provided by the TC pipeline, the EscalationFeedback workflow is invoked.

  1. Select your Ticket Concierge Analysis Fields (The list shows fields are the mapped to your Ticket Intent Extraction Attributes). The checklist menu is also populated from the fields in your Data Type. The example in the screenshot above only uses Subject and Description for Intent extraction, but you should choose the fields that work best with your use case.

  2. Click OK to create the Event Handler.

Fine Tuning Fulfillments (NLU Policy)

On this third page of the Event Trigger/Handler setup (3 of 3) you have the ability to set the priority for the fulfillment engines, with the additional ability of removing some fulfillment engines, if they are not needed as part of your use case.

Fine-tuning Fulfillments

Channel Setup

Select the channels where you want the responses to be delivered

  1. Navigate to Settings > AiseraGPT.

  2. Choose the bot that you want to use for Ticket Concierge.

Choose a Channel or Create a New One
  1. Click the + Add Channel button to associated a channel with your bot.

  2. Choose a channel from the list of channels that have been added for your tenant instance.

  3. Click OK.

Notification Settings

  1. Go back to your Bot Details window and click the pencil icon to modify the bot settings.

  2. In the General tab, set the Notification preferences for All Channels.

Notification Preferences for Channels

Testing

Before you begin testing:

  • Make sure that you have run the User and Ticket Learning jobs (as described above), and that hey have finished running.

  • Make sure you have an Intent to use for testing.

To test your Ticket Concierge:

  1. Navigate to the SOR and create a new Ticket with a User selected and a Request in the Title and Body of the ticket.

  2. Click Submit.

  3. Open the webchat, enter the same User profile and you should receive an answer from the bot.

Analytics

Ticket Concierge collects the same analytics as other channels. You can review User Requests on the Requests page by filtering the channel.

In previous releases, the Ticket Concierge feature included hyperlinks to articles in the conversational response, but not in the Conversation History that was written back to the Source Ticket.

Hyperlink within a Conversation in the Bot

With this release, the hyperlinks are also included in the Conversation History that’s written back to the ticket.

Conversation HIstory - Written Back to the Ticket

Last updated