`, and ``, causes the Markdown parser to include the metadata of the following Knowledge Chunk in the previous Knowledge Chunk. To avoid unintended inclusion, of metadata in the Knowledge Chunk text, ensure you close HTML tags for block-level elements or remove them from the Knowledge Chunk text.
## Content Segmentation Basic Rules
To segment the content of a CTXT file into Knowledge Chunks, you need to meet the following rules:
* The first Knowledge Chunk starts immediately after the first double line break in the CTXT file.
* Double line breaks separate text into Knowledge Chunks.
* CTXT files must comply with [Knowledge Chunks limitations](/ai/agents/develop/knowledge-ai/knowledge-chunk/knowledge-chunk#limitations).
## CTXT Structure
A CTXT file must include a [header](#header) and a [body](#body).
```markdown theme={null}
`version: 1`
`title: Cognigy xApps FAQs`
`url: https://www.cognigy.com`
`tags: [cognigy, xapps, architecture]`
What is Cognigy?
Cognigy is a leading enterprise software provider for Conversational AI automation. Our platform, Cognigy, automates customer and employee communications. Available in SaaS environments, Cognigy enables enterprises to have natural language conversations with their users on any channel - webchat, SMS, voice and mobile apps - and in any language. Cognigy powers intelligent voice and chatbots that communicate consistently and accurately beyond simple FAQ, resulting in reduced contact center costs and increased efficiency while improving user experiences. The worldwide client portfolio of Cognigy includes Toyota, E.ON, Lufthansa, and many more.
`url: https://www.cognigy.com/`
What are xApps?
Cognigy xApps are infinitely flexible micro-web applications for customer self-service. xApps can be used as a stand-alone application or complementary to any channel to enhance virtual and human agents' capabilities. In multi-channel scenarios xApps close the experience gaps of existing voice and messaging channels to enable dynamic, fully connected customer engagements by helping to overcome limitations of communication channels like voice, Webchat Widget or Microsoft Teams compromising user experiences.
`url: https://docs.cognigy.com/ai/xApp/overview/`
What are use cases of xApps
The use cases are endless as xApps are infinitely flexible due to the fact that they are essentially micro-web applications. Three potential use cases are listed here:
- Authentication via Credentials: With xApps, you can allow users to authenticate using various methods such as email addresses, user numbers, or other identification details. Users can securely verify their identity and gain access to specific services or information.
- Select a flight seat: With xApps, you can offer users an interface to choose their preferred seat for their flight. Users can view the available seats and select the seat of their choice, enhancing their travel experience.
- Share location: With xApps, you can allow users to share their device's location information. This use case can be useful in various scenarios, such as providing location-based services, tracking deliveries, or finding nearby resources.
`url: https://docs.cognigy.com/ai/xApp/use-cases/`
How do xApps work?
The behavior of xApps is controlled via a set of xApp Flow Nodes. An xApp session can be initialized via the "xApp: Init Session" Node. The xApp session can be updated with the actual xApp Pages in two ways, by providing HTML code via the "xApp: Show HTML" Node or by specifying an Adaptive Card in JSON via the "xApp: Show Adaptive Card" Node. Alternatively, for more customization, you can create your own Node to update the xApps state by implementing and uploading an Extension. To wait for the xApp user Input in a Flow, use the Question or the Optional Question Node. The xApp type of the Question Node is only considered to be answered if submitted results are available as part of the Input.
`url: https://docs.cognigy.com/ai/xApp/build-an-xApp/`
How is the xApps architecture designed?
The xApp Shell Page loads its assets (HTML/CSS/JS) by requesting static files via HTTP/HTTPs 1.1 requests to service-static-files and establishes a WebSocket connection (via Socket.io) to serviceapp-session-manager to retrieve information about xApp sessions. This information includes an async event to initialize an xApp session, which creates a unique URL, and specifies which xApp will be displayed in a specific xApp session. The Elastic Load Balancer helps distribute incoming traffic, while Traefik dynamically routes traffic to backend servers based on specific requirements. The serviceapp-session-manager updates the xApp session state in the App Session DB, and the WebSocket transfers data to the Shell page, which loads xApps and provides data to the SDK.
`url: https://docs.cognigy.com/ai/xApp/architecture/`
`image: https://docs.cognigy.com/ai/images/xApp/architecture.png`
```
You can download the [previous CTXT file sample](https://docscognigyassets.blob.core.windows.net/assets/cognigy-sample.ctxt) for testing Knowledge AI.
### Header
The header of a CTXT file contains the [Source metadata](/ai/agents/develop/knowledge-ai/knowledge-source/overview#source-metadata) at the top of the CTXT file. In CTXT files, you must format Source metadata as key-value pairs wrapped by backticks. The keys refer to the information the Source metadata holds, and the value is the information. For example, in `title: Cognigy xApps FAQs`, `title` is the key and `Cognigy xApps FAQs` is the value.
#### Example
```markdown theme={null}
`version: 1`
`title: Cognigy xApps FAQs`
`url: https://www.cognigy.com`
`tags: [cognigy, xapps, architecture]`
```
### Body
The body of a CTXT file contains [Knowledge Chunk text](/ai/agents/develop/knowledge-ai/knowledge-chunk/knowledge-chunk#knowledge-chunk-text) and [Chunk metadata](/ai/agents/develop/knowledge-ai/knowledge-chunk/knowledge-chunk#chunk-metadata). Knowledge Chunks must be separated by double line breaks.
#### Examples
Example 1:
```markdown theme={null}
What are use cases of xApps?
The use cases are endless as xApps are infinitely flexible due to the fact that they are essentially micro-web applications. Three potential use cases are listed here:
- Authentication via Credentials: With xApps, you can allow users to authenticate using various methods such as email addresses, user numbers, or other identification details. Users can securely verify their identity and gain access to specific services or information.
- Select a flight seat: With xApps, you can offer users an interface to choose their preferred seat for their flight. Users can view the available seats and select the seat of their choice, enhancing their travel experience.
- Share location: With xApps, you can allow users to share their device's location information. This use case can be useful in various scenarios, such as providing location-based services, tracking deliveries, or finding nearby resources.
`url: https://docs.cognigy.com/ai/xApp/use-cases/`
```
Example 2:
```markdown theme={null}
How is the xApps architecture designed?
The xApp Shell Page loads its assets (HTML/CSS/JS) by requesting static files via HTTP/HTTPs 1.1 requests to service-static-files and establishes a WebSocket connection (via Socket.io) to serviceapp-session-manager to retrieve information about xApp sessions. This information includes an async event to initialize an xApp session, which creates a unique URL, and specifies which xApp will be displayed in a specific xApp session. The Elastic Load Balancer helps distribute incoming traffic, while Traefik dynamically routes traffic to backend servers based on specific requirements. The serviceapp-session-manager updates the xApp session state in the App Session DB, and the WebSocket transfers data to the Shell page, which loads xApps and provides data to the SDK.
`url: https://docs.cognigy.com/ai/xApp/architecture/`
`image: https://docs.cognigy.com/ai/images/xApp/architecture.png`
```
## More Information
* [Knowledge AI Overview](/ai/agents/develop/knowledge-ai/overview)
* [Knowledge Source](/ai/agents/develop/knowledge-ai/knowledge-source/overview)
* [Knowledge Chunk](/ai/agents/develop/knowledge-ai/knowledge-chunk/knowledge-chunk)
* [Search Extract Output Node](/ai/agents/develop/node-reference/other-nodes/search-extract-output)
* [Web Page](/ai/agents/develop/knowledge-ai/knowledge-source/text-formats/web-page)
* [PDF](/ai/agents/develop/knowledge-ai/knowledge-source/text-formats/pdf)
# PDF
Source: https://docs.cognigy.com/ai/agents/develop/knowledge-ai/knowledge-source/text-formats/pdf
When you use a PDF file as a Knowledge Source, you can split the PDF file into Knowledge Chunks with the following chunk strategies after uploading the file:
* [Default Chunk Strategy](#default-chunk-strategy)
* [Alternative Chunk Strategy](#alternative-chunk-strategy)
## Default Chunk Strategy
The Default Chunk Strategy extracts content from PDF and splits it into [Knowledge Chunks](/ai/agents/develop/knowledge-ai/knowledge-chunk/knowledge-chunk) based on a fixed token length and recognizes tables. Based on our research, the Default Chunk Strategy returns better structured results and works best with the **Top K** value set to 5 in the [Search Extract Output](/ai/agents/develop/node-reference/other-nodes/search-extract-output) Node.
## Alternative Chunk Strategy
The Alternative Chunk Strategy is effective when your original PDF is divided into paragraphs in a logical order separated by double line breaks. This strategy attempts to distinguish the structure, such as sections, and then splits each of them into one or more Knowledge Chunks.
To apply the Alternative Chunk Strategy, append `.preset_uiolc_ls.pdf` to the file name when you upload a file. For example, if you have a PDF file named `cognigy.pdf`, rename it to `cognigy.preset_uiolc_ls.pdf` before the upload. The `.preset_uiolc_ls` appendix triggers the Alternative Chunk Strategy after you upload the PDF file.
While processing the PDF file, Knowledge AI may omit complex elements such as visually intricate headers or lists and not include these elements in the Knowledge Chunks.
## Examples
Assume you have the following text from the [Cognigy blog](https://www.cognigy.com/blog) in a PDF file:
```markdown theme={null}
# Call Tracing: Unlock New Dimensions in VUX Optimization
In the burgeoning field of voice technology, optimizing Voice User Experience (VUX) is a sophisticated endeavor fraught with unique challenges.
VUX designers confront intricate variables from timing nuances and intonation accuracy to the unpredictability of human speech and environmental interference.
These factors often present hurdles that can transform an otherwise fluid dialogue into a disjointed exchange.
For enterprises aiming to scale and perfect their voice-enabled services, these are not mere technicalities but critical pivots on the customer experience journey.
Recognizing this complex landscape, at Cognigy, we're excited to introduce the ultimate tool for developers and VUX designers in their quest for voice excellence: Call Tracing.
## Visualizing the Unseen: How Call Tracing Changes the Game
Traditionally, understanding and monitoring voice interaction requires painstaking analysis of transcriptions, user feedback, and basic audio playback.
Now, Cognigy's Call Tracing feature offers an actionable visualization of all activities taking place during the call, such as speech recognition and connections, together with the call recording waveforms.
This powerful tool grants VUX designers an unparalleled view of the dynamics of voice interactions.
Event and soundwave visualization provides an analytical perspective that goes beyond the audio, giving professionals the ability to dissect and understand voice experiences at a granular level.
It brings critical elements to the forefront that might not be immediately evident in transcriptions or basic audio playback.
```
You can download the [PDF sample](https://docscognigyassets.blob.core.windows.net/assets/call-tracing-sample.pdf).
### Example 1: Default Chunk Strategy
If you use the Default Chunk Strategy, Knowledge AI splits the PDF file into 3 equal Knowledge Chunks.
1.
```markdown theme={null}
Call Tracing: Unlock New
Dimensions in VUX
Optimization
In the burgeoning field of voice technology, optimizing Voice User Experience (VUX) is a
sophisticated endeavor fraught with unique challenges. VUX designers confront intricate
variables from timing nuances and intonation accuracy to the unpredictability of human
speech and environmental interference.
These factors often present hurdles that can transform an otherwise fluid dialogue into a
disjointed exchange. For enterprises aiming to scale and perfect their voice-enabled
services, these are not mere technicalities but critical pivots on the customer experience
journey.
Recognizing this complex landscape, at
```
2.
```markdown theme={null}
Cognigy, we're excited to introduce the ultimate
tool for developers and VUX designers in their quest for voice excellence: Call Tracing.
Visualizing the Unseen: How Call Tracing Changes the
Game
Traditionally, understanding and monitoring voice interaction requires painstaking
analysis of transcriptions, user feedback, and basic audio playback. Now, Cognigy's
Call Tracing feature offers an actionable visualization of all activities taking place during
the call, such as speech recognition and connections, together with the call recording
waveforms. This powerful tool grants VUX designers an unparalleled view of the
dynamics of voice interactions
```
3.
```markdown theme={null}
.
Event and soundwave visualization provides an analytical perspective that goes beyond
the audio, giving professionals the ability to dissect and understand voice experiences
at a granular level. It brings critical elements to the forefront that might not be
immediately evident in transcriptions or basic audio playback.
```
### Example 2: Alternative Chunk Strategy
If you use the Alternative Chunk Strategy, Knowledge AI splits this text into 5 Knowledge Chunks.
Note that in the first Knowledge Chunk, a title is missing because it is formatted as a complex element. In comparison, the [Default Chunk Strategy](#example-1-default-chunk-strategy) recognizes and includes the title in the Knowledge Chunks.
1.
```markdown theme={null}
In the burgeoning field of voice technology, optimizing Voice User Experience (VUX)
is a sophisticated endeavor fraught with unique challenges.
VUX designers confront intricate variables from timing nuances and intonation accuracy
to the unpredictability of human speech and environmental interference.
```
2.
```markdown theme={null}
These factors often present hurdles that can transform an otherwise fluid dialogue
into a disjointed exchange.
For enterprises aiming to scale and perfect their voice-enabled services,
these are not mere technicalities but critical pivots on the customer experience journey.
```
3.
```markdown theme={null}
Recognizing this complex landscape, at Cognigy,
we're excited to introduce the ultimate tool for developers
and VUX designers in their quest for voice excellence: Call Tracing.
```
4.
```markdown theme={null}
Traditionally, understanding and monitoring voice interaction requires painstaking analysis of
transcriptions, user feedback, and basic audio playback.
Now, Cognigy's Call Tracing feature offers an actionable visualization of all activities taking place during the call,
such as speech recognition and connections, together with the call recording waveforms.
This powerful tool grants VUX designers an unparalleled view of the dynamics of voice interactions.
```
5.
```markdown theme={null}
Event and soundwave visualization provides an analytical perspective that goes beyond the audio,
giving professionals the ability to dissect and understand voice experiences at a granular level.
It brings critical elements to the forefront that might not be
immediately evident in transcriptions or basic audio playback.
```
## More Information
* [Knowledge AI Overview](/ai/agents/develop/knowledge-ai/overview)
* [Cognigy Text Format](/ai/agents/develop/knowledge-ai/knowledge-source/text-formats/ctxt)
* [Web Page](/ai/agents/develop/knowledge-ai/knowledge-source/text-formats/web-page)
# Web Page
Source: https://docs.cognigy.com/ai/agents/develop/knowledge-ai/knowledge-source/text-formats/web-page
Updated in 4.73
Knowledge AI supports using web pages to create [Knowledge Sources](/ai/agents/develop/knowledge-ai/knowledge-source/overview).
## Restrictions
* The web page must be hosted on a publicly accessible website.
* When you create a Knowledge Source from a web page, Knowledge AI processes all visible text on the web page, including potentially unwanted text, such as cookie notices.
* Knowledge AI doesn't process web page content with anti-crawling measures.
* Knowledge AI doesn't support images or Optical Character Recognition (OCR) capabilities.
## Chunking Process
When processing a web page, Knowledge AI:
1. Visits the URL as a page in a browser session.
2. Scrolls to the bottom of the web page.
3. Accesses lazy-loaded[1](#footnote1) content by checking for any text changes until the web page is stable and no longer loads additional text.
4. Generates Knowledge Source content based on the visible text result.
Knowledge AI imports the web page content into a Knowledge Source once. If the web page you used as a source is updated and you want to include the new content in the web page, create a new Knowledge Source based on the updated web page.
## More Information
* [Knowledge AI Overview](/ai/agents/develop/knowledge-ai/overview)
* [Create a Knowledge Store](/ai/agents/develop/knowledge-ai/getting-started)
* [Chunk editor](/ai/agents/develop/knowledge-ai/knowledge-chunk/knowledge-chunk)
* [Cognigy Text Format](/ai/agents/develop/knowledge-ai/knowledge-source/text-formats/ctxt)
* [PDF](/ai/agents/develop/knowledge-ai/knowledge-source/text-formats/pdf)
***
1: Lazy loading is a web development technique that delays loading non-critical or non-visible content until it is necessary. This technique improves web page loading times and user experience.
# Knowledge Store
Source: https://docs.cognigy.com/ai/agents/develop/knowledge-ai/knowledge-store
Learn how to manage Knowledge Stores to apply RAG-based knowledge search in Cognigy.
A *Knowledge Store* provides a centralized and structured environment for managing and categorizing [Knowledge Sources](/ai/agents/develop/knowledge-ai/knowledge-source/overview). Knowledge Stores help streamline the knowledge management process by grouping related Knowledge Sources, making it easier to search and retrieve relevant information during run-time. You can select Knowledge Stores in [Search Extract Output Nodes](/ai/agents/develop/node-reference/other-nodes/search-extract-output) to retrieve information from Knowledge Sources for your AI Agents. You can create any number of Knowledge Stores per Project.
## Prerequisites
* You have added a [Large Language Model (LLM) to your Project](/ai/agents/develop/gen-ai-and-llms/providers/all-providers) that [supports Knowledge Search](/ai/agents/develop/gen-ai-and-llms/model-support-by-feature).
## Restrictions
* All Knowledge Stores within a Project use the same embedding model. After you [configure the embedding model of your first Knowledge Store](/ai/agents/develop/knowledge-ai/overview), all other Knowledge Stores will use the same embedding model. If you want to switch to a different embedding model, delete all existing Knowledge Stores in the current Project and create new ones, or [create a new Project](/ai/agents/develop/projects-and-flows/projects).
* When you import a [Package](/ai/platform-features/packages) including a Knowledge Store, the source and target Projects must use the same embedding model. If they use different embedding models, recreate the [Knowledge Sources](/ai/agents/develop/knowledge-ai/knowledge-source/overview) to generate new embeddings with the target Project's model.
## Working with Knowledge Stores
You can view, create, edit, and delete Knowledge Stores in **Build > Knowledge**. Also, you can copy Knowledge Stores' Reference ID and export Knowledge Stores as Packages.
You can view, create, edit, and delete Knowledge Stores using the [Cognigy API](https://api-trial.cognigy.ai/openapi#tag--KnowledgeStores).
You can create Knowledge Stores using the [Cognigy CLI](https://github.com/Cognigy/Cognigy-CLI/blob/main/KNOWLEDGE-AI-README.md).
## More Information
* [Knowledge Source](/ai/agents/develop/knowledge-ai/knowledge-source/overview)
* [Cognigy Text Format](/ai/agents/develop/knowledge-ai/knowledge-source/text-formats/ctxt)
* [PDF](/ai/agents/develop/knowledge-ai/knowledge-source/text-formats/pdf)
* [Web Page](/ai/agents/develop/knowledge-ai/knowledge-source/text-formats/web-page)
* [Search Extract Output Node](/ai/agents/develop/node-reference/other-nodes/search-extract-output)
* [LLM](/ai/agents/develop/gen-ai-and-llms/llms)
* [Generative AI](/ai/agents/develop/gen-ai-and-llms/generative-ai)
# Knowledge AI
Source: https://docs.cognigy.com/ai/agents/develop/knowledge-ai/overview
Upload documents and use RAG to enable AI Agents to provide accurate, context-aware responses with Knowledge AI.
Updated in 2026.13
* You are subject to the terms of the Generative AI model providers you are using. Cognigy doesn't take responsibility for your use of third-party services, systems, or materials.
* If you are a Cognigy customer, the performance timelines (SLA) specified in your contract do not apply to the trial version of Knowledge AI.
Knowledge AI is a knowledge search and management solution that uses Retrieval-Augmented Generation (RAG) to improve AI Agents' performance and assist human agents. Knowledge AI applies RAG to provide AI Agents with access to a large amount of structured information from different files in a knowledge base, such as articles, manuals, FAQs, and more. By accessing the knowledge base, AI Agents can retrieve and understand specific information, and provide more accurate, context-aware, and helpful responses to user queries.
With Knowledge AI, you have more options beyond relying on [Intents](/ai/platform-features/nlu/intents/overview) and [Default Replies](/ai/platform-features/nlu/intents/default-reply) to identify user questions and provide relevant content based on predefined questions and answers. Creating question-and-answer pairs can be time-consuming and require labor-intensive maintenance.
Knowledge AI lets you upload knowledge in various formats, such as [PDF](/ai/agents/develop/knowledge-ai/knowledge-source/text-formats/pdf), [Cognigy Text](/ai/agents/develop/knowledge-ai/knowledge-source/text-formats/ctxt) (CTXT) and [web pages](/ai/agents/develop/knowledge-ai/knowledge-source/text-formats/web-page), or connect to external systems via [Knowledge Connectors](/ai/agents/develop/knowledge-ai/knowledge-connectors), to create [Knowledge Sources](/ai/agents/develop/knowledge-ai/knowledge-source/overview). This technology extracts meaningful information from these documents and makes it accessible to conversation designers through the [Search Extract Output Node](/ai/agents/develop/knowledge-ai/knowledge-search-and-extraction/search-extract-output). With this Node, you can build knowledge-based AI Agents quickly, overcoming the limitations of traditional intent-based systems and simplifying the creation of sophisticated conversational experiences.
## Prerequisites
Before using Knowledge AI, follow these steps:
1. [Apply for a license and allocate quotas](/ai/agents/develop/knowledge-ai/activate).
2. Get access to an account from one of the following LLM Providers:
* [OpenAI](https://platform.openai.com/)
* [Microsoft Azure OpenAI](https://azure.microsoft.com/en-us/products/cognitive-services/openai-service)
* [Aleph Alpha](https://aleph-alpha.com/)
### Which Models to Choose?
To use the full potential of Knowledge AI, you need the following models:
An embedding model converts information from documents into embeddings in [Knowledge Sources](/ai/agents/develop/knowledge-ai/knowledge-source/overview) and performs knowledge searches.
Embedding models aren't interchangeable. Each [Project](/ai/agents/develop/projects-and-flows/projects) uses a single embedding model for all Knowledge Stores. You configure the embedding model when you create the first Knowledge Store in your Project. If you change the embedding model, the existing embeddings become incompatible with the new model. To use a different embedding model, you must either delete all [Knowledge Stores](/ai/agents/develop/knowledge-ai/knowledge-store) and recreate them, or create a new Project.
When you import a [Package](/ai/platform-features/packages) including a Knowledge Store, the source and target Projects must use the same embedding model. If they use different embedding models, recreate the [Knowledge Sources](/ai/agents/develop/knowledge-ai/knowledge-source/overview) to generate new embeddings with the target Project's model.
Knowledge AI supports the following embedding models:
| Model | Comment |
| ------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `text-embedding-ada-002` | – |
| `text-embedding-3-small` | The model may be available only in geographically remote locations, leading to high latency for the search operation. |
| `text-embedding-3-large` | The model may be available only in geographically remote locations, leading to high latency for the search operation. The model outputs embedding vectors twice as large as those from `text-embedding-ada-002` and `text-embedding-3-small`. Larger embedding vectors result in higher memory usage and larger [Package](/ai/platform-features/packages) sizes for Knowledge AI. |
| `amazon.titan-embed-text-v2:0` | For Cognigy 2025.10 and earlier versions, use the `FEATURE_ENABLE_AWS_BEDROCK_EMBEDDING_LLM_WHITELIST` environment variable to make this model available to individual or all feature flags. |
| `gemini-embedding-2` | Available for Cognigy 2026.13 and later versions. |
A generative model must support [LLM Prompt Nodes or Answer Extraction](/ai/agents/develop/gen-ai-and-llms/model-support-by-feature) to use Knowledge Search results and generate context-aware response to user questions.
## Knowledge Management
Knowledge AI has the following knowledge hierarchy:
* [Knowledge Store](/ai/agents/develop/knowledge-ai/knowledge-store) — a container that includes Knowledge Sources.
* [Knowledge Source](/ai/agents/develop/knowledge-ai/knowledge-source/overview) — a collection of organized and structured knowledge extracted from files, for example, user manuals, articles, FAQs, and other relevant information.
* [Knowledge Chunk](/ai/agents/develop/knowledge-ai/knowledge-chunk/knowledge-chunk) — a unit of knowledge inside a Knowledge Source.
## Knowledge AI Workflow
Working with Knowledge AI involves two phases, similar to the Intents workflow. The first phase consists of collecting, preprocessing, and integrating data — a process known as ingestion — from your knowledge base, and the second phase is querying the knowledge base during [run-time](/ai/agents/develop/gen-ai-and-llms/generative-ai#run-time-generative-ai-features).
### First Phase
1. **Raw Information Upload** — you upload information as files to Knowledge AI.
2. **Knowledge Chunk Extraction** — Knowledge AI extracts text and metadata from the raw information through a collection of tools and processes the information into a Knowledge Source. The Knowledge Source is divided in Knowledge Chunks, which you can edit in the Chunk editor.
3. **Vectorization** — Knowledge AI encodes Knowledge Chunks into embeddings. Embeddings are high-dimensional vectors that encode word meaning and similarity into numeric representations. Knowledge AI stores the embeddings in a specialized internal database for quick access during run-time.
### Second Phase
1. **Knowledge Base Querying**. During run-time, Knowledge AI queries the Knowledge Sources to provide accurate and contextually appropriate responses to user questions.
2. **Knowledge-based AI Agents Building**. AI Agents use the information stored in the Knowledge Sources to engage in more sophisticated and intelligent conversations with users.
## Use cases
With Knowledge AI, both human agents and AI Agents can retrieve information from various Knowledge Sources and provide better responses to your customers:
* **Knowledge AI for AI Agents** — use the [Search Extract Output Node](/ai/agents/develop/node-reference/other-nodes/search-extract-output) so that AI Agents can retrieve product-specific knowledge from Knowledge Sources, for example, manuals and web pages. This way, AI Agent's output more accurate information to customers.
* **Use Knowledge AI for human agents** — by retrieving data from different Knowledge Sources, LLMs reduce the burden on human agents, making information access quicker and more efficient. To let human agents use the Knowledge Sources for solving tasks, add a widget to the Agent Copilot workspace using a [Copilot: Knowledge Tile Node](/ai/agents/develop/node-reference/agent-copilot/knowledge-tile). The widget serves as a search tool, enabling human agents to enter questions and retrieve information from the knowledge base.
To know more about the benefits of using Knowledge AI, watch this webinar:
**Q1**: Is Knowledge AI free of charge?
**A1**: Knowledge AI is not free of charge and requires a [separate license](/ai/agents/develop/knowledge-ai/activate#apply-for-a-license).
**Q2**: I received `Request failed with status code 429` error message while attempting to upload a file. How can I solve this issue?
**A2**: The `429` error occurs when your organization's rate limit is exceeded on the side of your LLM's provider. To learn more, refer to your provider's documentation. For instance, if you use the OpenAI API, check out the article [How can I solve 429: 'Too Many Requests' errors?](https://help.openai.com/en/articles/5955604-how-can-i-solve-429-too-many-requests-errors).
**Q3**: I received an `Error while performing knowledge search. Remote returned error: Search failed: Could not fetch embeddings due to missing API resource name for Azure OpenAI` error message while using knowledge search features. How can I solve this issue?
**A3**: In recent releases, we have updated the connection settings to Azure OpenAI LLMs and added new parameters, such as the Resource Name. If you have an older connection (for example, created in the 4.53 release) to Azure OpenAI LLMs, especially Azure OpenAI `text-embedding-ada-002` for Knowledge Search, you might receive this error message when you trigger an LLM. To resolve this issue, recreate the LLM and the connection so that both have the latest format.
## More Information
* [Getting started with Knowledge AI](/ai/agents/develop/knowledge-ai/getting-started)
* [Cognigy Text Format](/ai/agents/develop/knowledge-ai/knowledge-source/text-formats/ctxt)
* [PDF](/ai/agents/develop/knowledge-ai/knowledge-source/text-formats/pdf)
* [Web Page](/ai/agents/develop/knowledge-ai/knowledge-source/text-formats/web-page)
* [Search Extract Output Node](/ai/agents/develop/node-reference/other-nodes/search-extract-output)
* [LLM](/ai/agents/develop/gen-ai-and-llms/llms)
* [Generative AI](/ai/agents/develop/gen-ai-and-llms/generative-ai)
# Manage AI Agents
Source: https://docs.cognigy.com/ai/agents/develop/manage-ai-agents
Updated in 2026.16.0
To manage a new generation of AI Agents, Cognigy introduces the *AI Agent Management* interface,
where you can create, edit, and delete AI Agents.
## Create AI Agents
You can create an AI Agent from scratch or hire an AI Agent from the Job Market, designed for your industry, such as airlines, food services, or sales, and customize it to fit your business needs.
To create an AI Agent, select one of the following options:
* [Create from scratch](#create-from-scratch)
* [Hire from the Job Market](#hire-from-the-job-market)
### Create from Scratch
1. In the left-side menu of the **Project** page, select **Build > AI Agents**.
2. Click **Create AI Agent** if you are creating an AI Agent for the first time, or click **+ New AI Agent** on the **AI Agents** page if you have created at least one AI Agent before. Configure the following settings:
1) In the **General Settings** step, fill in the following fields:
* **Name** — enter a name for your AI Agent. This name will be visible to end users when the AI Agent greets them in the chat or when one AI Agent transfers the conversation to another AI Agent. For example, `Hello, my name is Sara. How can I help you?` or `Our support specialist Alex will help with this question, transferring the conversation now`.
* **Description** — enter a description of the AI Agent that shapes its behavior and enhances its ability to understand the desired communication style. For example, describe the AI Agent as follows: `Anna works at ACME and is highly skilled at making customers feel comfortable.`
2) In the **Avatar** section, select avatar of your choice or upload your custom one by clicking **+** next to avatars.
You can use any image as an avatar for your AI Agent, or create a Cognigy-style avatar using the [Cognigy PSD template](https://docscognigyassets.blob.core.windows.net/assets/Template.psd). To open and customize the template, you will need Adobe Photoshop or [Paint.net](https://www.getpaint.net/) with the [PSD plugin](https://www.psdplugin.com/) installed. The requirements for the avatar are as follows:
* Use an alpha channel for a transparent background.
* Set the recommended width to 136px.
* Set the recommended height to 184px.
* Save the file as `.png`.
* Include `_optimized` in the file name.
1. In the **Speaking Style** step, configure the following settings:
* **Set up Style** — configure how the AI Agent's choice of wording is influenced by the selected speaking style, which can affect the tone and clarity of its responses:
* **Concise/Comprehensive** — adjust the slider to the left for brief responses and to the right for detailed responses.
* **Formal/Informal** — adjust the slider to the left for more casual and conversational responses, and to the right for professional and structured responses.
* **Voice Configuration** — assign a specific voice to your AI Agent if you want to use your AI Agent as a voice-based assistant. To configure this setting, ensure you have installed [Voice Gateway](/voice-gateway/index) and set up the [Voice Preview](/ai/agents/test/voice-preview) provider. Then, fill in the fields following the same process you used for [Set Session Config Node](/ai/agents/develop/node-reference/voice/voice-gateway/parameter-details):
* **TTS Vendor** — select the text-to-speech provider for your AI Agent. This setting determines which service will convert the AI Agent's text responses into speech.
* **TTS Language** — select the language that your AI Agent will use for speech output. Ensure this language aligns with the preferred language of the end user.
* **TTS Voice** — select the voice from the selected TTS vendor. This setting allows you to customize the tone, gender, and style of your AI Agent's voice.
* **TTS Label** — select the alternative name of the TTS vendor, as specified in the [Voice Gateway Self-Service Portal](/voice-gateway/webapp/applications#add-additional-tts-and-stt-vendor). If you have multiple speech services from the same vendor, use the label to specify which service to use.
* **Disable TTS Audio Caching** — by default, this setting is deactivated. With caching enabled, previously requested TTS audio is stored in the AI Agent cache, and repeated requests for the same audio text will use the cached result instead of sending another request. With caching disabled, the AI Agent stores the TTS audio but doesn't use it; each request is sent directly to the speech provider. Note that disabling caching can increase TTS costs. For detailed information, contact your speech provider.
* **Language Configuration** — by default, this setting is activated. Deactivate automatic language detection to ensure the AI Agent always responds in the language defined by your instructions. This setting provides predictable and consistent responses, preventing unintended language switching when users say or type words from more than one language. When active, this setting also simplifies the system prompt, giving you clearer control over language behavior.
1. In the **Instructions** step, configure the following setting:
* **Instructions** — provide special instructions to your AI Agent in bullet-point form. For example:
```txt theme={null}
- Greet users warmly and professionally.
- Keep responses concise; expand only if requested.
- Start with a formal tone; adjust as needed.
- Share troubleshooting links for technical issues.
- Apologize if errors occur, then correct promptly.
```
1. In the **Knowledge Store** step, configure the following settings:
* **Knowledge Store Type** — select or upload a knowledge source that the AI Agent will use to access information from the documents you provide. By accessing and understanding these knowledge bases, the AI Agent can deliver more accurate, context-aware, and helpful responses to user queries. You need to configure an [embedding model](/ai/agents/develop/knowledge-ai/overview) to use Knowledge AI. Select one of the following options:
* **Choose existing Knowledge Store** — select the [Knowledge Store](/ai/agents/develop/knowledge-ai/knowledge-store) that the AI Agent will use to access information from the documents you provide.
* **Upload Knowledge Source** — upload documents with supported formats, such as PDF, text, DOCX, PPTX, or CTXT file formats. The CTXT file format has restrictions. For more information, refer to the [CTXT](/ai/agents/develop/knowledge-ai/knowledge-source/text-formats/ctxt) article.
* **Upload URL Knowledge Source** — enter the URL of the web page to be used as a Knowledge Source. This type of Knowledge Source has restrictions. For more information, refer to the [Web Page](/ai/agents/develop/knowledge-ai/knowledge-source/text-formats/web-page) article.
1. In the **Data Privacy & Security** step, configure the following fields:
* **Contact Profile Information** — select which information the AI Agent should use from the [Cognigy Contact Profile](/ai/agents/analyze/contact-profiles):
* **None** — no data will be used from the Contact Profile. This option is selected by default.
* **Selected Profile Fields** — enter specific fields from the Contact Profile for targeted data use. Specify the field using the [Profile keys](/ai/agents/analyze/contact-profiles#profile-schema) format and press Enter to apply it.
* **Complete Profile** — use all fields from the Contact Profile to provide comprehensive user details.
* **Profile Memories** — use the [Memories](/ai/agents/analyze/contact-profiles#profile-schema) field from the Contact Profile.
* **Safety Instructions** — adjust the AI Agent's safety settings to guide content generation, interactions, and responses, ensuring compliance with ethical, legal, and operational standards. Although these settings reduce risks, occasional unexpected outputs may still occur. The selected safety instructions are included in the prompt to enhance safety, which may increase token usage. Select the safety instructions you want to apply:
* **Avoid harmful content** — prevent generating content that could be harmful, offensive, or abusive to end users.
* **Avoid ungrounded content** — prevent generating content that is based on speculation or unsupported claims, ensuring it is reliable and verifiable.
* **Avoid copyright infringements** — prevent generating content that violates intellectual property rights or uses copyrighted material without authorization.
* **Prevent jailbreak and manipulations** — prevent attempts to bypass security measures or manipulate the AI Agent into producing unauthorized or unsafe content.
1. In the **Job Selection** step, select one of the following options:
* **Default** — create an AI Agent with a predefined Flow, then click **Create & Configure LLM** to save changes and open the Flow with the created AI Agent. If you haven't added an LLM before, the system will prompt you to [configure a model](/ai/agents/overview#prerequisites) to ensure your AI-driven Flow works.
* **Personality Only** — create an AI Agent without a predefined Flow, then click **Create** to save changes.
* **Job** — select one of the available jobs you want to assign to the AI Agent, then click **Create** to save changes.
You can create an Agent from scratch using the [Cognigy API POST beta/aiagents](https://api-trial.cognigy.ai/openapi#post-/beta/aiagents) request.
### Hire from the Job Market
1. In the left-side menu on the **Project** page, select **Build > AI Agents**.
2. On the **AI Agents** page, click **Hire AI Agent**. The **Job Market** page displays a list of available AI Agents to hire.
3. Hover your cursor over the desired AI Agent template and click **Hire**. This action will trigger the **Hire AI Agent** task in the Task Manager.
4. Check the status of the **Hire AI Agent** task by clicking
in the upper-right corner.
5. Once the task is complete, go to **Build > Flows** and find the Flow with the AI Agent name from the template you installed.
You can hire an Agent from the Job Market using the [Cognigy API POST beta/aiagents/hire](https://api-trial.cognigy.ai/openapi#post-/beta/aiagents/hire) request.
## Combine Custom and Hired AI Agents
You can reassign your custom AI Agent to take on the responsibilities of the hired AI Agent.
To do this, hire an AI Agent from the Job Market
and configure their interaction by defining which functions and personality traits should be combined.
This approach lets you combine the strengths of both AI Agents: ready-made job functions from the hired AI Agent and your brand's AI Agent persona from your custom AI Agent.
To combine custom and hired AI Agents, follow these steps:
1. On the **AI Agents** page, select **+ Hire AI Agent**. The **Job Market** page displays a list of available AI Agents to hire.
2. Hover your cursor over the desired AI Agent template and click
**> Hire & Configure**.
3. In the **Select an AI Agent to Combine** window, use the search field to find an AI Agent by name, then select the AI Agent from the list.
4. Click **Combine**. This action will trigger the **Hire AI Agent** and **Merge Package** tasks in the Task Manager.
5. In the left-side menu of the **Project** page, select **Build > Flows**.
6. Select the Flow that belongs to the hired AI Agent. In the Flow, you will see an AI Agent Node with your custom AI Agent persona.
## Configure Jobs and Tools for AI Agents
When you create an AI Agent from scratch or add one from the Job Market, you can add or change jobs and tools in the AI Agent configuration.
1. Open the created AI Agent and go to the **Jobs** tab.
2. Fill in the following fields:
* **Job Name** — enter a title for the job you want to assign to the AI Agent. For example, `Customer Support Specialist`.
* **Job Description** — enter a description of the job that outlines the responsibilities and tasks associated with the role. For example, `Handle customer inquiries, provide product information, and resolve issues efficiently`.
* **Instructions and Context** — provide specific instructions or guidelines that the AI Agent should follow while performing its job. For example, `Always respond politely, escalate complex issues to a human agent, and ensure customer satisfaction`.
### Configure Tools for AI Agents
In the **Tools** section, click **Add Tool** to add tools that the AI Agent can use to perform its job. Select one of the following options:
A tool is a specific task that an AI Agent can perform. The AI Agent can call tools to perform different tasks, such as retrieving information from a database or interacting with an external API. Fill in the following fields:
| Parameter | Type | Description |
| ----------- | ------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
| Tool ID | CognigyScript | Provide a meaningful name as a tool ID. This ID can contain only letters, numbers, underscores (`_`), or dashes (`-`). For example, `update_user-1`. |
| Description | CognigyScript | Provide a detailed description of what the tool does, when it should be used, and its parameters. |
Configure the parameters that will be collected by the AI Agent before the tool is called. You can switch between the Graphical and JSON editors. When editing the JSON, follow the [JSON Schema specification](https://json-schema.org).
| Parameter | Type | Description |
| --------------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Use Parameters | Toggle | Activate this toggle to add parameters in addition to the tool name and description. The AI Agent will collect all data it needs and call a Tool with these parameters filled as arguments. These values can be accessed directly in the `input.aiAgent.toolArgs` object. |
| Name | Text | Specify the name of the parameter. The name should be clear and concise, and describe the purpose of the parameter. |
| Type | Selector | Select a type of the parameter:- **String** — a sequence of characters. For example, `"hello"`, `"123"`.
- **Number** — a numerical value, which can be either an integer (for example, `5`) or a floating point number (for example, `3.14`).
- **Boolean** — a logical value representing `true` or `false`.
- **Array** — a collection of elements, which can contain multiple values of any type. For example, `["apple", "banana", "cherry"]`.
- **Object** — a collection of key-value pairs, where each key is a string and the value can be of any type. For example, `{"name": "John", "age": 30}`.
|
| Description | Text | Explain what the parameter means by providing a brief description of the parameter's usage. |
| Enum (optional) | Enum | Define a set of values that the parameter can accept. The enum restricts the input to one of the specified values, ensuring only valid options are chosen. The enum is only available for string-type parameters in the Graphical editor. For other types, use the JSON editor. May not be supported by all LLM providers. |
| Add Parameter | Button | Add a new parameter. |
| Parameter | Type | Description |
| ------------------------- | ------ | ----------------------------------------------------------------------------------------------------------------- |
| Debug Message when called | Toggle | Enable the output of a debug message when the tool is called to provide detailed information about the tool call. |
| Parameter | Type | Description |
| --------- | ------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Condition | CognigyScript | The tool will be enabled only if the condition is evaluated as true. If false, the tool isn't part of the AI Agent's Tools within this execution. For example, when using the `unlock_account` tool, you can specify a condition like `context.accountStatus === "locked"`. This checks the value in the context, and if it is missing or different, the tool will not be enabled. |
An MCP tool connects to a remote [MCP server](https://modelcontextprotocol.io/introduction) to load tools that the AI Agent can execute. Fill in the following fields:
| Parameter | Type | Description |
| ------------------ | ------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Name | CognigyScript | Provide a name for the MCP connection. This name helps you identify the source of the loaded tool. |
| MCP Server SSE URL | CognigyScript | Provide the URL to an SSE (Server-Sent Events) endpoint from a remote [MCP server](https://modelcontextprotocol.io/introduction). Ensure that you connect only to trusted MCP servers. |
| Timeout | Slider | Set the timeout time for the MCP connection in seconds. |
| Parameter | Type | Description |
| ------------------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Authentication Type | Selector | The authentication type to use for the MCP server connection. Select one of the following options: - **None** — no authentication. This option is used by default.
- **OAuth2** — authenticate using OAuth 2.0, which provides improved security and control compared to API keys. OAuth 2.0 supports scoped permissions, expiring tokens, and reduced exposure through short-lived tokens.
If you want to use a different authentication method, such as an API key, you can add it as a custom header in **Custom Headers** of the **Advanced** section. |
| OAuth2 Parameters | Selector | Opens the fields required to configure OAuth 2.0 authentication. These fields allow the AI Agent to securely request and use access tokens when communicating with the MCP server. Configure the following fields: - **Connection Name** — enter a descriptive name for the connection, for example, `MCP Tool OAuth`.
- **OAuth URL** — enter the token endpoint URL exposed by the MCP server, for example: `https://mcp.example.com/oauth2/token`.
- **Client ID** — enter the application (client) ID issued by the MCP server.
- **Client Secret** — enter the application secret issued by the MCP server. Keep it secure.
- **Scope** — add a list of scopes that define the permissions required by your application, for example: `read write admin`. Separate multiple scopes with spaces.
|
| Parameter | Type | Description |
| --------------------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Debug Loaded Tools | Toggle | Enable this parameter to display a debug message listing all tools loaded from the MCP server. The debug message also includes tools filtered out in the Advanced section. This parameter shows whether tools were loaded from the cache or directly from the MCP server. |
| Debug with Parameters | Toggle | Enable this parameter to include the Tool Parameters in the debug message. |
| Debug calling Tool | Toggle | Enable the output of a debug message when the tool is called to provide detailed information about the tool call. |
| Parameter | Type | Description |
| -------------- | ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Cache Tools | Toggle | Disables caching of loaded tools while developing. Ensure that caching is enabled in production for performance reasons. The caching time is 10 minutes. In debug mode, you can verify whether the cache was used. To do this, make sure **Debug Loaded Tools** is enabled. For more information, see the [Debug Settings](#debug-settings) section. |
| Condition | CognigyScript | Sets the condition under which the tool will be activated. If the condition is evaluated as false, the tool isn't part of the AI Agent's Tools during execution. For example, when using the `unlock_account` tool, you can specify a condition like `context.accountStatus === "locked"`. This checks the value in the context, and if it is missing or different, the tool will not be enabled. |
| Tool Filter | Selector | Controls if tools should be excluded from execution. You can select one of the following options:- **None** — no tool filtering is applied, and all tools are available for execution. This option is selected by default.
- **Whitelist** — only tools on the list are allowed for execution, while all other tools are excluded.
- **Blacklist** — tools on the list are excluded from execution, while all other tools remain available.
|
| Blacklist | CognigyScript | The parameter appears if you select **Blacklist** in **Tool Filter**. Specify the tools that should be blocked from execution. Specify only one tool per field. |
| Whitelist | CognigyScript | This parameter appears if you select **Whitelist** in **Tool Filter**. Specify the tools you want to allow for execution. Specify only one tool per field. |
| Custom Headers | - | Sets custom authentication headers to send with the request to the MCP server. Use the **Key** and **Value** fields to enter a header. The **Value** field supports CognigyScript. After entering the header key, new empty **Key** and **Value** fields are automatically added, in case you need to add more headers. Alternatively, you can click **Show JSON Editor** and enter the headers in the code field. |
You can add multiple tools to the AI Agent. The recommended maximum number of tools is 20. The following video shows an MCP Tool example:
A Knowledge tool is a tool that allows the AI Agent to directly access [Knowledge Stores](/ai/agents/develop/knowledge-ai/knowledge-store) to provide context-aware responses. Fill in the following fields:
| Parameter | Type | Description |
| --------------- | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Knowledge Store | Selector | Select a Knowledge Store. |
| Tool ID | CognigyScript | Enter a name as a tool ID. This ID can contain only letters, numbers, underscores (`_`), or dashes (`-`). If you use more than one Knowledge tool, the tool ID provides context to trigger the correct Knowledge tool. In this case, enter a clear tool ID for each Knowledge tool, for example, `search_appliances`. |
| Description | CognigyScript | Enter instructions to guide the AI Agent to call the Knowledge tool. The description field provides context to trigger the Knowledge tool. If you want to use more than one Knowledge tool, enter clear instructions for the cases when each Knowledge tool should be used. For example, `Find the answer to prompts or questions about appliances by searching the attached data sources. Use this tool when a customer asks about appliance items such as washing machines, dryers, and other household appliances. Focus exclusively on a knowledge search and does not execute tasks like small talk, calculations, or script running.` |
| Parameter | Type | Description |
| ------------------------- | ------ | ----------------------------------------------------------------------------------------------------------------- |
| Debug Message when called | Toggle | Enable the output of a debug message when the tool is called to provide detailed information about the tool call. |
| Parameter | Type | Description |
| --------------------------- | ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Top K | Slider | Set how many Knowledge Chunks to return. Providing more results gives the AI Agent additional context, but it also increases noise and token usage. |
| Store Location | Selector | Select whether and where to store the knowledge search results. Select one of the following options:- **Don't store** — the content isn't stored. This option is set by default.
- **Input** — the content is stored in the Input object.
- **Context** — the content is stored in the Context object.
|
| Input Key to store result | CognigyScript | Appears when **Store Location** is set to **Input**. The property in the Input object where the result is stored. For example, `input.knowledgeSearch`. |
| Context Key to store result | CognigyScript | Appears when **Store Location** is set to **Context**. The property in the Context object where the result is stored. For example, `context.knowledgeSearch`. |
| Source Tags | CognigyScript | Enter [Knowledge Source Tags](/ai/agents/develop/knowledge-ai/knowledge-source/knowledge-source-tags) to refine the scope of your knowledge search, including only the most relevant Knowledge Chunks in the Knowledge Store. Before entering tags, ensure they are included in the Knowledge Sources. Add tags by entering each separately and pressing Enter. Max 5 tags. When multiple Source Tags are specified, the Search Extract Output Node defaults to the `AND` operator, meaning it only considers Sources that have all specified tags. To change this behavior, adjust the **Match Type for Source Tags** parameter. |
| Match type for Source Tags | Selector | The operator to filter Knowledge Sources by Source Tags. Select one of the following options:- **AND** — the default value, requires all Source Tags to match across multiple Knowledge Sources. Consider the following example: there are Knowledge Sources with Source Tags `S-a`, `S-b`, and `S-c`. When you use the `AND` operator to filter by `S-a` and `S-b`, only Sources with both Tags `S-a` and `S-b` are included in the search results.
- **OR** — requires at least one Source Tag to match across multiple Knowledge Sources. Consider the following example: there are Knowledge Sources with Source Tags `S-a`, `S-b`, and `S-c`. When you use the `OR` operator to filter by `S-a` or `S-b`, any Source with either Tag `S-a` or `S-b` is included in the search results.
|
| Condition | CognigyScript | The Knowledge tool is activated only if the condition is evaluated as true. If false, the tool isn't included in the current execution. For example, when using the Knowledge tool, you can enter a condition such as `context.productCategory === "appliances"`. This checks the value in the context, and if it is missing or different, the tool isn't activated. |
The Send Email tool lets your AI Agent send emails directly to users. The Send Email tool has the capabilities and restrictions as the [Email Notification Node](/ai/agents/develop/node-reference/data/email-notification) but is more flexible. While the Email Notification Node sends emails at a fixed step in a Flow, the Send Email tool allows the AI Agent to send emails dynamically, based on user input, conversation context, or instructions. This tool makes automation more flexible and minimizes extra Flow steps.
| Parameter | Type | Description |
| ---------------------------- | ------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Tool ID | CognigyScript | Provide a meaningful name as a tool ID. This ID can contain only letters, numbers, underscores (`_`), or dashes (`-`). The default name is `send_email`. |
| Description | CognigyScript | Provide a detailed description of what the tool should do. The default description is `Create and send a new email message.` |
| Recipient TO Email Addresses | CognigyScript | A comma-separated list of email addresses to which the email will be sent. |
| Parameter | Type | Description |
| ------------------------- | ------ | ----------------------------------------------------------------------------------------------------------------- |
| Debug Message when called | Toggle | Enable the output of a debug message when the tool is called to provide detailed information about the tool call. |
| Parameter | Type | Description |
| --------- | ------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Condition | CognigyScript | The tool will be enabled only if the condition is evaluated as true. If false, the tool isn't part of the AI Agent's Tools within this execution. For example, when using the `unlock_account` tool, you can specify a condition like `context.accountStatus === "locked"`. This checks the value in the context, and if it is missing or different, the tool will not be enabled. |
The Handover to AI Agent tool lets you transfer a conversation to another AI Agent in the same or a different Flow. This approach ensures that different AI Agents share the same conversation context and can handle specific tasks, and that multi-step conversations run smoothly across Flows.
| Parameter | Type | Description |
| ----------- | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Tool ID | CognigyScript | Provide a meaningful name as a tool ID. This ID can contain only letters, numbers, underscores (`_`), or dashes (`-`). The default name is `handover_to_ai_agent`. |
| Description | CognigyScript | Describe what the receiving AI Agent should do. For example: `Handle product recommendations`, `Perform technical troubleshooting`, or `Assist with billing questions`. Be specific so the handover rules clearly indicate when the conversation should be handed over to the receiving AI Agent. |
| Select Flow | Selector | Select the target Flow to hand over to. The list includes only Flows that contain AI Agent Nodes. |
| Select Node | Selector | Select the AI Agent Node to hand over to. |
| Parameter | Type | Description |
| ------------------------- | ------ | ----------------------------------------------------------------------------------------------------------------- |
| Debug Message when called | Toggle | Enable the output of a debug message when the tool is called to provide detailed information about the tool call. |
| Parameter | Type | Description |
| --------- | ------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Condition | CognigyScript | The tool will be enabled only if the condition is evaluated as true. If false, the tool isn't part of the AI Agent's Tools within this execution. For example, when using the `unlock_account` tool, you can specify a condition like `context.accountStatus === "locked"`. This checks the value in the context, and if it is missing or different, the tool will not be enabled. |
The Handover to Human Agent tool lets you transfer a conversation to a human agent through handover providers. This tool allows your AI Agents to refer complex tasks to a human agent if they can't address the user's request.
| Parameter | Type | Description |
| -------------------------------- | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Tool ID | CognigyScript | Provide a meaningful name as a tool ID. This ID can contain only letters, numbers, underscores (`_`), or dashes (`-`). The default name is `handover_to_human_agent`. |
| Description | CognigyScript | Describe the situation when the AI Agent should refer to a human agent. For example: `Use this tool if the user explicitly asks for a human.`, or `Use this tool if you fail to answer the user's question three times.`. Be specific so the handover rules clearly indicate when the conversation should be handed over to the receiving human agent. |
| Handover Provider | Selector | Select the handover provider from the list and [configure the handover accordingly](/ai/escalate/handover-reference/overview). The list contains the handover providers created in **Deploy > Handover Providers**. |
| Handover Accepted Message | CognigyScript | The message to be outputted when the handover is requested. |
| Repeat Handover Accepted Message | Toggle | Enable to repeatedly output the Handover Accepted Message if the user sends a message while waiting in the queue for an agent. |
| Parameter | Description |
| ------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Live Agent Inbox Id | Enter the Inbox ID that you obtained in the [previous step](/ai/escalate/handover-reference/live-agent). |
| Skills | Enter a list of skills that should be used to filter the available agents. For example, `technical support, billing`. |
| Languages | Enter a list of languages that should be used to filter the available agents. For example, `english, spanish`. |
| Priority | Select a priority for the conversation from the list. For example, `Urgent`. |
| Get Queue Position | Enable the system to retrieve the end user's current queue position. This parameter is inactive by default. |
| Update Interval | Specify the interval, in seconds, for how often to receive updates on the queue status. This parameter appears if **Get Queue Position** is selected. |
| Get Estimated Wait Time | Enable the retrieval of the estimated wait time for the end user. This parameter is inactive by default. |
| Update Interval | Set the interval, in seconds, for how often to receive updates on estimated wait time. This parameter appears if **Get Estimated Wait Time** is selected. |
| Alternative Update | The alternative update options when certain conditions are met. This parameter is inactive by default. |
| Maximum Queue Position | Set the threshold for the maximum queue position. If this threshold is reached, the alternative text is sent. This parameter appears if **Alternative Update** is selected. |
| Maximum Estimated Wait Time | Define the maximum estimated wait time in milliseconds. If this duration is exceeded, the alternative text is sent. This parameter appears if **Alternative Update** is selected. |
| Alternative Text | The message to be sent when either the maximum queue position or maximum wait time is reached. This parameter appears if **Alternative Update** is selected. |
| Enable User Connects Message | Notify human agents when an end user reconnects to the chat. The parameter is enabled by default. When the parameter is enabled, the message `User joined the conversation` appears in the chat as soon as the end user returns to the chat tab by clicking the **←** (back arrow) at the top bar in the browser, after having opened a new URL on the same tab as the chat. |
| Enable User Disconnects Message | Notify human agents when an end user disconnects from the chat. The parameter is enabled by default. When the parameter is enabled, the message `User left the conversation` is sent as soon as the end user closes the tab with the chat or switches to a new URL address within the current tab. |
For more information, read the [Live Agent Handover Setup](/live-agent/getting-started/live-agent-setup/live-agent-setup-handover-flow) and [Real-Time Queue Notifications](/ai/escalate/handover-features/real-time-queue-notifications) documentation.
| Parameter | Description |
| ----------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Chatwoot Inbox Id | Enter the Chatwoot Inbox ID. You can find the Inbox ID in your Chatwoot URL. For example, `https://app.chatwoot.com/app/account/6607/inbox/5446`, where the Inbox ID is `5446`. For more information, read the [Chatwoot handover provider](/ai/escalate/handover-reference/chatwoot) documentation. |
| Parameter | Description |
| -------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Send Transcript as first message | Activate this parameter to allow Salesforce to receive the conversation transcript as the first message. This setting is turned off by default. |
| Button ID | Enter the ID of the Button you created in the Salesforce installation. This setting will override the default Button ID that you specified in the Endpoint configuration. You can use different Button IDs for individual Handover to Agent Nodes. |
| Pre-chat Entities | Enter the pre-chat entities. For more information, read the [Salesforce Handover](/ai/escalate/handover-reference/salesforce) documentation. |
| Pre-chat Details | Enter the pre-chat details. For more information, read the [Salesforce Handover](/ai/escalate/handover-reference/salesforce) documentation. |
| Parameter | Description |
| -------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Send Transcript as first message | Activate this parameter to allow NiCE CXone to receive the conversation transcript as the first message when the handover begins. This setting is turned on by default. |
| Parameter | Description |
| ------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Language | Specify a language for the conversation. For example, `english`, `spanish`, `german`. |
| Skills | Define skills for the conversation. For example, `escalation`. |
| Priority | Set the priority for the conversation. For example, `1`.
If a priority is set, it triggers a flow in Genesys to prioritize or de-prioritize the conversation within the queue.
Note that this functionality requires the appropriate flow to be set up in Genesys. |
| Enable User Connects Message | Notify human agents when an end user reconnects to the chat. The parameter is enabled by default. When the parameter is enabled, the message `User joined the conversation` appears in the chat as soon as the end user returns to the chat tab by clicking the **←** (back arrow) at the top bar in the browser, after having opened a new URL on the same tab as the chat. |
| Enable User Disconnects Message | Notify human agents when an end user disconnects from the chat. The parameter is enabled by default. When the parameter is enabled, the message `User left the conversation` is sent as soon as the end user closes the tab with the chat or switches to a new URL address within the current tab. |
| Custom Attributes | Add custom attributes in JSON format to include additional information the handover. For more information, refer to [Genesys Cloud Open Messaging](/ai/escalate/handover-reference/genesys-cloud-open-messaging). |
| Get Estimated Wait Time | Retrieve the estimated wait time for the end user. End users then receive wait time updates while they wait to be connected to a human agent. This parameter is inactive by default. It requires an active [Amazon EventBridge Source integration](/ai/escalate/handover-reference/genesys-cloud-open-messaging-with-amazon-eventbridge). |
| Update Interval | Specify the interval, in seconds, for how often to receive updates on the estimated wait time. This parameter appears if **Get Estimated Wait Time** is selected. |
| Alternative Update | Send an alternative message to the end user when the maximum estimated wait time is exceeded. This parameter is inactive by default. This parameter appears if **Get Estimated Wait Time** is selected. |
| Maximum Estimated Wait Time | Define the maximum estimated wait time in milliseconds. If this duration is exceeded, the alternative text is sent instead of the actual wait time. This parameter appears if **Alternative Update** is selected. |
| Alternative Text | Specify the message to be sent when the maximum estimated wait time is exceeded. This parameter appears if **Alternative Update** is selected. |
Genesys Cloud Open Messaging doesn't provide a queue position. Estimated wait time is the only queue parameter available.
Example for the **Custom Attributes** parameter:
```json theme={null}
{
"section": "section A",
"region": "Europe"
}
```
For more information,
read
the [Genesys Cloud Guest Chat](/ai/escalate/handover-reference/genesys-cloud-guest-chat#prerequisites), [Genesys Cloud Open Messaging](/ai/escalate/handover-reference/genesys-cloud-open-messaging), and [Real-Time Queue Notifications](/ai/escalate/handover-features/real-time-queue-notifications#configure-settings-in-genesys-cloud-open-messaging) documentation.
| Parameter | Description |
| ------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 8x8 Channel Id | Specify the channel ID that you created during the 8x8 configuration.
You can find this ID in the 8x8 admin console. Navigate to **Channels > Chat API**. In the channel list, find the channel that you created. Copy the **ID** from the channel row. |
| 8x8 Queue Id | Specify the header value required for authenticating API calls to the 8x8 system.
You can find this ID in the 8x8 admin console. Navigate to **Channels > Chat API**. In the channel list, find the channel that you created. Copy the **Queue ID** from the channel row. |
| 8x8 JSON properties | Extend 8x8 properties with custom JSON. |
For more information, read the [8x8 Handover Setup](/ai/escalate/handover-reference/8x8) documentation.
| Parameter | Type | Description |
| ------------------------------- | ------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Additional Category Ids | CognigyScript | IDs to be passed to the RingCentral Engage handover provider. |
| Enable User Connects Message | Toggle | Notify human agents when an end user reconnects to the chat. The parameter is enabled by default. When the parameter is enabled, the message `User joined the conversation` appears in the chat as soon as the end user returns to the chat tab by clicking the **←** (back arrow) at the top bar in the browser, after having opened a new URL on the same tab as the chat. |
| Enable User Disconnects Message | Toggle | Notify human agents when an end user disconnects from the chat. The parameter is enabled by default. When the parameter is enabled, the message `User left the conversation` is sent as soon as the end user closes the tab with the chat or switches to a new URL address within the current tab. |
For more information, read the [RingCentral Engage Integration](/ai/escalate/handover-reference/ring-central-engage) documentation.
| Parameter | Type | Description |
| ------------------ | ------------- | --------------------------------------------------------------------------------- |
| Cancel Intent | CognigyScript | The Intent the user has to trigger to cancel the Handover request. |
| Cancel Button Text | CognigyScript | The text for a quick reply button that cancels the Handover request when clicked. |
| Parameter | Type | Description |
| ----------------------------------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Flow Continuation | Selector | Controls where the Flow continues after the human agent leaves the conversation.
When the user needs assistance completing the Flow with the AI Agent, the conversation is handed over to a human agent. The human agent can trigger the Flow by sending a `/bot` command as a reply in the conversation interface.
For example, the user enters their date of birth in an incorrect format, and the AI Agent can't process the response. The conversation is handed over to a human agent, who identifies the incorrect format and sends the corrected date using `/bot MM/DD/YYYY`. The AI Agent takes over and continues the Flow.
You can select one of the following options to determine where the Flow continues:- **Below this Node** — the Flow continues from the first Node below the Human Agent Node, regardless of where the human agent stopped assisting the user. This option is selected by default.
- **At current AgentInject Entrypoint** — the Flow continues from the Node where the human agent stopped assisting the user.
|
| Send resolve event to Virtual Agent | Toggle | Controls whether the Flow receives the `conversation_status_changed` event with the status set to `resolved`. This parameter is activated by default.- When the parameter is activated, the event is sent when the human agent leaves the conversation. As a result, the Flow continues immediately, without waiting for the user to send another message. If the [Lookup Case](/ai/agents/develop/node-reference/logic/lookup) Node is configured with **Handover Status** set to **Completed**, the Node can detect the completed handover and continue the Flow.
- When the parameter is deactivated, the event isn't sent when the human agent leaves the conversation. The Flow continues after the user sends their next message.
|
| Parameter | Type | Description |
| ----------------- | ------ | ------------------------------------------------------- |
| Send Queue Event | Toggle | Sends an event to the Flow once the handover is queued. |
| Send Active Event | Toggle | Sends an event to the Flow once the handover is active. |
| Parameter | Type | Description |
| ------------------------- | ------ | ----------------------------------------------------------------------------------------------------------------- |
| Debug Message when called | Toggle | Enable the output of a debug message when the tool is called to provide detailed information about the tool call. |
| Parameter | Type | Description |
| --------- | ------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Condition | CognigyScript | The tool will be enabled only if the condition is evaluated as true. If false, the tool isn't part of the AI Agent's Tools within this execution. For example, when using the `unlock_account` tool, you can specify a condition like `context.accountStatus === "locked"`. This checks the value in the context, and if it is missing or different, the tool will not be enabled. |
The Execute Workflow tool lets the AI Agent execute another Flow. After the target Flow executes, the conversation returns to the AI Agent.
The target Flow inherits the [Context object](/ai/agents/develop/ai-agent-memory/context) from the AI Agent. If the Context object is changed during the target Flow execution, these changes are also available to the AI Agent.
| Parameter | Description |
| ----------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Tool ID | Provide a meaningful name as a tool ID. This ID can contain only letters, numbers, underscores (`_`), or dashes (`-`). The default name is `execute_workflow`. |
| Description | Describe when to trigger the AI Agent to execute the target Flow. For example, if you have a specific Flow for dealing with package returns, enter: `Use this tool if the user explicitly asks to return a package.`. Be specific so the AI Agent only executes the target Flow when necessary. |
| Target Flow | Select the target Flow that the AI Agent executes when this tool is called. Click
to open the target Flow. |
| Select Node | Select the target Node in the target Flow that the AI Agent executes. You must set the Node you want to select as an Entrypoint with the [Set Entrypoint](/ai/agents/develop/nodes/overview#set-nodes-as-entrypoints) setting before you can select it. |
| Parameter | Type | Description |
| ------------------------- | ------ | ------------------------------------------------------------------------------------------------------------------- |
| Debug Message when called | Toggle | Activate the output of a debug message when the tool is called to provide detailed information about the tool call. |
| Parameter | Type | Description |
| -------------- | ------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Parse Intents | Toggle | Sets whether Intents should be parsed in the target Flow. This parameter is activated by default.
If this parameter is activated, Cognigy NLU reparses the Intents in the target Flow based on `text` in the [Input object](/ai/agents/develop/ai-agent-memory/input#accessing-input-properties). Then, Cognigy NLU generates Intent scores using the Intents from the target Flow instead of the ones from the current Flow. |
| Parse Slots | Toggle | Sets whether Slots should be parsed in the target Flow. This parameter is activated by default.
If this parameter is activated, Cognigy NLU reparses the Slots in the target Flow based on `text` in the [Input object](/ai/agents/develop/ai-agent-memory/input#accessing-input-properties). Then, Cognigy NLU generates Slot scores using the Slots from the target Flow instead of the ones from the current Flow. |
| Absorb Context | Toggle | Sets whether the [default Context object](/ai/agents/develop/ai-agent-memory/context#default-context) of the target Flow is used in the context of the Flow the AI Agent is currently in.
If the default Context of the target Flow has a value, it is copied into the Context object of the AI Agent as soon as the target Flow is executed. |
### Configure AI Agent Settings for Each Job
Configure more settings for managing AI Agents:
| Parameter | Type | Description |
| --------------------------- | ------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Long-Term Memory Injection | Selector | Allow the AI Agent to access [Contact Profile](/ai/agents/analyze/contact-profiles) information for the current user. Select one of the following options:- **None** – no memory.
- **Inherit from AI Agent** – use the settings specified in the [AI Agent creation settings](/ai/agents/develop/manage-ai-agents#create-ai-agents).
- **Inject full Contact Profile** – use all information from the Contact Profile.
- **Inject Contact Memories only** – use information only from the **Memories** field in the Contact Profile.
- **Inject selected Profile fields** – use information from specific fields in the Contact Profile.
|
| Selected Profile Fields | Text | This parameter appears when the **Inject selected Profile fields** option is enabled. Enter specific fields from the Contact Profile for targeted data use. Specify the field using the [Profile keys](/ai/agents/analyze/contact-profiles#profile-schema) format and press Enter to apply it. |
| Short-Term Memory Injection | CognigyScript | Specify a static string or a dynamic value via CognigyScript to make available to the AI Agent in the current turn. |
| Parameter | Type | Description |
| -------------------------- | ------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Knowledge Injection | Selector | Use the Knowledge AI feature for the AI Agent. Select one of the following options:- **Never** — do not use the Knowledge Stores.
- **When Required** — let the AI Agent decide when querying the Knowledge Stores is required to help the user.
- **Once for Each User Input** — query the Knowledge Store(s) after each user input. Note that executing a query on every user input can lead to increased costs and latency.
|
| Use AI Agent Knowledge | Toggle | The parameter appears when you select either **When Required** or **Once for Each User Input**. Enable to use the Knowledge Store configured in the AI Agent. The Knowledge Store configured within the [AI Agent creation settings](#create-ai-agents) will be used. |
| Use Job Knowledge | Toggle | The parameter appears when you select either **When Required** or **Once for Each User Input**. Enable this option to configure a specific Knowledge Store for this particular job, allowing the AI Agent to access job-specific data or resources. |
| Job Knowledge Store | Selector | The parameter appears when you select either **When Required** or **Once for Each User Input**. The parameter appears when the **Use Job Knowledge** option is enabled. Select a specific Knowledge Store for this AI Agent's job. |
| Top K | Slider | The parameter appears when you select either **When Required** or **Once for Each User Input**. Specify how many Knowledge Chunks to return. Providing more results gives the AI Agent additional context, but it also increases noise and token usage. |
| Source Tags | CognigyScript | The parameter appears when you select either **When Required** or **Once for Each User Input**. The tags serve to refine the scope of your knowledge search, allowing you to include only the most pertinent sections of the knowledge base and, as a result, improve the accuracy of search outputs. Before specifying tags, ensure that they were provided during the creation of the Knowledge Sources. Add Tags by specifying each Tag separately and pressing ++enter++. The maximum number of tags is 5. When you specify multiple Source Tags, the Search Extract Output Node defaults to an `AND` operator, meaning it only considers Sources that have all the specified Tags. This approach ensures the search results are precise and highly relevant to the end user's query. To change this behavior, go to the **Match Types for Source Tags** parameter. |
| Match type for Source Tags | Select | The parameter appears when you select either **When Required** or **Once for Each User Input**. The operator to filter Knowledge Sources by Source Tags. Select one of the following options:- **AND** — the default value, requires all tags to match across multiple Knowledge Sources. Consider the following example: there are Knowledge Sources with Tags `S-a`, `S-b`, and `S-c`. When you use the `AND` operator to filter by `S-a` and `S-b`, only Sources with both Tags `S-a` and `S-b` will be included in the search results.
- **OR** — requires at least one tag to match across multiple Knowledge Sources. Consider the following example: there are Knowledge Sources with Tags `S-a`, `S-b`, and `S-c`. When you use the `OR` operator to filter by `S-a` or `S-b`, any Source with either Tag `S-a` or `S-b` will be included in the search results.
|
| Generate Search Prompt | Toggle | The parameter appears when you select **Once for Each User Input**. This parameter is enabled by default and allows you to generate a context-aware search prompt before executing the knowledge search. Note that enabling this parameter may lead to increased cost and latency. |
| Parameter | Type | Description |
| --------------------------- | ------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| How to handle the result | Select | Determine how to handle the prompt result:- **Store in Input** — stores the AI Agent result in the Input object. To print the prompt result, refer to the configured Context key in a Say Node or enable the **Output result immediately** option.
- **Store in Context** — stores the result in the Context object. To print the prompt result, refer to the configured Context key in a Say Node or enable the **Output result immediately** option.
- **Stream to Output** — streams the result directly into the output. This means that chunks coming from the prompt response will be output directly into the conversation chat as soon as a Stream Buffer Flush Token is matched, and you don't need to use the AI Agent Output Token and Say Node. By default, this result won't be stored in either the Input or the Context. You can change this behavior by activating the **Store Copy in Input** option.
|
| Input Key to store Result | CognigyScript | The parameter appears when you select either **Store in Input** or **Stream to Output**. The result is stored in the `input.aiAgentOutput` object by default. You can specify another value, but the **AI Agent Output** Token will not work if the value is changed. |
| Context Key to store Result | CognigyScript | The parameter appears when **Store in Context** is selected. The result is stored in the `context.aiAgentOutput` object by default. You can specify another key. |
| Stream Buffer Flush Tokens | Text Array | The parameter appears when **Stream to Output** is selected. It defines tokens that trigger the stream buffer to flush to the output. The tokens can be punctuation marks or symbols, such as `\n`. |
| Output result immediately | Toggle | The parameter appears when you select either **Store in Input** or **Store in Context**. This parameter allows you to output results immediately without using the Say Node and AI Agent Output token. |
| Store Copy in Input | Toggle | The parameter appears when **Stream to Output** is selected. In addition to streaming the result to the output, store a copy in the Input object by specifying a value in the **Input Key to store Result** field. |
| Parameter | Type | Description |
| ------------------------- | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Voice Setting | Select | Configure the voice settings for the AI Agent Job. This parameter determines how the AI Agent selects the voice for text-to-speech (TTS) output. Select one of the following options:- - **Inherit from AI Agent** — use the voice settings defined in the [AI Agent creation settings](#create-ai-agents).
- - **Use Job Voice** – apply custom voice settings specific to this job, allowing the AI Agent to adapt to the particular role it performs.
For example, if you create a marketing AI Agent, the voice can be more engaging, friendly, and persuasive. However, if the same AI Agent performs a different role, such as customer support, the voice might be more neutral, empathetic, and formal. |
| TTS Vendor | Dropdown | Select a TTS vendor from the list or add a custom one. Note that the AI Agent Node doesn't support **TTS Labels** to distinguish configurations from the same TTS vendor. To use **TTS Labels**, add a [Set Session Config Node](/ai/agents/develop/node-reference/voice/voice-gateway/set-session-config) before the AI Agent Node in the Flow editor. |
| Custom (Vendor) | CognigyScript | The **Custom** parameter appears when you select **Custom** from the **TTS Vendor** list. Specify the [custom TTS Vendor](/voice-gateway/webapp/speech-services#add-custom-speech-vendors). For preinstalled providers, use all lowercase letters, for example, `microsoft`, `google`, `aws`. For custom providers, use the name that you specified on the [Speech Service](/voice-gateway/webapp/speech-services) page in the Voice Gateway Self-Service Portal. |
| TTS Language | Dropdown | Define the language of the voice AI Agent output. Ensure this language aligns with the preferred language of the end user. |
| Custom (Language) | CognigyScript | The **Custom** parameter appears when you select **Custom** from the **TTS Language** list. Specify the language of the AI Agent output. The format depends on the option selected in the TTS vendor; check your TTS vendor documentation. The typical format is as follows: `de-DE`, `fr-FR`, `en-US`. |
| TTS Voice | Dropdown | Define the voice that should be used for the voice AI Agent output. This parameter allows you to customize the AI Agent's voice by defining its tone, gender, style, and regional specifics, making conversations more personalized and aligned with your brand and target audience. |
| Custom (Voice) | CognigyScript | The **Custom** parameter appears when you select **Custom** from the **TTS Voice** list. Use this parameter to specify a custom voice, which is often required for region-specific voices. The format depends on the option selected in **TTS Vendor** and typically follows the pattern `language-region-VoiceName`. For example, `de-DE-ConradNeural` for German (Germany) male voice or `en-US-JennyNeural` for English (US) female voice. |
| TTS Label | CognigyScript | The alternative name of the TTS vendor is the one you [specify in the Voice Gateway Self-Service Portal](/voice-gateway/webapp/applications#add-additional-tts-and-stt-vendor). If you have created multiple speech services from the same vendor, use the label to specify which service to use. |
| Disable TTS Audio Caching | Toggle | Disables TTS audio caching. By default, the setting is deactivated. In this case, previously requested TTS audio results are stored in the AI Agent cache. When a new TTS request is made and the audio text has been previously requested, the AI Agent retrieves the cached result instead of sending another request to the TTS provider. When the setting is activated, the AI Agent caches TTS results but doesn't use them. In this case, each request is directly sent to your speech provider. Note that disabling caching can increase TTS costs. For detailed information, contact your speech provider. |
| Parameter | Type | Description |
| --------------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Tool Choice | Selector | If supported by your LLM Model, this will determine how tools should be selected by the AI Agent:- **Auto** — tools (or none) are automatically selected by the AI Agent when needed.
- **Required** — your AI Agent will always use one of its Tools.
- **None** — your AI Agent won't use a tool.
|
| Use Strict mode | Toggle | When the parameter is enabled, strict mode (if supported by the LLM provider) ensures that the arguments passed to a tool call precisely match the expected parameters. Enabling this feature can help prevent errors. However, it may cause a slight delay in the response, especially during the first call after making changes. |
| Parameter | Type | Description |
| -------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Process Images | Toggle | Enable the AI Agent to read and understand images attachments. Make sure that your LLM provider supports image processing; refer to your provider's documentation. In addition, make sure that attachments are supported by and activated in your Endpoint, for example, Webchat. |
| Images in Transcript | Selector | Configure how images older than the last turn are handled to reduce token usage: - **Minify** — reduces the size of these images to 512x512px.
- **Drop** — excludes the images.
- **Keep** — sends the max size (this option consumes more tokens).
Limitations and token consumption depend on the LLM used. |
| Parameter | Type | Description |
| -------------------------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| LLM | Selector | Select a model that supports the [AI Agent Node feature](/ai/agents/develop/gen-ai-and-llms/model-support-by-feature). The selected **Default** model is the model that you specified in **Settings > Generative AI Settings** of your Project. Select the model that you [added earlier](/ai/agents/overview#prerequisites) while configuring Agentic AI feature. This model will manage your AI Agent. |
| AI Agent Base Version | Selector | Select the base version of the AI Agent to use:- **Fixed Version** — select a specific version, such as `1.0`, to ensure stability and avoid potential breaking changes. Use this version in production environments or for critical workflows. The version dropdown will be updated as future versions of the AI Agent Node are released.
- **Latest** — use the most recent version of the AI Agent Node. While this version ensures access to the latest features, it may cause breaking changes that require manual updates.
When upgrading to a fixed version or switching to the latest, always test your AI Agent carefully to ensure it works with the selected version. |
| Timeout | Number | Define the maximum number of milliseconds to wait for a response from the LLM provider. |
| Maximum Completion Tokens | Slider | Define the maximum number of tokens that can be used during a process to manage costs. However, if the limit is set too low, the output may be incomplete, as the process could be cut off before it finishes. For example, if you set the maximum tokens to 100, the model will stop generating content once it reaches 100 tokens. This number would be roughly equal to 100 words, depending on the language and tokenization method. |
| Temperature | Slider | Define the sampling temperature, which ranges between 0 and 1. Higher values, such as 0.8, make the output more random, while lower values, such as 0.2, make it more focused and deterministic. |
| Include Rich Media Context | Toggle | Controls whether the text from the [Textual Description](/ai/agents/develop/node-reference/basic/say#output-type) field in Say, Question, and Optional Questions Nodes is added to the AI Agent's prompt. This text provides AI Agents with additional information, improving their responses.
If you have filled in a **Textual Description** field in other Nodes, this text is added to the prompt as context for rich media, such as Text with Quick Replies. If the **Textual Description** field is empty, the button titles and alt text from the rich media are added to the prompt. By default, the **Include Rich Media Context** parameter is active. When this parameter is inactive, nothing related to the rich media is added to the prompt.
**Examples**:- If **Textual Description** is filled in:
Textual Description: `Select your preferred delivery option: Standard Delivery or Express Delivery`.
Quick Replies buttons: `Standard Delivery`, `Express Delivery`.
Context added to the prompt: `Select your preferred delivery option: Standard Delivery or Express Delivery`.
- If **Textual Description** is empty:
Textual Description: empty.
Quick Replies buttons: `Standard Delivery`, `Express Delivery`.
Context added to the prompt: `Standard Delivery`, `Express Delivery`.
- If **Include Rich Media Context** is inactive:
No information related to the rich media is added to the prompt.
|
| Parameter | Type | Description |
| ------------------------------ | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Log to System Logs | Toggle | Log errors to the system logs. They can be viewed on the [Logs](/ai/agents/test/logs) page of your Project. The parameter is inactive by default. |
| Store in Input | Toggle | Store errors in the Input object. |
| Select Error Handling Approach | Select | You can select one of the Error Handling options:- **Stop Flow Execution** — terminate the current Flow execution.
- **Continue Flow Execution** — allow the Flow to continue executing, bypassing the error and proceeding to the next steps.
- **Go to Node** — redirect the workflow to a specific Node in the Flow, which can be useful for error recovery or customized error handling.
|
| Select Flow | Select | The parameter appears when **Go to Node** is selected. Select a Flow from the available options. |
| Select Node | Select | The parameter appears when **Go to Node** is selected. Select a Node from the available options. |
| Error Message (optional) | CognigyScript | Add the optional message to the output if the AI Agent Node fails. |
| Parameter | Type | Description |
| --------------------- | ------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Log Job Execution | Toggle | Send a debug message with the current AI Agent Job configuration. The message appears in the Interaction Panel when [debug mode](/ai/agents/test/interaction-panel/chat#debug-mode) is enabled. The parameter is active by default. |
| Log Knowledge Results | Toggle | Send a debug message containing the result from a knowledge search. The message appears in the Interaction Panel when [debug mode](/ai/agents/test/interaction-panel/chat#debug-mode) is enabled. The parameter is inactive by default. |
| Show Token Count | Toggle | Send a debug message containing the input, output, and total token count. The message appears in the Interaction Panel when [debug mode](/ai/agents/test/interaction-panel/chat#debug-mode) is enabled. Cognigy uses the GPT-3 tokenizer algorithm, so actual token usage may vary depending on the model used. The parameter is inactive by default. |
| Log System Prompt | Toggle | Send a debug message containing the system prompt. The message appears in the Interaction Panel when [debug mode](/ai/agents/test/interaction-panel/chat#debug-mode) is enabled. The parameter is inactive by default. |
| Log LLM Latency | Toggle | Send a debug message containing key latency metrics for the request to the model, including the time taken for the first output and the total time to complete the request. The message appears in the Interaction Panel when [debug mode](/ai/agents/test/interaction-panel/chat#debug-mode) is enabled. The parameter is inactive by default. |
| Log Tool Definitions | Toggle | Send a debug message containing information about the configured AI Agent tools. The message appears in the Interaction Panel when [debug mode](/ai/agents/test/interaction-panel/chat#debug-mode) is enabled. The parameter is inactive by default. |
To test and refine the job settings, use the Interaction Panel on the right side of the screen.
To view the AI Agent's Flow in detail, click **Advanced Editor** in the upper-right corner.
One AI Agent can have multiple jobs. To add another job, click **Add Job** in the bottom-left corner. Note that each job corresponds to one Flow.
## Other Operations
You can view and delete AI Agents, and copy their Reference ID in **Build > AI Agents**.
You can create, edit, and delete AI Agents using [Cognigy API](https://api-trial.cognigy.ai/openapi#get-/beta/aiagents).
You can clone and edit AI Agents using [Cognigy CLI](https://github.com/Cognigy/Cognigy-CLI).
## More Information
* [Overview](/ai/agents/overview)
* [Getting Started](/ai/agents/quickstart)
# Copilot: Identity Tile
Source: https://docs.cognigy.com/ai/agents/develop/node-reference/agent-copilot/identity-tile
Updated in 4.60
## Description
This Node is designed to display and process customer-specific information directly within the widget of your Agent Copilot workspace, enhancing the context and usability of the identity-related data.
## Parameters
| Parameter | Type | Description |
| ------------- | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
| Tile ID | CognigyScript | The ID that you created in the Agent Copilot configuration. |
| Widget Layout | Select | The layout of how the widget should be placed in the Workspace (horizontal/vertical). |
| Image Shape | Select | The shape or format of the image (round or square). |
| Image URL | URL | The URL where the image is hosted or located. |
| Customer Data | CognigyScript | Additional customer-specific data for analysis in a key-value format. For example, the key is `Email` and the value is `{{profile.email}}`. |
## Use Case
Displaying the user's profile picture adds a human touch to the conversation, making it more engaging and personal.
One way to enhance the conversation further is by showing key customer data,
such as their name, account information, or preferences, directly within the chat conversation.
This allows human agents to have contextually relevant discussions without the need to search for customer data in multiple tools.
## More Information
* [Copilot: Transcript Tile](/ai/agents/develop/node-reference/agent-copilot/transcript-tile)
* [Copilot: Sentiment Tile Node](/ai/agents/develop/node-reference/agent-copilot/sentiment-tile)
* [Copilot: Next Action Tile Node](/ai/agents/develop/node-reference/agent-copilot/next-action-tile)
* [Copilot Nodes](/ai/agents/develop/node-reference/agent-copilot/overview)
* [Copilot](/agent-copilot/overview)
# Copilot: Knowledge Tile
Source: https://docs.cognigy.com/ai/agents/develop/node-reference/agent-copilot/knowledge-tile
Updated in 4.72
## Description
This Node provides potential answers to human agents regarding customer questions.
The Node creates an [Agent Copilot widget](/agent-copilot/configure/nodes) that consists of a search bar and a response form.
Additionally, it provides meta-source links,
information about the files from which knowledge was derived and hints for further questions.
The human agent uses the search bar to access a knowledge base and find information to respond to customer queries.
Responses are generated based on a Large Language Model (LLM) via Knowledge AI.
Before using the Copilot: Knowledge Tile Node, configure the LLM provider in the [Settings](/ai/agents/develop/gen-ai-and-llms/generative-ai) and select the appropriate model from the [supported model list](/ai/agents/develop/gen-ai-and-llms/model-support-by-feature).
This Node supports models with the LLM Prompt Node and the Search Extract Output Node features.
To set up the Copilot: Knowledge Tile Node, you need two Nodes for the Flow configuration: one to initiate the knowledge search process and the second one to execute it.
Additionally, to prevent the content of other widgets from updating during the Node's operation,
move the Nodes under the Else child Node of the If Node.
For more information, refer to the [Configuration](#configuration) section.
## Parameters
| Parameter | Type | Description |
| --------------- | ------------- | -------------------------------------------------------------------- |
| Tile ID | CognigyScript | The ID that you created in the Agent Copilot configuration. |
| Knowledge Store | Select | Select a store from the list to allow the Node to retrieve the data. |
If you are using Live Agent as a handover provider, you can forward information from the widget to the **Reply to User** section by clicking
and then sending it to the end user.
For other providers, use the alternative option **Enable copy to clipboard button** to activate the Copy button on the tile.
For Salesforce, to activate the Copy button, update your Salesforce integration using [this guide](https://github.com/Cognigy/salesforce-integrations?tab=readme-ov-file#update).
| Parameter | Type | Description |
| ------------------------- | ------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Context-Aware Search | Select | Considering the transcript's context for the search. It allows an AI Agent to answer follow-up questions. You can select one of the following options:- **On** — is the default option. When this parameter is enabled, it affects tokenization costs, which impact the amount of memory, computational power, and overall expenses needed for running an OpenAI or Azure OpenAI model.
- **Off** — the setting is turned off.
|
| Transcript Steps | Indicator | Number of prior transcript steps to use in a context-aware search. This parameter is active when the Context-Aware Search setting is enabled. |
| Where to store the result | Select | The storage for the search results. Select a storage:- **default** — the content will be stored in the Input object (`input.knowledgeSearch`).
- **Input** — the content will be stored in the Input object.
- **Context** — the content will be stored in the Context.
|
| String to search for | CognigyScript | The string to search for in the Knowledge Store. A default value is stored in `input.text`. |
| Source Tags | CognigyScript | The tags serve to refine the scope of your knowledge search, allowing you to include only the most pertinent sections of the knowledge base and, as a result, improve the accuracy of search outputs.
Before specifying tags, ensure that they were provided during the creation of the Knowledge Sources. Add tags by specifying each tag separately and pressing **enter**. The maximum number of tags is 5. |
* You can add CognigyScript within Source Tags.
* Source Tags are always lower-case, only alpha-numerics (a-z, 0-9), underscores, and hyphens are allowed.
* When using CognigyScript for Source Tags, it is important to lowercase them. For example, by using the following: `{{input.text.toLowerCase()}}`.
| Parameter | Type | Description |
| ------------------------------ | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Select Error Handling Approach | Select | You can select one of the Error Handling options:- **Stop Flow Execution** — terminate the current Flow execution.
- **Continue Flow Execution** — allow the Flow to continue executing, bypassing the error and proceeding to the next steps.
- **Go to Node** — redirect the workflow to a specific Node in the Flow, which can be useful for error recovery or customized error handling.
|
| Error Message (optional) | Text | Active when the **Continue Flow Execution** option is selected. Optional message to output if the Search or Extract service fails. |
| Select Flow | Select | Active when the **Go to Node** option is selected. Select a Flow from the available options. |
| Select Node | Select | Active when the **Go to Node** option is selected. Select a Node from the available options. |
## Configuration
To use the Copilot: Knowledge AI widget, configure the following Flow:
1. Add an **If** Node.
2. Open the **If** Node editor.
3. In the **Condition** field, specify the following condition: `input.data._cognigy._agentAssist.payload.tileId === "tile-id"`, where `tile-id` is a Knowledge tile ID that you created in the Agent Copilot configuration via API.
4. In the **Knowledge Store** field, select the source that you want to use for searching knowledge.
5. Below the **Then** child Node, place the **Copilot: Knowledge Tile** Node.
6. Below the **Else** child Node, add the other Copilot tile Nodes. This step is necessary to ensure that the content of these Nodes does not get updated during the operation of the **Copilot: Knowledge Tile** Node.
7. Below the **Copilot: Knowledge Tile** Node and other tile Nodes, place the **Once** child Node.
8. Below the **On First Time** child Node, add a duplicate of the **Copilot: Knowledge Tile** Node.
If the Flow is not working or issues arise with the Knowledge Source, try creating a new Agent and running the Flow in it.
Test your Flow by using a [Demo Webchat](/webchat/demo) in the Webchat Endpoint. You can use Live Agent as a handover provider or any other available provider.
## More Information
* [Copilot: Transcript Tile](/ai/agents/develop/node-reference/agent-copilot/transcript-tile)
* [Copilot: Sentiment Tile Node](/ai/agents/develop/node-reference/agent-copilot/sentiment-tile)
* [Copilot: Identity Tile](/ai/agents/develop/node-reference/agent-copilot/identity-tile)
* [Agent Copilot Nodes](/ai/agents/develop/node-reference/agent-copilot/overview)
* [Agent Copilot](/agent-copilot/overview)
# Copilot: Next Action Tile
Source: https://docs.cognigy.com/ai/agents/develop/node-reference/agent-copilot/next-action-tile
Updated in 4.72
## Description
This Node is designed to determine the appropriate next step or action in a conversation or process based on the user's input or the current context.
This Node helps guide a conversation flow and ensures that the system responds effectively to user requests or queries.
## Parameters
| Parameter | Type | Description |
| --------------- | ------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Tile ID | CognigyScript | The ID created in the Agent Copilot configuration. |
| Type | Select | Choose from the following types: - **Text** — the text you want to display in the next action widget.
- **Knowledge Assist** — the text from the Knowledge Store to display in the next action widget.
|
| Text | CognigyScript | Enter the text you want to display in the next action widget. |
| Knowledge Store | Select | Choose a store from the list to allow the Node to retrieve the data. |
If you are using Live Agent as a handover provider, you can forward information from the widget to the **Reply to User** section by clicking
and then sending it to the end user.
For other providers, use the alternative option **Enable copy to clipboard button** to activate the Copy button on the tile.
For Salesforce, to activate the Copy button, update your Salesforce integration using [this guide](https://github.com/Cognigy/salesforce-integrations?tab=readme-ov-file#update).
| Parameter | Type | Description |
| ------------------------- | ------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Context-Aware Search | Select | Considering the transcript's context for the search. It allows an AI Agent to answer follow-up questions. You can select one of the following options:- **On** — is the default option. When this parameter is enabled, it affects tokenization costs, which impact the amount of memory, computational power, and overall expenses needed for running an OpenAI or Azure OpenAI model.
- **Off** — the setting is turned off.
|
| Transcript Steps | Indicator | Number of prior transcript steps to use in a context-aware search. This parameter is active when the Context-Aware Search setting is enabled. |
| Where to store the result | Select | The storage for the search results. Select a storage:- **default** — the content will be stored in the Input object (`input.knowledgeSearch`).
- **Input** — the content will be stored in the Input object.
- **Context** — the content will be stored in the Context.
|
| String to search for | CognigyScript | The string to search for in the Knowledge Store. A default value is stored in `input.text`. |
| Source Tags | CognigyScript | The tags serve to refine the scope of your knowledge search, allowing you to include only the most pertinent sections of the knowledge base and, as a result, improve the accuracy of search outputs.
Before specifying tags, ensure that they were provided during the creation of the Knowledge Sources. Add tags by specifying each tag separately and pressing **enter**. The maximum number of tags is 5. |
* You can add CognigyScript within Source Tags.
* Source Tags are always lower-case, only alpha-numerics (a-z, 0-9), underscores, and hyphens are allowed.
* When using CognigyScript for Source Tags, it is important to lowercase them. For example, by using the following: `{{input.text.toLowerCase()}}`.
| Parameter | Type | Description |
| ------------------------------ | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Select Error Handling Approach | Select | You can select one of the Error Handling options:- **Stop Flow Execution** — terminate the current Flow execution.
- **Continue Flow Execution** — allow the Flow to continue executing, bypassing the error and proceeding to the next steps.
- **Go to Node** — redirect the workflow to a specific Node in the Flow, which can be useful for error recovery or customized error handling.
|
| Error Message (optional) | Text | Active when the **Continue Flow Execution** option is selected. Optional message to output if the Search or Extract service fails. |
| Select Flow | Select | Active when the **Go to Node** option is selected. Select a Flow from the available options. |
| Select Node | Select | Active when the **Go to Node** option is selected. Select a Node from the available options. |
## Use Case
This Node helps the human agent by providing guidance and predefined instructions based on the user's question.
For instance, if a user asks about the latest release version, the AI Agent can give them both the answer and links to important updates in that release.
## More Information
* [Copilot: Transcript Tile](/ai/agents/develop/node-reference/agent-copilot/transcript-tile)
* [Copilot: Sentiment Tile Node](/ai/agents/develop/node-reference/agent-copilot/sentiment-tile)
* [Copilot: Identity Tile](/ai/agents/develop/node-reference/agent-copilot/identity-tile)
* [Agent Copilot Nodes](/ai/agents/develop/node-reference/agent-copilot/overview)
* [Agent Copilot](/agent-copilot/overview)
# Agent Copilot Nodes
Source: https://docs.cognigy.com/ai/agents/develop/node-reference/agent-copilot/overview
Updated in 4.66
The Agent Copilot Nodes allow users to customize the Agent Copilot workspace by adding HTML, Adaptive Cards, and IFrame content.
This Node allows you to create and display adaptive cards in your Agent Copilot workspace.
This Node allows you to display customized HTML content in the Agent Copilot workspace.
This Node allows you to embed external websites directly into the Agent Copilot workspace.
This Node displays and processes customer-specific information directly within the widget of your Agent Copilot workspace.
This Node provides potential answers to human agents regarding customer questions.
This Node determines the appropriate next step or action in a conversation or process based on the user's input or the current context.
This Node enables real-time updates of dynamic content to Agent Copilot widgets without reloading the entire widget.
This Node performs sentiment analysis on the most recent input and provides insights into the emotional tone of the user.
This Node updates the Agent Copilot workspace grid via an [API POST request](https://api-trial.cognigy.ai/openapi#post-/v2.0/agentassistconfigs) and provides a preview of the grid.
This Node captures the most recent customer response and displays it on a designated widget in the Agent Copilot workspace.
## More Information
* [Agent Copilot](/agent-copilot/overview)
* [Getting started with Agent Copilot](/agent-copilot/getting-started/chat)
* [Agent Copilot configuration](/agent-copilot/configure/overview)
* [Agent Copilot embedding](/agent-copilot/deploy/embedding)
* [Agent Copilot for Voice](/agent-copilot/getting-started/voice)
* [Agent Copilot for Chat](/agent-copilot/getting-started/chat)
# Copilot: Send Data
Source: https://docs.cognigy.com/ai/agents/develop/node-reference/agent-copilot/send-data
Updated in 4.90
## Description
This Node updates the content within Agent Copilot widgets (iframe or HTML) without reloading the entire widget, making it easier to modify and refresh dynamic content in real time.
## Parameters
| Parameter | Type | Description |
| --------- | ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Tile ID | CognigyScript | The ID of the [Copilot: IFrame Tile](/ai/agents/develop/node-reference/agent-copilot/set-iframe-tile) or [Copilot: HTML Tile](/ai/agents/develop/node-reference/agent-copilot/set-html-tile) Node you want to update with new data. |
| JSON Data | JSON | The data to send to the [Copilot: IFrame Tile](/ai/agents/develop/node-reference/agent-copilot/set-iframe-tile) or [Copilot: HTML Tile](/ai/agents/develop/node-reference/agent-copilot/set-html-tile) Node as a postMessage event. |
## Example
This example shows how to dynamically update metadata in the Copilot: HTML Tile Node using the Copilot: Send Data and a processing script.
**Copilot: HTML Tile Node**
1. Enter the following script in the **HTML Content** field:
```html theme={null}
HTML Tile
Here will be your content
Metadata: None
```
The JavaScript in the `