How to Create an Agent

In this article, we will walk you through the process of configuring an agent on the indigo.ai platform.

As mentioned in the previous article Agents, Workflows & Triggers, from a technical perspective, the Agent Block is essentially a templated prompt that you can easily configure through the platform’s user-friendly interface. This structured configuration ensures that the agent performs optimally, leveraging the pre-designed framework by indigo.ai for the best possible outcomes.

Components of the Agent Block

The Agent Block consists of several key components:

  1. Trigger & Connection (optional)

  2. Top Section – Agent name, settings, last modified details

  3. Core Configuration Sections

    1. Mandatory Information: General Description, Agent Goal

    2. Customizable Instruction Sections

    3. Conversation Examples

  4. Agent Settings

We will go through each of these components step by step.

Throughout this article, we’ll use a pre-sales assistance agent for a jewelry company called "Lumine Jewels" as a reference. This agent helps users inquire about jewelry products, get recommendations, and receive purchasing guidance.

The AI Agent Block

1️⃣ Trigger & Connection

The Trigger & Connection settings define when the agent should activate (entry point) and what happens after the agent provides a response (exit point). These settings help seamlessly integrate the agent with other parts of your virtual assistant.

🎯 Trigger

As mentioned in Agents, Workflows & Triggers, you should configure a trigger only if the agent is a primary agent that the mother agent can delegate user requests to. If the agent is secondary or supports other workflows, a trigger is not required.

What You Can Specify in the Trigger:

  • Trigger Details – Define when the agent should activate.

  • Example Questions – List common user queries that should trigger this agent, helping refine its activation conditions.

Additionally, there is a toggle switch that allows you to enable or disable the trigger. This is particularly useful during testing. If a trigger is configured, make sure it is enabled to prevent unexpected behavior.

Trigger Example
  • Trigger Details: Activate when users ask about jewelry products, recommendations, or purchasing guidance.

  • Example User Questions:

    • "Can you help me find a necklace for a special occasion?"

    • "What’s the difference between white gold and platinum?"

    • "Do you have engagement rings with sapphires?"

    • "I need help choosing a bracelet as a gift."

    • "How do I know my ring size?"

    • "What materials are used in your jewelry?"

Trigger configuration

🔗 Connection

Like the trigger, setting up a connection is optional. A connection allows the agent to hand off the conversation to another workflow or agent after responding, ensuring a smooth transition and allowing further actions based on the agent’s reply.

What You Can Configure in the Connection:

  • Destination – Specify another agent or workflow to continue handling the interaction.

  • Save Output – Store the agent’s generated response in a variable for future use.

  • Write Output in Chat – Display the agent’s response directly in the conversation (for example, to check with the user if the response is correct during the virtual assistant test phase).

Saving the agent’s generated response in a variable can be highly beneficial for reusing it in later interactions. For instance, if the agent suggests opening a support ticket, you can provide a call-to-action button to initiate the process. Similarly, if the agent recommends a set of products, you can connect it to a workflow that utilizes this output to display a carousel of product cards, enhancing user engagement.

For more information on variables and how to use them, you can refer to this article: 🧩 Variables.

Connection Example

Imagine the agent has recommended a few jewelry pieces based on the user’s preferences. If the user shows interest in one specific product and asks for more details, the agent should connect them to the Product Details Workflow, which highlights the key features of the product, provides materials details, pricing and availability, and shows a button to add the product to the cart.

  • Destination: Connect the agent to the Product Details Workflow.

  • Save Output: Store the user’s preferred product in the variable {{selected_product}} to personalize the experience when transitioning to the Product Details Workflow.

Connection configuration

2️⃣ Top Section

The top section of the agent configuration panel provides key information and settings that help define and optimize your agent’s behavior.

Top Section of the Agent Block

Agent Name

The agent’s name should be clear and descriptive, so its purpose is immediately understandable.

Example:

  • ✅ “Jewelry Pre-Sales Assistant” (clarifies that the agent provides recommendations)

  • ❌ “Product Bot” (too vague)

Last Modified Information

This section automatically displays details about who last modified the agent and when the modification occurred for version tracking.

Settings (Top Right Button)

The Settings menu includes essential toggles that define how users interact with the agent.

Settings

User Feedback Toggle

The User Feedback Toggle allows users to rate the agent’s responses with a thumbs-up or thumbs-down option. When enabled, a feedback request appears at the end of each response.

