# Configuring ICM Intents and Fulfillment

In a traditional Aisera Workflow, **Intents** invoke the workflows. If you are using RAG indexing, Conversation AI 2.0, or Hyperflows, you may be using the Title or Descriptions instead of Intents in your workflows.

## All Intents

Choose **Intents** from the Aisera Admin UI to see all of the Intents that are visible to your instance of the Aisera platform (your company's Aisera tenant).

<figure><img src="https://3281977978-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvBFXjH9S1CAy9f5hzg5Q%2Fuploads%2F2GiNbLtYRVyIBjcbGeQu%2Fintents_window.png?alt=media&#x26;token=fa4ad459-7dde-462a-beee-668dbba20191" alt=""><figcaption></figcaption></figure>

This page lists all the Intents that are available to your Aisera applications. \
\
Use the **Search** option on this page to search for existing **Intents,** and filter by **Category** or **Status**. If you don't see an **Intent** that you want to use to launch your workflow, select the **Browse Intent Library** to add an existing Intent to your Aisera platform, or choose the **+ New Intent** button to create a new **Intent**.

## Adding Intents to Your Bot

1. Click the **Browse Intents Library** button.

<div align="left"><figure><img src="https://3281977978-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvBFXjH9S1CAy9f5hzg5Q%2Fuploads%2Fnd4zwFHLRh2bczbgHh6z%2Fintents_lib_new.png?alt=media&#x26;token=4cc7e3ff-1112-4713-b0c9-49c9b0c2506c" alt="" width="563"><figcaption><p>Default Intents for your Tenant</p></figcaption></figure></div>

2. Select the Intents you want to use with your bot and click the **Add Selected Intents** button.

<div align="left"><figure><img src="https://3281977978-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvBFXjH9S1CAy9f5hzg5Q%2Fuploads%2FGw6utl2cu2BrAZKKzbLl%2Fadd_selected_intents.png?alt=media&#x26;token=635789c9-bb93-4269-8223-b98bdfe5b671" alt="" width="563"><figcaption><p>Add Selected Intests</p></figcaption></figure></div>

3. The **Intent Details** window allows you to edit individual Intents. You can also create \
   **Escalation Flows**, add **Variables**, and create **Phrases** that will trigger an Intent.
4. Click on an individual intent to edit the Intent.

<div align="left"><figure><img src="https://3281977978-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvBFXjH9S1CAy9f5hzg5Q%2Fuploads%2F8CSQuWMYaf8TIqi70WNE%2Fedit_intent.png?alt=media&#x26;token=4c8af138-c55e-48cd-90c0-d8dd2e056add" alt="" width="563"><figcaption></figcaption></figure></div>

5. Choose **Add Fulfillment** to associate a Fulfillment with the Intent.
6. Select the Type of Fulfillment

<div align="left"><figure><img src="https://3281977978-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvBFXjH9S1CAy9f5hzg5Q%2Fuploads%2FbPxiH2MxaarMIGnil8gw%2Ffulfillment_type.png?alt=media&#x26;token=0de2f0b7-fdca-4ec8-8219-50609781d0db" alt="" width="563"><figcaption></figcaption></figure></div>

7. Set any Fulfillment Bindings.

<div align="left"><figure><img src="https://3281977978-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvBFXjH9S1CAy9f5hzg5Q%2Fuploads%2FYGTUa99FL4ODhrS3CLW3%2Ffulfillment_bindings.png?alt=media&#x26;token=7b305d2c-3022-4f1d-87a1-fd9166a671ed" alt="" width="563"><figcaption></figcaption></figure></div>

## Create a New Intent

This section describes the available options when you create a new intent.

### **To create a new Intent:**

1. Click the **+ New Intent** button to start a new Intent. You can either use an existing flow or create a new flow to fulfill that intent.<br>

   <div align="left"><figure><img src="https://3281977978-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvBFXjH9S1CAy9f5hzg5Q%2Fuploads%2F6r02cmefI9D8yKg4y2nu%2Fimage.png?alt=media&#x26;token=8cb7f84c-0e57-4a49-942a-45505f2891c4" alt="" width="563"><figcaption></figcaption></figure></div>
2. As you create the Intent, enter a **Name** and **Category** for the **Intent**.
3. Choose the type of **Fulfillment Flow** that you want to associate with your **Intent**. The options for each flow are described in the section below. On the main **Intents** window, you can filter a search by when you choose one of the flow names at the top of the window.
4. Most of the **Fulfillment Flow** options allow you to choose an existing flow or create a new flow.
5. After you choose the **Fulfillment Flow Type**, your new Intent will show up in the view that you use to customize that flow type.

### **Action Flow:**

The **Action Flow** is the part of the Workflow that performs tasks behind-the-scenes, like searching for answers or making a decision.

<div align="left"><figure><img src="https://3281977978-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvBFXjH9S1CAy9f5hzg5Q%2Fuploads%2F3L5QorFnhOmdPLyCeEHp%2Faction_flow.png?alt=media&#x26;token=a5f3905e-785c-4ff7-bc22-6119c42c53fb" alt="" width="375"><figcaption></figcaption></figure></div>

### **Conversation Flow:**

The **Conversation Flow** consists of the **Request** that a user makes to the application or bot (application/bot UI) and the answer or **Fulfillment** that the application returns to the user (inside the application/bot UI).

<div align="left"><figure><img src="https://3281977978-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvBFXjH9S1CAy9f5hzg5Q%2Fuploads%2FZGp4GGCcSIj9F073Mcui%2Fimage.png?alt=media&#x26;token=fda0d6c0-dae6-42ef-93af-a648dbc8dfed" alt="" width="375"><figcaption><p>New Intent for Conversation Flow</p></figcaption></figure></div>

**Limited Response Includes Clarification Message**

If a query matches only one KB document it is not necessarily unambiguous. For example, a prompt about “software installation” matching only one document related to printer installation.

<div align="left"><figure><img src="https://aisera.gitbook.io/~gitbook/image?url=https%3A%2F%2F2983236984-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FiZkLJr3EjXkd2tHYiQJP%252Fuploads%252FFBlJBM4lsAgFdfFBDEky%252Frn10.png%3Falt%3Dmedia%26token%3D2b248124-07d8-4eca-96a9-a47bc70a3ef9&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=66a060d9&#x26;sv=2" alt="" width="563"><figcaption><p>Explanation of Limited Response</p></figcaption></figure></div>

In this case, the agent acknowledges the fact that its context is limited relative to the scope of the query and serves the matched document along with a disclaimer, such as, “I was only able to find information about installing a printer”.

### **Hyperflow:**

The **Hyperflow** is a type of workflow that is associated with a specific resource. See Hyperflows for more information.

<div align="left"><figure><img src="https://3281977978-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvBFXjH9S1CAy9f5hzg5Q%2Fuploads%2FtRYokLJGnZnBpzw2wtr7%2Fhyperflow_intent.png?alt=media&#x26;token=9b90f9c4-bb8d-4df4-a454-2322e626f8a4" alt="" width="375"><figcaption></figcaption></figure></div>

### **Knowledge Article:**

A **Knowledge Article** flow includes a search of one or more knowledge articles that your Aisera application or bot has been associated with.&#x20;

<figure><img src="https://3281977978-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvBFXjH9S1CAy9f5hzg5Q%2Fuploads%2FwK4lfYmOp6NrnV0cPT7R%2Fknow_content_flow.png?alt=media&#x26;token=d08d9beb-f9f3-4761-aa70-e670492f8878" alt=""><figcaption></figcaption></figure>

### **Service Catalog Flow:**

A **Service Catalog** flow includes a search of one or more service catalogs that your Aisera application or bot has been associated with.&#x20;

<div align="left"><figure><img src="https://3281977978-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvBFXjH9S1CAy9f5hzg5Q%2Fuploads%2F4eLQ0f1WnbNK3lgVtXqX%2Fservice_catalog_item.png?alt=media&#x26;token=3fd507b2-26c6-4f87-aa24-4410e4713566" alt="" width="375"><figcaption></figcaption></figure></div>

### **Custom Message:**

The Custom Message Flow is a message that you add to a flow that is not part of the default conversation or action.

<div align="left"><figure><img src="https://3281977978-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvBFXjH9S1CAy9f5hzg5Q%2Fuploads%2Fis39hIHpWilRmFg9FQ4f%2Fmessage_flow.png?alt=media&#x26;token=53e7ccfb-ea6f-4f0e-98f0-300c56660259" alt="" width="375"><figcaption></figcaption></figure></div>

### **Intent Details**

After you choose or create an Intent, the **Intent Details** window is visible. Note that the details for each Intent are grouped in multiple tabs based on their **Fulfillment, Escalation Flow, Variables,** and **Phrases** associated with this Intent.&#x20;

<figure><img src="https://3281977978-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvBFXjH9S1CAy9f5hzg5Q%2Fuploads%2F7jMnOpeQtMx1QZ25JPLQ%2Fintent_details2.png?alt=media&#x26;token=c08e7f1e-a9af-4bb1-8804-6c06252d5826" alt=""><figcaption></figcaption></figure>

Click on **+** **Add Fulfillment** to add an action/knowledge flow, or both. One or more flows can be added; this is called multi-fulfillment.

### Add an Intent Fulfillment <a href="#heading-h.2bn6wsx" id="heading-h.2bn6wsx"></a>

Click **+ Add Fulfillment** to add an action/knowledge flow, or both.&#x20;

<figure><img src="https://3281977978-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvBFXjH9S1CAy9f5hzg5Q%2Fuploads%2FQ4POF9ACOlZwCSs8YfO8%2Fimage.png?alt=media&#x26;token=c3004d23-83ba-4d64-b9a1-a6359b3d09bc" alt=""><figcaption></figcaption></figure>

You can add one or more flows. Using multiple flows with a single intent is called Multi-Fulfillment.

After you provide a **Fulfillment**, you can see all of the additional **Intents**.

## Add Intent Phrases <a href="#heading-h.3as4poj" id="heading-h.3as4poj"></a>

Intent phrases identify the actions that a user wants to take. For example, "get tickets", or "get ticket details" will be some of the phrases used to get ticket-related details.&#x20;

<figure><img src="https://3281977978-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvBFXjH9S1CAy9f5hzg5Q%2Fuploads%2F3ZKnsiFLohmyAp4YeTiH%2Fimage.png?alt=media&#x26;token=ea108838-a535-4acd-9823-3530771307db" alt=""><figcaption></figcaption></figure>

Phrases with variables can be used to match several generic query phrases.

{% hint style="warning" %}
Every time you add or delete phrases, the model needs to be retrained and published. The changes in the workflow will take effect only after the model is retrained and published.
{% endhint %}

You can add, delete, modify, activate/inactivate the phrases at any time.

Phrases are the training examples that an ICM bot tries to match with **Intents**. They can contain variables written with the convention: **${varName}**.

#### Single-word phrases <a href="#h_01gp0t99jbceqrrd36qzt8fez2" id="h_01gp0t99jbceqrrd36qzt8fez2"></a>

Single-word phrases are fine. However, they can only be matched against single-word phrases (after stop word removal) as input by the user. This is to limit the False Positive (FP) rate.

Single-word phrases can ONLY be found via an exact match (after punctuation and stop word removal)

#### Using variables inside phrases <a href="#using-variables" id="using-variables"></a>

Variables should be used whenever possible. Instead of writing out a training phrase of “book conference room”, it’s better to add a variable (**varConferenceSystems**) for the appropriate entity category (such as, **Conference System**) and write out a training phrase like: **“book ${varConferenceSystems}”**.

If the training phrase of “book conference room” was used instead, if someone were to type “I want to book a conference room” in Webchat, this phrase might get transformed to “I want to book a conference-room” as part of the NER step of ICM scoring. Hence, ICM may encounter a False Negative (FN).

### How to Add Variables

Choose the **+ Add Variable** button to include variables in your **Intent,** that you can use in your phrases. This is where Ontology plays a role.&#x20;

<figure><img src="https://3281977978-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvBFXjH9S1CAy9f5hzg5Q%2Fuploads%2FhKsxiiXrI2OmxH8kYAW1%2Fimage.png?alt=media&#x26;token=579f2986-4ba8-4c0b-be21-3c282d0e212c" alt=""><figcaption></figcaption></figure>

You can use values and variables as part of expected phrases to invoke and use in a Fulfillment. The variables can be edited or deleted at any time.

Variables are used for slot-filling within a phrase.

The variable **Name** can be anything.\
\
Each variable has an associated **Entity Category** (Entity Class). This variable can thus take on any entity within that Aisera Entity class.&#x20;

<div align="left"><figure><img src="https://3281977978-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvBFXjH9S1CAy9f5hzg5Q%2Fuploads%2FEPQrPcYeh6GPekh6mDR9%2Fnew_variable.png?alt=media&#x26;token=1bc44123-5efd-46ea-87cb-7c3758b60b99" alt="" width="462"><figcaption><p>Selecting Variable Type</p></figcaption></figure></div>

## Activate Intents <a href="#heading-h.49x2ik5" id="heading-h.49x2ik5"></a>

To activate an Intent, choose the **Activate Intent** button at the top of the Intent Details window.

<figure><img src="https://3281977978-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvBFXjH9S1CAy9f5hzg5Q%2Fuploads%2FIWuuvHMf2fFWDcg1Wq32%2Factivate_intent.png?alt=media&#x26;token=462f5d1a-7947-4f80-8cef-a653663366e7" alt=""><figcaption></figcaption></figure>

Choose **OK** when you see the confirmation question.

<div align="left"><figure><img src="https://3281977978-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvBFXjH9S1CAy9f5hzg5Q%2Fuploads%2F5QO4kk4lOa8uw5unP4fr%2Fare_you_sure.png?alt=media&#x26;token=cb24be53-0476-4e40-af51-a285ac6815b3" alt="" width="375"><figcaption></figcaption></figure></div>