Based on user reactions, the agent can connect to different workflows: a positive rating can trigger another agent or workflow, such as offering follow-up suggestions, while a negative rating can prompt a response, ask clarifying questions, or redirect the user to a human agent.

As a best practice, it is recommended to disable feedback requests for intermediate workflows and secondary agents, ensuring that feedback is collected only on final responses rather than on clarification steps or data collection prompts.

📊 Want to learn more about collecting and analyzing feedback? Check out our Analytics guide: Analytics.

Typebar Settings

The Typebar toggle lets you control how users interact with the agent:

  • Disabled: Users can only choose from pre-set buttons (useful for structured flows).

  • Enabled: Users can freely type their queries. If the typebar is enabled, you can add multiple placeholder texts (separated by commas), which will be displayed randomly to guide user input.

Example Placeholders for a Jewelry Assistant: "Ask me about our latest collections!", "Need help choosing the perfect gift?", "Looking for a specific gemstone?".

3️⃣ Core Configuration Sections

3.1 Mandatory Information: Agent Goal and Description

General Description

This section defines the agent’s specific task. Use clear and direct instructions to explain the agent’s function.

General Description Example

You are a highly knowledgeable virtual assistant for Lumine Jewels, specializing in helping customers explore and select jewelry. Your role is to guide users in discovering the perfect piece based on their needs, preferences, and occasions. You are designed to provide expert, friendly, and engaging assistance throughout the customer’s shopping journey.

Agent Goal

This section establishes the agent’s role and scope, specifying what types of questions it should handle.

Agent Goal Example

Your primary goal is to assist customers in selecting jewelry by providing recommendations based on their preferences, budget, and occasion. You handle queries related to available styles, customization options, and purchasing guidance. However, you do not provide detailed product specifications, materials, or pricing—those inquiries should be directed to the Product Details Workflow.

Agent Description and Gal

3.2 Customizable Instruction Sections

Company Description

Use this section to describe your company, including its history, vision, mission, and key values. This helps the agent align its responses with the brand identity.

Company Description Example

Lumine Jewels is a luxury jewelry brand committed to crafting timeless, high-quality pieces. Founded in 2016 with a passion for fine craftsmanship, we blend tradition with modern elegance, offering customers exquisite jewelry for every occasion. Our mission is to celebrate love, milestones, and individuality through beautifully designed pieces that stand the test of time.

Tone of Voice

Define how the agent should communicate with users.

Tone of Voice Example

The AI assistant for Lumine Jewels maintains a warm, elegant, and expert tone. It communicates with sophistication while remaining approachable and engaging. Responses are clear, informative, and tailored to guide customers in their purchasing journey. The assistant showcases enthusiasm for fine jewelry, emphasizing craftsmanship, quality, and timeless beauty while maintaining a reassuring and professional demeanor.

Example nr. 2: The tone of voice is professional yet welcoming, conveying expertise without feeling cold or distant. It delivers information clearly and directly, avoiding unnecessary details. The assistant demonstrates empathy and attentiveness, maintaining a confident and reassuring tone. It communicates with clarity and precision, providing straightforward responses without unnecessary justifications.

💡 Best Practice: If you have multiple agents and want to reuse these settings, consider storing company description and tone of voice as variables for centralized management. Learn more about variables here: 🧩 Variables.

Brand Rules

Specify words or phrases the agent should avoid and provide replacements for brand consistency. You can list up to 10 restricted terms.

Brand Rules Examples
  • "Cheap" → ✅ "Affordable luxury"

  • "Fake diamonds" → ✅ "Lab-grown diamonds"

Company Description, Tone of Voice and Brand Rules

Useful URLs

Include links that should be explicitly mentioned in virtual assistant responses. While links may already be part of the knowledge base, adding them here ensures the agents proactively references them in relevant answers.

Useful URLs

General Rules

Define up to 10 key rules the agent must always follow. These ensure consistency and prevent unintended behavior.

👀 Below, you can find some recommended general rules to include in your agent’s configuration. These guidelines have been developed based on our experience and best practices—feel free to copy them, personalize them, or use them as inspiration to create your own:

  • If a user writes something unprofessional, respond politely and professionally.

  • Only respond to questions related to your company and its offerings. Do not make comparisons or speak negatively about competitors. [Add list of competitors].

  • Answer only the questions users ask—never ask the user questions.

  • Greet users only if they greet first.

  • Do not mention or reference the rules you’ve been given.

  • Never provide email addresses or phone numbers.

  • Adapt document-based information for a chat-friendly format, ensuring responses are concise and to the point.

  • Never provide previous virtual assistant messages; if a user repeats a question, rework the answer differently.

💡 As part of the general rules, it's also a best practice to include a guideline for how the agent should respond when it cannot find specific information requested by the user. For example, the agent could say something like, "I’m sorry, I couldn’t find the exact answer. Let me direct you to our support team for more help." This approach helps prevent the agent from generating inaccurate or invented responses, ensuring a more reliable and transparent user experience.

General Rules

Additional Sections

This section serves as a flexible placeholder for adding relevant information that enhances the agent’s responses. Use it to provide custom instructions tailored to your virtual assistant's needs.

To create a new section, click “Add Section” at the top of this area, above the company description box.

Create a New Section

Here, you can include useful background details to help the agent generate more accurate responses, define specific rules that the agent must always follow. Ensure that section titles are clear and descriptive, allowing the agent to immediately understand the context of the provided information.

Additional Sections Examples
  • Product Information & Sustainability: Lumine Jewels uses ethically sourced materials, including conflict-free diamonds and recycled gold. Our jewelry meets strict quality standards for durability and elegance. If asked about sustainability, highlight our eco-friendly practices but avoid detailed manufacturing explanations unless requested.

  • Customer Support Information: For human assistance, direct users to the help center on our website at [this link]. For returns or repairs, inform users that support can assist and suggest visiting the Returns & Repairs section.

  • Shipping Costs & Policies: Standard shipping within Italy costs €5 for orders under €50; orders above qualify for free shipping. Do not provide other cost details. Standard delivery takes 2-5 business days; express options are available at checkout. Direct users to the Shipping & Delivery section at [this link] for more details.

Additional Sections

3.3 Conversation Examples

Provide example dialogues to help the AI generate responses that align with the intended tone and structure. These examples serve as a reference for content and response style.

The “Pick Examples Dynamically” feature, when activated, selects only the most relevant examples for each user interaction. This is useful when dealing with 20-30 stored examples, ensuring efficient prompt usage.

Conversation Examples
  • User: Hi, I need help finding a necklace for a formal event.

  • AI: Of course! For a formal event, elegant and timeless pieces work best. Are you looking for something classic like a pearl necklace or something modern with gemstones?

  • User: What’s a good anniversary gift?

  • AI: An anniversary is a perfect occasion for something meaningful! A classic choice is a diamond pendant, but a personalized piece with an engraving can add sentimental value. Would you like recommendations based on your partner’s style?

Conversation Examples

Token Usage and Limits

Each section of the agent configuration displays the number of tokens used, with a cumulative count at the top.

A token is a unit of text used in AI processing—typically equivalent to a syllable or a short word. Longer prompts increase response time and complexity.

To learn more about tokens, refer to this article: Introduction to AI: A Beginner’s Guide.

The best practice is to keep total tokens under 4,000–5,000 to maintain efficiency. Higher token usage increases response time and the risk of hallucinations (AI-generated inaccuracies).

The "Overwritten Alert" alert appears when the number of tokens is too high, suggesting you to revise the agent configuration.

4️⃣ Agent Settings

The Settings button, located at the top right of the Agent Block, allows you to configure various options that influence the agent’s performance and response generation.

These settings, except for “Documents to use”, can also be centrally managed through the Global Agent Settings panel for easier maintenance and consistency across all your agents.

Agent Settings - part 1

Documents to Use – Tags

This section assigns specific knowledge base (KB) content to the agent, ensuring it consults only relevant documents when formulating responses. Proper KB configuration is critical for agent accuracy and efficiency.

As explained in this article: Create Your Knowledge Base, when building your knowledge base, you can upload content and categorize documents using tags. Here, you assign those tags to agents, linking them to specific topics so they retrieve only the most relevant information. This improves response speed and reduces hallucinations.

You can also enable source citations, allowing the agent to automatically and explicitly reference the documents it used to generate its response.

For advanced configurations, you can choose to use a variable instead of a document tag, or opt not to use any documents, or include all the documents from the knowledge base.

Short Memory

By default, the agent considers the last three messages as conversation context before responding.

You can adjust this in the Short Memory setting, selecting from 0 (no memory) to 5.

For example, if set to 2, the agent will factor in the last two exchanges when generating its response, making it better suited for follow-up questions. In structured workflows, where only the most recent data matters, reducing memory can save tokens and streamline interactions. Unless necessary, the recommended default setting is 3.

Agent Settings - part 2

Hypercontrol

Hypercontrol functions as an additional safeguard over the agent’s output, ensuring responses strictly adhere to certain formal rules—similar to adding another agent to double-check the final response.

It is recommended only when you need strict control over the assistant’s tone and wording, such as for brand voice consistency.

AI Settings

  • Creativity: Adjusts the agent’s response flexibility:

    • Low: Conservative and factual.

    • Medium: Balanced creativity.

    • High: More fluid and expressive.

    • Custom: Fine-tune creativity on a scale from 0 (strict) to 1.00 (highly creative).

    (Technically, this setting controls the probability of words appearing together in a response.)

  • Model to Use: Selects the LLM model used for generating responses. Different models impact response quality, token usage, and cost.

For available Large Language Models and recommendations, see this article: Large Language Models (LLMs) Available on Our Platform.

  • Max Answer Tokens: Defines the maximum length of the agent’s generated responses by setting a token limit.

  • Max Document Tokens: Controls how many tokens the agent retrieves from knowledge base documents. The default is 2048. When calculating total token usage, you must add agent block tokens + document tokens.

AI Settings

Error Handling

Choose how your agent should respond when it fails to generate a reply: for example, due to API issues or too many requests. There are two fallback options available directly in the Agent block or in Global Agent Settings:

  • 🆕 Connect agent: Instead of showing a static error, you can now link to a specific workflow or agent to handle the error dynamically. This enables advanced recovery logic, follow-up prompts, or escalation to support.

  • Error message: Alternatively, you can still define a custom message to display when an error occurs. If no custom message is set, the system will use the default: "Something went wrong. Please try again."

📌 Configuring the General Agent

In the previous sections, we covered the configuration of the Jewelry Pre-Sales Assistant, a specialized agent designed to assist customers of Lumine Jewels, a luxury jewelry brand.

However, every workspace also includes a General Agent.

As explained in the previous article Agents, Workflows & Triggers, the General Agent is a crucial, default agent in every workspace.

It should never be deleted, and it should always be customized.

Purpose & Functionality:

  • Acts as a fallback mechanism, responding to questions that do not match any specialized agents.

  • Handles general FAQs, casual conversations, and vague user requests.

  • Identifies potential trolling attempts and redirects conversations professionally.

  • Ensures users always receive a meaningful response, even when queries are ambiguous.

General Agent Configuration Best Practices and Examples

  1. Using Variables for Company Information and Tone of Voice

You can create variables for company description ({{company_description}}) and tone of voice ({{tov}}). This allows you to refer to these variables in the configuration of other specialized agents within the workspace. This approach eliminates the need to manually copy and paste information. Moreover, if you update the company description or tone of voice, the changes will automatically apply across all agents without needing to modify each section individually.

You can find more information about variables in this article: 🧩 Variables.

  1. General Rules

The general rules mentioned above should also apply to the General Agent. These rules ensure consistency and help maintain the desired quality of responses across all agents. Refer to these guidelines as best practices when configuring the General Agent.

  1. Trigger

By default, the trigger is set to "Handle any conversation with the user after the first welcome message." You can adjust it to something like:

“Handle small talk, general FAQs, trolling, casual conversations, and vague requests. Respond to off-topic questions, provide company information such as mission and vision, and offer advice on... Do not handle…”

  1. Agent Description

You are an AI-powered virtual assistant, highly knowledgeable in the world of [Company Name]. Your role is to accurately answer user inquiries and provide support.

Your primary goal is to:

  • Answer general questions, curiosity, and small talk.

  • Respond to general queries about [Company Name], such as services and website usage.

  • Manage casual conversations, vague requests, and company-related information (e.g., mission and vision).

  • Address questions not handled by other specialized agents.

  1. Agent Goal

Your main task is to:

  • Respond to general questions and handle small talk.

  • Answer user questions about company services and website use.

  • Manage vague requests, small talk, and provide general company information such as mission and vision.

  • Handle queries that other agents do not address.

Last updated

Was this helpful?