Only this pageAll pages
Powered by GitBook
1 of 50

Guides

Getting Started

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Writing Automations

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Processes

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Exception Handling

Loading...

Loading...

Loading...

Loading...

Loading...

Learnings

Loading...

Loading...

Automation Management

Loading...

Loading...

Loading...

Loading...

Account Management

Loading...

Loading...

Kognitos Documentation

Learn how to automate faster and smarter with our guides, tutorials, and references.

Kognitos is an automation platform for building and running end-to-end business processes using plain English. Discover how it works and get started below.

Learn More

🔍 Explore the Docs

What is Kognitos?

An overview of Kognitos, key features, and capabilities.

Kognitos is an automation platform that enables users to automate end-to-end business processes in plain English. It’s designed to manage complex tasks, including those with many exceptions, and improves over time based on user feedback.

Why Kognitos?

Traditional automation tools require months of training and only work for simple processes with few exceptions. However, businesses need tools that can handle complexity and change. Kognitos is built to be easy to use and requires minimal training. You can create automations, manage exceptions, and review logs—all in plain English.

Getting Started

Learn how to get started and begin your automation journey.

Writing Automations

Understand how to write and structure automations.

Books

Discover integrations and extended functionalities.

Processes

Transform your automations into reusable processes.

Exception Handling

Learn how to provide guidance to an automation.

Account Management

Understand your user settings and permissions.

Cover
Cover
Cover
Cover
Cover
Cover
Key Features
  • Automation using plain English

  • Advanced natural language understanding

  • Self-learning and adaptability

  • Effortless integration with third-party applications

How is Kognitos Different?

Kognitos simplifies automation development, making it easier to create automations and not just use them. Unlike traditional RPA (Robotic Process Automation) tools, Kognitos eliminates the complexity of managing bots or desktop installations.

Kognitos runs fully from your browser and allows for stable API-based automations. No need to set up and configure multiple applications to run one automation, Kognitos allows you to get up and running quicker than ever with a single, integrated application.

Kognitos compared to RPA

Feature
Kognitos
RPA

Bot Management

No bots required

Requires managing bots

Installation

Fully browser-based

Requires desktop installations

Setup Complexity

Simple, single platform

Complex, multiple applications needed

Licensing

No bot licensing required

Requires bot licenses and management

Use Cases

Explore our extensive library of use cases to discover how Kognitos can be applied across various industries. These real-world examples showcase our platform's power, flexibility, and potential in addressing diverse business challenges.

Process Mode

Attended and unattended modes available

Typically requires separate configurations

Integrations

Seamless, API-based automation

Integration often requires complex setups

Comments

Use comments to add notes or disable parts of your automation.

What is a Comment?

A comment is a line in an automation that is skipped during execution. Comments are used to add notes and annotations. Additionally, they can be used to disable a part of your automation temporarily.

How to Add a Comment

To add a comment, use the # symbol at the beginning of a line. For example:

⚠️ Single-Line Comments Only

Currently, the platform only supports single-line comments. If you want to add multiple lines of comments, you’ll need to use the # symbol on each line. For example:

Automation Basics

Learn the fundamentals of writing automations in Kognitos.

Using the Editor

Guides for different components of the automation editor.

# This is a comment and will be ignored
say "Welcome to Kognitos!"
# This is the first line of a multi-line comment
# This is the second line of the comment
# This is the third line of the comment

Logging In

Follow these steps to log into Kognitos and securely access your account.

1

Navigate to Login

Navigate to the Kognitos login page from your web browser.

US Region EU Region UK Region

2

Enter Your Email

Enter the email address associated with your Kognitos account and click Continue.

Alternatively, you can log in with Google or Microsoft.

3

Check Your Email

Check your inbox for an email from Kognitos containing a 6-digit verification code.

4

Enter the Verification Code

Return to the login page, enter your verification code, then click Continue. The code will verify your identity and allow you to proceed.

5

Access Your Account

Once you’ve entered the code, you’ll be logged into the Kognitos platform.

Account Setup

This guide will walk you through setting up and configuring your new Kognitos account.

1

Account Creation

Kognitos will create your account for you. Once it’s ready, you’ll be able to log in and set up.

2

Logging In

Follow the steps to log in to Kognitos.

3

Create an Organization

Your first step is to create an organization—your dedicated Kognitos instance for building automations. After logging in, follow the prompts to name your Organization.

4

Create an Agent

Within your organization, you can create . Agents act as divisions within your organization, allowing you to separate processes across teams, agents, and geographic regions. Each agent is equipped with its own set of learned knowledge, configurations, and connections to other tools, allowing it to operate independently and securely. To create a new agent:

  1. Click on the dropdown menu in the top right

5

Add Users

Follow these steps to add users (collaborators) to your organization:

  1. Click on the user icon in the top right corner.

Need Help?

If you encounter issues setting up your account, contact our support team at or via our in-app support chat (preferred).

Automation Procedures

Discover automation procedures by category.

Learning Suggestions

Understand how to apply learning suggestions in the Guidance Center.

Within the Guidance Center, you may see Suggestions listed below an exception. These suggestions represent learning techniques provided by the system as potential solutions, ranked by how closely the current document matches the document where the learning technique was previously applied.

How to Apply Learning Suggestions

  1. Hover over a Technique to see the confidence level displayed as a percentage. This score measures how similar two documents are.

  2. Hover over the top right corner of the Technique and click on the Play button to open a Mini-Playground. This is where you can test the learning without affecting the main process run.

  3. If the result is as expected, click Next and then click Use this method to apply the learning. If the result is not as expected, you can modify the technique in the Mini-Playground to get the correct value.

Debugger

Enhance your automation process development workflow with the debugger.

What is the Debugger?

The debugger is designed to simplify the debugging process. It allows you to add breakpoints to start and pause your automation as needed, enhancing your development workflow and experience.

Invoke a Subprocess

Learn how to invoke a subprocess using the invoke keyword.

Overview

Invoking a subprocess is one of the three ways a parent process can call a subprocess in Kognitos. When a subprocess is invoked using the invoke keyword, the parent process does not manage its execution or output.

Loops

Learn about writing loops in Kognitos to repeat actions for multiple items.

Overview

A loop allows you to repeat actions for multiple items. In Kognitos, you can create a loop using process each x as follows, where x represents the item in a set. Loops are especially useful for batch processing, where you need to handle multiple items in a consistent manner.

What are Learnings?

Discover how to teach your automations so they can learn.

Overview

Learnings are rules that guide your automation’s decision-making. These rules help your automation interpret and respond to different scenarios based on past interactions and defined logic. Learnings can range from simple data references, such as:

To more complex rules, like:


Schedule a Process Run

Learn how to schedule automated process runs in Kognitos.

Overview

Scheduling a process enables you to automate processes to run at set intervals—such as hourly, daily, or weekly. This ensures tasks are completed consistently without manual input, improving efficiency by minimizing the need for oversight. This feature is particularly useful for time-sensitive or repetitive tasks, enabling users to focus on more critical work while Kognitos takes care of background processes.

Conditionals

Learn how to write conditional statements in Kognitos.

Kognitos allows your automation to make decisions based on logic. The keywords if, then, and else help control your automation's behavior in different scenarios, enabling dynamic workflows.

if / then Syntax

The basic syntax for a conditional decision is:

Example

if / then / else Syntax

To add more flexibility, you can use an else statement to specify an alternative action when the condition is not met:

Example

Charts & Plots

Date & Time

Department Boxes

Excel Files

Files & Documents

Image Manipulation

Large Language Models

Numbers

Tables

Text

(displaying the currently selected Agent)
.
  • Select Create New.

  • Configure your new Agent and click Submit.

  • Click on Invite members in the drop-down menu.

  • On the Collaborators screen, click on + Add User.

  • Add the User's email and select their role.

  • Click on Add User. The user will receive an invitation email to join your Agent.

  • here
    agents
    [email protected]
    This method is ideal when the parent process does not need to track the status or output of the subprocess and can continue execution immediately after invoking it.

    How Can I Invoke A Subprocess?

    This section explains how to call a process within another process as a subprocess using the invoke keyword.

    Syntax

    Input Parameters

    1. subprocess name: The name of the subprocess.

    2. inputs: Any data elements the subprocess needs to run.

    Example

    In this example, the subprocess verify applicant qualifications is called with the resume as input.

    General Syntax

    To start a loop, use the following syntax:

    By indenting the lines after process each {item} as follows, Kognitos will know which instructions to follow for each item.

    Indentation is Key

    Remembering to indent when looping through objects in your automation is very important!

    Example


    Looping with a Counter

    To track the number of iterations in a loop, you can use a counter. A counter is a numeric data element that starts at an initial value (usually zero) and increments with each iteration of the loop. This allows you to keep track of how many times the loop has executed.

    Syntax

    Initialize the counter before starting the loop. Within each iteration, increment the counter by 1.

    Example

    In this example, a loop is used to iterate through each page in a document. The counter is incremented after each page is processed.

    Nested if / then / else statements

    You can nest if / then / else statements to add more layers of logic for more complex conditions:

    Don't Forget to Indent!

    Proper indentation is crucial when writing if / then / else statements, especially when nesting them. It ensures the automation logic is clear, easy to follow, and runs as expected.

    if {condition} then
      {do an action}
    if the number of team members < 10 then
      send "Let's have lunch outside!" to the team members
    if {condition} then
      {do an action}
    else
      {do a different action}
    invoke {subprocess name} with
          {inputs}
    invoke verify applicant qualifications with
          the resume
    process each {item} as follows
      {actions to perform on each item}
    process each document as follows
      get the document's invoice number
      get the document's fields
    the counter is 0
    process each {item} as follows
     {actions to perform on each item}
     add 1 to the counter
    the counter is 0
    process each page as follows
      get the page's invoice number
      get the page's booking reference
      add 1 to the counter
    if the number of team members < 10 then
      send "Let's have lunch outside!" to the team members
    else
      send "Meet you in the cafeteria!"
    if the partner is "partner a" then
      use 0.1 as the rate
    else
      if the partner is "partner b" then
        use 0.2 as the rate
      else
        use 0.4 as the rate
    How Do I Use the Debugger?

    To use it, hover over the left side of the line where you want to add a debug point and click on the bug icon (🕷️) that appears. Two options appear: a Start and a Pause point. Click to enable either one:

    • Start: Will run the automation from this line.

    • Pause: Will run the automation until this line (execution will stop at the line before).

    Add all debugging markers before running the automation. Markers added while the automation is running will not take effect until the next run.

    Visual Markers

    These are the markers used in the interface to indicate different states of execution:

    • Start: A green dot marks where automation execution will begin.

    Debugger Start Point
    • Stop: A red dot indicates that automation execution pauses before this line.

      Debugger Pause Point
    • Paused: A yellow line marks where the automation is currently paused.

      Debugger Paused Marker

    Important Notes

    1. Multiple Breakpoints

    You can add multiple breakpoints within a single run. Utilizing multiple breakpoints can significantly enhance your development workflow, making it easier to identify and resolve issues within your automations.

    2. Execution Start Point

    Execution is context-dependent and does not guarantee it will begin from a specified line. The system automatically adjusts the start point based on execution history and surrounding control structures.

    For example, if the start point is inside a loop, the system can move the start point to the beginning of the loop.

    Where are Learnings?

    You can access and manage your Learnings by navigating to the Learnings tab.


    Understanding Learnings

    The list on the Learnings page provides an overview of all the defined rules. Each entry in the list includes the following columns:

    • Guidance for – Describes the question to which the learning applies.

    • While doing – Specifies the action, context, or data where the learning is used.

    • Resolve By – Indicates the resolution technique for the question.

    • Specific Context – Provides additional details.

    • Applied in – Shows whether the learning is in Draft status or actively in use.

    • Actions – Allows you to edit or delete a learning as needed.


    Filtering Learnings

    Filtering options make it easy to find specific learnings. You can refine the list using the following filters at the top of the page:

    • Process – Show learnings associated with a particular process.

    • Question Type – Narrow results based on the type of question.

    • Learning Type – Filter by the type of learning: Value, Technique, Skip, Retry.

    • Created By – Filter by learnings added by a specific user.

    Additionally, you can use the search bar to search for specific rules or keywords.

    How to Set Up a Scheduled Run
    1. Navigate to Processes.

    2. Click on a process, then click on View Runs.

    3. Navigate to the Schedules tab.

    4. Toggle the Enabled option to activate scheduling. You can then set the desired timing for your automation to run.

    Run a Subprocess

    Learn how to call and run a subprocess using the process run widget.

    Overview

    One of the three ways a parent process can call a subprocess in Kognitos is by using the Process Run Widget. In this setup, the parent process controls the execution and output of the subprocess.

    This method is ideal for single-run scenarios where you need to capture the result and status of a subprocess.

    How to Call a Subprocess Using the Process Run Widget

    1. In your automation, write the keyword run followed by a slash /

    2. From the menu that appears, select Process.

    3. Click on the Process drop-down menu to select the process you want to call.

    4. Click Save.

    Passing Data to a Subprocess

    Passing data to a subprocess allows the parent process to provide the specific inputs the subprocess needs to do its work. This makes subprocesses more dynamic and reusable, as they don’t depend on hardcoded values. To enable this, the parent process must explicitly pass the required data, and the subprocess must be designed to accept and return values accordingly.

    Parent Process

    In your parent process, add a new line after run <subprocess>. Indent and reference the data needed for the subprocess run on the new line. If a data element is required but not explicitly provided, Kognitos will raise a .

    Subprocess

    In your subprocess, include one of these lines at the end of your automation to return data to the parent process. This syntax informs Kognitos of the subprocess's result so it can be accessed in the parent process.

    • For a single result: the result is {result}

    • For multiple results: the results are {result 1}, {result 2}, ...

    Examples

    1. Returning a Single Result

    This example shows how a subprocess can be used to calculate a total. The main process, Process an Invoice, calls the subprocess calculate the total and provides the price. The subprocess uses the price to calculate and return the total.

    2. Returning Multiple Results

    This example shows how to return multiple results from a subprocess. Here, the subprocess Split Full Name returns two results: the first name and the last name .

    If you need to run multiple instances of a subprocess in parallel, see for details on using the start a run syntax.

    What are Exceptions?

    Learn what exceptions are and why they keep your automations accurate.

    Overview

    In Kognitos, exceptions occur when an automation cannot proceed without additional context or clarification. Instead of making an assumption that could lead to errors, the system raises a question (also called an exception) and routes it to a human for review.

    This human-in-the-loop design ensures that business processes remain accurate, reliable, and trustworthy. Exceptions are not system failures — they are intentional checkpoints that keep automations accurate and reliable.

    Why Do Exceptions Occur?

    Exceptions can arise in Kognitos for a variety of reasons. The most common include:

    Ambiguity

    Multiple possible interpretations are possible, and the system cannot determine which is the correct one without user input.

    Example: An email approval workflow asks, “Approved?” but doesn’t specify if it refers to cost, vendor, or timeline, so an exception is raised for review.

    Missing Information

    A required data input is not available, preventing the automation from completing the step.

    Example: While processing an employee expense report, the system detects that a hotel receipt is missing the check-in date, so it raises an exception for confirmation.

    Document Variability

    The information exists in the document, but appears in an unexpected format or structure. This makes it difficult to extract with certainty.

    Example: An invoice shows the total amount as “$5,000 (including VAT)” in a note at the bottom instead of in the standard “Total” field, so the system raises an exception for review.

    Business Rules

    A step requires human decision-making, often due to risk, compliance, or policy considerations.

    Example: While reviewing a contract, the automation extracts a clause about early termination fees. Because company policy requires legal review of any termination penalties above $10,000, the system raises an exception so a human can confirm how to proceed.

    How to Resolve Exceptions

    Exceptions in Kognitos are resolved by providing guidance — giving the system the input it needs to understand how to proceed. This can include clarifying ambiguous values, pointing to the correct information in a document, or confirming a decision.

    The makes this process efficient by allowing you to review open exceptions across automations in one place and provide the necessary clarification or correction. Once guidance is provided, the automation resumes where it left off.

    Guidance Examples:

    • Identifying the correct field in a scanned invoice that represents the “Total Amount Due.”

    • Selecting the correct shipping address from a document that lists multiple locations.

    • Confirming the contract start date when it appears in narrative text instead of a standard date field (e.g., “services commence on June 1st”).

    • Verifying the correct vendor name when variations or abbreviations appear across different documents (e.g., “Northstar Technologies” vs. “Northstar Tech LLC”).

    Summary

    Exceptions in Kognitos are not errors; they are intentional checkpoints that safeguard accuracy. By providing guidance in the , you ensure that automations continue smoothly, learn from your input, and become more resilient over time.

    Processes

    Learn how to transform your automations into reusable processes.

    Creating a Process

    After testing your automation in the Playground, the next step is to save it as a draft process. A draft process allows you to formalize and iterate on your automation before publishing it to production.

    1

    Convert a Playground

    Click Create Process after building your automation in the Playground.

    2

    Name Your Process

    Give your process a name. For example:

    • validate the reports

    • review the submissions

    3

    Create a Draft Process

    Click on Create a Draft Process.

    Publishing

    When your draft is ready, you can publish it to make it production-ready. Publishing locks the process to prevent further edits, ensuring consistency across all runs. To publish your process, click on Publish Process.

    Editing

    Once a process is created, you can edit it to make improvements or updates. Edits are made in a draft state, allowing you to test changes before publishing them live.

    1

    Navigate to Processes

    From the left navigation menu, go to Processes.

    2

    Select a Process

    Click on the process you want to edit.

    3

    Widgets

    Add dynamic and structured content to your automations using widgets.

    Menu

    Access the widget menu by typing / when editing a playground or process automation. A dropdown will appear, allowing you to select from the available widgets.

    Starring Data

    Highlight key data elements in a process run to easily track and reference across executions.

    Overview

    When reviewing automation runs in Kognitos, you may want to scan for specific data points important to a process, such as an invoice number, payment status, or user ID. Starring Data allows you to pin key data elements so they stand out across process runs and are easier to track.

    API Keys

    Learn how to create and manage API keys in Kognitos.

    Overview

    Kognitos provides a self-service console for creating and managing API keys. Keys can be scoped to an entire organization or a specific agent, depending on the level of access required.

    Context Based Learning

    Overview

    Context Based Learning (CBL) is a powerful feature that translates key information in documents (ex: field names, column names, and large words) into numerical values. These values can then be compared between two documents to determine their similarity.

    How Is It Useful?

    the username for my salesforce account is XXXXX
    in the case of an invoice, where to explicitly look on a document to find a specific field
    Guidance Center
    Guidance Center
    question
    Starting Parallel Runs

    CBL aims to make your document handling process as efficient and accurate as possible. It's designed to learn and adapt based on the documents it encounters, continually improving its performance over time. It can:

    • Automatically classify between different document types

    • Handle new document types on demand, without the need for process modifications

    • Eliminate the need for complex if-else structures, reducing process length and complexity

    • Provide learning suggestions for incoming exceptions, making your workflows smoother

    • Learn from user interactions and improve over time

    Confidence Scores

    A confidence score is used to determine the similarity between documents. This score is essentially a measure of how identical two documents are (based on the numerical values assigned to their key information through vector embeddings).

    The default confidence score set in CBL is 95%. For a learning to be applied, the match between the current document and the learned document must be 95% or higher. This high threshold ensures that the applied learnings are highly relevant and accurate. However, if you need to adjust this percentage, here’s how:

    Manual Configuration

    Add the following line to your automation, replacing <percent> with the new threshold.

    For example:

    The above will set the similarity score to 0.92 (the matching threshold would be 0.92 instead of 0.95).

    Reducing the similarity below 0.90 is not recommended unless you have absolute certainty of the implications. This adjustment may result in false positives.

    How to Use CBL

    Setup

    To start using CBL, include the line "get the file as a scanned document" in your process. The modifier “scanned document” ensures that CBL will be applied for that line.

    Writing Processes

    When writing processes, ensure all document extractions are written as a single line. The keyword “document” should always be present. For example:

    Handling Exceptions

    In the event of an exception:

    1. If this is the first instance with no learnings, select the answer type from the drop-down.

    2. This will open a Mini-Playground, where you can test and run modifications without affecting the primary process.

    3. If the result is as expected, click Next. It will show the document if it's a CBL-based exception. You can learn the answer as usual, or just the answer for that instance. Next time, when the exception occurs for a similar document type (context), at the same step-path, the learning will be applied to the document automatically.

    Note: CBL will be applied to a learning if the exception occurs for any step that contains “document” as a keyword (except “get the file as a scanned document”).

    Modifying CBL Learnings

    CBL is designed to learn and adapt over time, but there may be instances where it doesn't yield the expected results. In such cases, you can manually correct it. Here's how:

    1. If a learning is applied using CBL and it fails to yield a value (learning fails): You can manually correct it by providing the value directly or trying out a new learning in the Mini-Playground.

    2. If a learning is applied using CBL and yields an invalid value: This might have downstream effects where it will fail. In such cases, consider editing the technique to ensure it deals with both previous cases and the new ones.

    Compatibility of CBL

    CBL is designed to work with OCR documents processed with AWS Textract and Azure Form Recognizer. The goal of CBL is to streamline your document handling process, regardless of the document type. As we continue to develop and improve CBL, we aim to expand its compatibility to include even more document types and data structures.

    run /calculate the total
        the price is $3
    get the above as the total
    the tax is $0.87
    the total price is the price + the tax
    the result is the total price
    run /Split Full Name
      the full name is "Ada Lovelace"
    get the above as the results
    split the full name into parts
    get the first part as the first name
    get the second part as the last name
    the results are the first name, the last name
    the minimum document similarity is <percent>
    the minimum document similarity is 0.92
    get the attachment as a scanned document
    imagine the document’s ocr info
    get the document’s ocr info’s billing number
    get the document’s ocr info’s shipper
    get the document’s ocr info’s shipping date
    to process the data
    Open the Actions Menu

    Click the actions menu (⋮) in the top right corner.

    4

    Edit in Draft

    Click Edit, then select Edit in Draft in the confirmation popup. Your draft is now open for editing.

    Draft changes won't affect your process until you republish. All runs will continue using the previously published version. To make your changes live, navigate to Processes and click on Publish Agent at the top.

    Some widgets are not available in all agents by default. Please reach out to our support team for access and assistance.

    Available Widgets

    1. Markdown

    Insert Markdown content into your automation, including headings, bold/italic text, lists, etc.

    2. Link

    Add a link into your automation to embed references.

    3. Column Formula

    Add a , used to dynamically populate and transform data in a table. When using this widget, provide a Description that explains what the formula does and enter the formula expression in the Value field.

    4. Selection Formula

    A widget for filtering data based on certain conditions. When using this widget, provide a Description that explains what the formula does and enter the formula expression in the Value field.

    5. Process

    Embed another process into your automation. This enables you to call other processes. Select the process to call from the process dropdown menu.

    6. Transform Table

    Apply a transformation to an existing table. This is useful when preparing data before applying further logic or formulas.

    7. Browser Automation

    This widget enables you to describe a browser automation task for a web-based agent to execute.

    Select Choose an Existing Task or configure a new task by providing the following details:

    Task Name

    A short, descriptive name for the task (e.g., Check Website for Updates).

    Task Instructions

    Describe what you want the browser to do in plain English (e.g., Go to example.com, log in, and check for new messages).

    Output Format (Optional)

    Define how you want the results formatted. It is recommended to use key-value pairs for clarity (e.g., {"key": "value"}). If specified, the agent will format the result accordingly.

    Credentials (Optional)

    If your task requires access to a secure website or account, provide the necessary credentials (e.g., username and password). You can select from existing connections in your agent or add a new connection.

    Check out the book for additional details on browser automation and task configuration.

    When to Star Data

    Use this feature to:

    • Track important identifiers or values across executions

    • Troubleshoot a process by monitoring specific data points

    • Quickly scan and compare outputs across multiple runs

    How to Star Data

    To star data of interest in a process:

    1

    Open a Process

    Navigate to Processes in the left sidebar and select a process.

    2

    Access a Process Run

    To view a previous run, click on View Runs in the upper-left and choose a run from the list. To start a new run, click on Run in the upper-right.

    3

    Select Data

    Click on the name of a data element in your process.

    4

    Star Data

    In the Information panel on the right, click the star icon (⭐️) next to the data element. The star will turn yellow to indicate the value is starred.

    Note: There are no limits to the number of data values that can be starred.

    Viewing Data Stars

    After you’ve starred one or more data elements, you can view them in the list view of a process’s runs. This is visible to anyone with access to the agent.

    1

    Open a Process

    Navigate to Processes in the left sidebar and select a process.

    2

    View Runs

    Click on View Runs in the upper-left to see a list of your process's runs.

    You'll see a column for each starred data value in this list view.

    Updating Stars

    You can modify starred data at any time by removing existing stars or starring new values. Changes to starred data are visible to all users with agent access.

    Removing Stars

    Hover over a starred data value in the Information panel and click the yellow star (⭐️) icon next to it to unstar it. The value will no longer appear in the process runs list view.

    Creating and Managing API Keys

    API keys can be created and managed by:

    • Organization Admins: Can create and manage organization-level and agent-level keys.

    • Agent Admins: Can create and manage only agent-level keys.

    API Key Creation

    An organization can have up to 10 API keys in total, including organization-level and agent-level keys. Follow these steps to create a new one:

    1

    Navigate to API Keys

    Click on the user icon in the top right, then navigate to API Keys.

    2

    New API Key

    Click on New API Key.

    3

    Configure and Create

    Configure your key's Name and Scope. If scoping the key to an agent, select the agent from the dropdown menu. Then, click on Create to generate your secret key.

    4

    Secure Your Secret Key

    Copy and save your secret key. Then, click on Done.

    For security reasons, the secret won’t be accessible again through Kognitos. If you lose it, you'll need to generate a new one.

    API Key Management

    Click the three-dot menu (⋮) to the right of an API key to access management options. From there, you can edit, delete, or check the usage of an existing key.

    Edit

    API keys can be renamed at any time. However, a key's scope (organization or agent) cannot be changed after creation.

    Usage

    Usage displays the rate limits, quotas, and utilization details for a given key.

    Delete

    API keys do not expire automatically. If a key is no longer needed, you can delete it to revoke access immediately.

    Management Options for API Keys

    Troubleshooting

    1. Error: "access not permitted" or statusCode: 401

    This error typically means your API key is invalid or has been revoked. If a key was working previously but is now returning this error, it may have been deleted by an administrator.

    Contact your Admin to confirm the status of your key. They can verify if the key is still active and provide you with a new one if needed.

    2. Unable to create a new API key

    If you're an admin and can't create new API keys, you may have reached your organization's limit. An organization can have up to 10 API keys in total, including organization-level and agent-level keys. You'll need to delete an existing, unused API key to free up a slot before you can create a new one.

    Here to Help!

    If you have questions or need assistance with API Keys, please contact our support team at [email protected] or via our platform's Support AI Assistance Chat (preferred).

    Trigger a Process by Email

    Learn how to trigger an automation process run by email.

    You don't have to trigger every automation run manually. Kognitos lets you trigger automations by sending an email — a powerful way to automate tasks like onboarding or invoice processing.

    How Email Triggers Work

    A unique email address is generated for every Kognitos process. When someone sends an email to this address, it automatically starts a new process run and passes the email contents to the automation, including:

    • Subject line

    • Sender address

    • Body (plain text or HTML)

    • Attachments (files, spreadsheets, images, etc.)

    Kognitos does not monitor your inbox for new emails. Email triggers work when emails are sent to the uniquely-generated email address for a process. You must manually configure email triggers for a process using the steps below.

    How to Configure Email Triggers for a Process

    1

    Navigate to Processes

    Navigate to the Processes tab via the left sidebar.

    2

    Select a Process

    Click on the Process you want to set up email triggers for.

    3

    How to Trigger a Process Run

    Once you've configured email triggers for your process, anyone with the proper permissions can start a process run by sending an email. Here's how:

    1. Compose a new email in your email client (Gmail, Outlook, Apple Mail, etc.)

    2. Set the recipient to the unique email trigger address you copied during configuration.

    3. Write your email with any relevant information: subject line, email body, and attachments.

    4. Send the email — this immediately triggers a process run in Kognitos.

    As soon as your email is delivered, Kognitos automatically starts a run of that process. Your automation can access all parts of the email (subject, body, attachments, sender info).

    Troubleshooting

    If your process isn't starting when emails are sent:

    1. Ensure the sender has adequate permissions to send emails that trigger the process.

    2. Double-check the trigger email address — did the email go to the correct address?

    3. Check if the email delivered successfully. If the email fails to deliver, the process won't trigger.

    4. If you're using an email forwarding rule, verify that it's active and correctly configured.

    Best Practices

    Managing Trigger Permissions

    Use the most restrictive permission setting that meets your needs:

    • Collaborators: Best for internal-only workflows.

    • Restricted: Ideal when only a specific set of users should be able to trigger the process.

    • Anyone: Use with caution & ensure the automation includes validation steps to prevent misuse.

    Validate Incoming Emails

    Add logic in your automation to validate the email content, such as checking for specific subject lines, senders, or attachments. For example, to access the attachments of an email that triggers a process, we would write:

    This statement grabs each attachment from the email in order to take further action. You can also use the following phrases to get details about the email to use in your automation:

    • get the text

    • get the sender

    • get the recipients

    Batch Processing

    Learn how to perform batch processing.

    Overview

    Batch processing is a method of handling data by dividing it into smaller groups (batches) and processing each group separately. This is useful when working with large volumes of information such as customer records, invoices, or files as it improves efficiency and error handling.

    How It Works

    When you create batches, the items are divided into groups of the specified batch size. Each batch becomes a separate collection that you can process independently.

    Example: Instead of sending 1,000 customer emails all at once, you can create batches of 50 emails each, resulting in 20 manageable batches to process one at a time.

    Note: The last batch may contain fewer items if the total count doesn't divide evenly. For example, if you have 7 total items and specify a batch size of 3:

    • Batch 1: Items 1, 2, 3

    • Batch 2: Items 4, 5, 6

    Syntax

    Below is a line-by-line overview of the automation syntax. Expand each line to learn more.

    create batches from the collection

    What does it do?

    Instructs the system to create batches from a collection or dataset.

    Where does it go?

    This phrase should be written on a new line.

    Is it required?

    ✅ Yes — This phrase is required in the syntax.

    Does it require data?

    the batch size is x

    What does it do?

    Specifies how many items should be included in each batch.

    Where does it go?

    Indented beneath create batches from the collection.

    Is it required?

    ✅ Yes — This phrase is required to define the batch size.

    Does it require data?

    After creating batches, process each one individually using:

    Within the processing logic, reference the items in the current batch using the batch's <collection>. For example:

    Examples

    1. Basic Batch Creation

    The following example shows how to create batches from a simple list of numbers:

    • Batch 1: [1, 2, 3]

    • Batch 2: [4, 5, 6]

    • Batch 3: [7]

    2. Processing Customer Records

    Here, the customers are processed in batches of 10.

    3. Invoice Processing

    In this example, the table's rows are broken up in batches. Then, each batch is processed in parallel using .

    Validating Data

    Learn how to validate data in your automations.

    Overview

    Data validation ensures that a process’ data is appropriate and logical, allowing it to be trusted for decision-making. In Kognitos, you can use the ensure keyword to specify conditions for data validation. When data cannot be validated, the automation will raise a question, allowing you to review, edit, and confirm values in a single location.

    Writing Validation Logic

    ensure

    The ensure keyword is used within a validation statement that:

    • Begins with ensure

    • Is indented within validate the following

    • Uses an operation that:

    Supported Types The ensure keyword currently supports verification for text and numeric data only.

    validate the following

    The phrase validate the following groups multiple validation statements together. When a validation fails, the data from all statements will be aggregated into a single view.

    Examples

    1. Validating Text Data

    2. Validating Numeric Data

    3. Validating Multiple Data Elements


    Evaluation

    Each validation statement evaluates to Condition Met (true) or Condition Not Met (false).

    The automation proceeds when all validation statements have a Condition Met. However, if any statement has a Condition Not Met, the system raises a question, requiring you to provide guidance to proceed.

    Skipped Statements

    A validation statement is marked as Skipped when the syntax is invalid. To avoid this, ensure the operation is a valid boolean operation supported in Kognitos.

    For example, the statement above is skipped because the use of "has" is not supported in a Kognitos operation. Instead, the validation statement could be written using the contains keyword: ensure the vegetables contains "broccoli".


    Providing Guidance

    When a validation statement within validate the following has a Condition Not Met, a question is asked to Please review the following facts.

    Reviewing Data

    Data is listed for review in the same order it appears in the validation statements. For conditions that are not met, a message will appear below the data value in red, stating the failed validation.

    Manually Editing

    You can manually edit and override data values as needed.

    Finalizing Your Review

    Confirm your review by checking the box labeled "I have reviewed all values and they are accurate". Then, click Submit.


    Spot Check Percentage

    The spot check percentage controls the likelihood of a question being raised when all the validation statements evaluate to true. The percentage does not represent accuracy or error rate; it controls the probability of triggering a question.

    Syntax

    Behavior

    • If any validation statement fails, a question is always raised.

    • If all validation statements pass, a question is raised based on the spot check percentage.

      • Example: If the spot check percentage is 30, then there is a 30% chance that a question is raised when all the validation statements evaluate to true.

    Example

    In this example, there is a 50% chance that a question is still raised for review, since both validation statements evaluate to true.

    Calling Other Processes

    Learn how one process can call another process in Kognitos.

    Overview

    In Kognitos, one process can call and run another process. The called process is referred to as a subprocess. There are many advantages of using subprocesses:

    • Modularity: Decomposing automations into smaller processes enhances structure and organization.

    • Readability: Well-organized automations are easier to read and understand.

    • Scalability: Automations can be scaled to handle multiple tasks.

    • Maintainability: Isolated processes simplify debugging and updating individual components.

    Mechanisms

    There are several ways to call another process in Kognitos:

    1. : This method is ideal for single-run scenarios where you need to capture the result and status of a subprocess.

    2. : This method is useful for scenarios where the parent process can continue executing without waiting for the subprocess's status or completion.

    3. : This method provides control over parallel execution when handling multiple subprocesses simultaneously.

    Comparison

    Aspect
    Running a Subprocess
    Invoking a Subprocess
    Starting Parallel Runs

    Core Concepts & Definitions

    Learn about the core concepts and components of Kognitos.

    Agent

    An agent in Kognitos is a dedicated execution environment where your automations live and run. Each agent is equipped with its own set of learned knowledge, configurations, and connections to other tools, allowing it to operate independently and securely.

    Automation

    An automation is a series of instructions that tells Kognitos what to do. It can refer to either a draft workflow in the or a fully developed and reusable .

    Book

    A is a set of related automation . Books can be added to an agent to expand automation functionality and integrate with external tools. Kognitos offers a library of standard Books for common skills and integrations, including Microsoft Excel, Salesforce, and Slack.

    Book Development Kit (BDK)

    The is a software toolkit for developing custom books in Kognitos. Using the BDK, developers can write code that translates plain English procedures in Kognitos to actions that a specific third-party application can understand.

    Exception

    An exception (question) arises when the system needs additional clarification to proceed with an automation. Exceptions are resolved by providing user guidance in the .

    Guidance Center

    The Guidance Center is where you manage all in one place. When an automation encounters an issue or requires additional context, it raises a for your input. Here, you can view and resolve exceptions across all processes in your agent.

    History

    Kognitos tracks major changes to an Agent, allowing users to review and restore past versions through the History tab. You can click on any of the options displayed in the History tab to view the Agent at that point in time.

    Kognitos AI Assistant

    The Kognitos AI Assistant (KAIA) is used to answer questions, find guidance, or get in touch with our support team. You can use this tool to get help anytime by accessing it in the bottom left corner of the platform.

    Learnings

    Learnings are rules that guide your automation’s decision-making. When you resolve an , you can teach the agent how to handle similar situations in the future. These learned responses are stored as "learnings, " allowing the automation to become more intelligent and autonomous over time.

    Playground

    The Playground is a dynamic development environment where you can create, test, and refine your automation workflows. It provides a flexible space to write procedures in plain English, run them to see the immediate results, and debug any issues before creating a .

    Procedure

    A procedure is a single automation task defined in plain English. Each procedure describes a specific action and follows a defined grammatical syntax that Kognitos understands, such as open a file, extract data, or send an email. These procedures are the building blocks for Kognitos automations.

    Process

    A process is an automation workflow built using one or more . It represents a complete business task, such as processing an invoice from receipt to payment.

    Processes can be in a Draft state during development and testing, or in a Published state that is production-ready. Each version of a process is tracked, allowing for clear change management.

    Run

    A run is a single execution of an automation. All automations, whether a Playground, a Draft Process, or a Published Process, can be run manually. However, only published Processes support automatic triggers like email, API, or scheduled runs. Every time a process is triggered, either manually or by a scheduled event, it creates a new run.

    Subprocess

    A subprocess is a process that is called by another process. Learn more .

    Exporting and Importing Agents

    Learn how to export and import automation agents.

    Overview

    Kognitos supports the ability to export automation agents from one environment and import them into another. This allows you to move published automation content across agents in a controlled way.

    Exporting an Agent

    Exporting lets you download a snapshot of an agent’s published state. The export includes only published processes, learnings, and books — draft processes, playgrounds, and configuration credentials are not exported. Anyone with access to the agent can export it.

    How to Export an Agent

    1

    Navigate to Agents

    Open the agent menu and select View All.

    2

    Select an Agent

    Check the box next to the agent you want to export.

    3

    Importing an Agent

    You can import an agent using a .json file generated from the export process. There are two ways to do this — into a new agent or into an existing agent. All imported items are added as drafts. The agent's published content is not affected unless you review and publish the imported content.

    1. Import into a New Agent

    Use this option to create a new agent.

    2. Import into an Existing Agent

    This option allows you to update an existing agent and is available only to agent admins.

    How to Import an Agent

    1

    Navigate to Agents

    Open the agent menu and select View All.

    2

    Start Import

    Click on Import to start the import.

    3

    Using Ask with Custom Exceptions

    Learn how to use the ask keyword to create custom exceptions.

    Overview

    The ask keyword allows automations to prompt the user with a custom question. These prompts are raised as custom exceptions during execution.

    Syntax

    Write the keyword ask followed by your question in quotation marks. When raising an exception, Kognitos will use this text for the question:

    Optionally, you can provide a set of answer choices. Kognitos will display these options in a dropdown menu where the user can select a value for guidance.

    Examples

    Without Choices

    Specifying Choices

    Example 1

    In this example, the automation will raise an exception asking What is the notification method? and the user will be presented a list of dropdown choices including Email, SMS, and Push Notification.

    Example 2

    Here, the automation will raise an exception asking What is the preferred language? The user will be presented with a list of dropdown choices that contain English, Spanish, Hindi, and French.

    Providing Guidance

    When Kognitos raises a custom exception with the keyword, you’ll need to guide the automation by choosing how to respond. The resolution methods depend on whether the exception includes choices.

    When Choices Are Provided

    In this case, the recommended resolution method is to Pick a Suggested Value. This will allow the user to select one of the predefined options from the dropdown list. This is the safest and most reliable way to resolve the exception.

    When Choices Are Not Provided

    1. Write in an Answer

    Type a value directly into the text box for the requested field.

    2. No Value

    Indicate that no value should be used for now. A dash (-) will be inserted as a placeholder. This is best used when the information is unavailable or not relevant.

    3. Skip this Step

    Bypass the current step entirely.

    Be cautious: skipping may cause additional exceptions later if other steps depend on the missing data.

    4. Compute an Answer

    Modify the automation syntax to avoid this exception. Use the Mini-Playground to test changes safely before applying them.

    Exception Routing

    Learn how to configure assignment and notification rules for exceptions in Kognitos.

    Overview

    Exception routing is a process configuration setting. It allows agent admins to configure assignment and notification rules for exceptions. When a process encounters an (a question requiring guidance), these rules ensure that the right person is automatically assigned to handle it and that the appropriate team members are notified.

    BYOM

    Securely connect and manage your LLM providers with custom API credentials.

    Overview

    Bring Your Own Model (BYOM) provides a secure way to add, connect, and manage API credentials for your preferred Large Language Model (LLM) providers. By default, Kognitos uses OpenAI and Gemini, but BYOM allows you to configure alternative or custom providers at the agent level.

    Defining Data

    Learn how to define data in Kognitos.

    Overview

    In Kognitos, defining data refers to naming a specific piece of information, allowing it to be stored, referenced, updated, and passed between steps within an automation.

    Every data element (also referred to as a fact) consists of two parts:

    1. A that identifies and labels the data.

    Playground
    Process
    book
    procedures
    Guidance Center
    What are Exceptions?
    exceptions
    question
    Guidance Center
    exception
    process
    procedures
    Processes
    here
    Book Development Kit
    BDK

    What is a Process?

    A process is an automation workflow built using one or more procedures. It represents a complete business task, such as processing an invoice from receipt to payment.

    Process States

    A process can exist in one of two states:

    1. Draft – A version of the process for development and testing.

    2. Published – A finalized, production-ready version of the process.

    Processes are also versioned, allowing every update to be tracked. The draft–publish workflow ensures automations can be safely developed, tested, and deployed without disrupting business operations.

    Batch 3: Item 7

    ✅ Yes — Replace the collection with a reference to the dataset or objects you want to batch.

    Example

    ✅ Yes — Replace x with an integer value representing the number of items per batch.

    Example

    run parallelization
    create batches from the items
    the batch size is 3
    Operates on a data element (singular or plural)
  • Evaluates to true to false (boolean operation)

  • ask
    process each batch as follows
    the batch's users
    the batch's invoices
    the batch's documents
    the items are 1, 2, 3, 4, 5, 6, 7
    create batches from the items
        the batch size is 3
    the customers are the above
    create batches from the customers
        the batch size is 10
    process each batch as follows
        send an email to "[email protected]" where
            the subject is "Currently processing 10 customers"
            the message is "The users are {the batch's customers}"
    get the invoice table's rows
    get the above as the invoices
    create batches from the invoices
      the batch size is 20
    process each batch as follows
      the results are the batch's invoices
      start a run where
        the procedure is "to process the invoices"
        the results
    wait for the runs
    the first name is "Jennifer"
    validate the following
      ensure the first name is started by "Jenn"
    the quantity is 10
    validate the following
      ensure the quantity is greater than 5
    the username is "kognitosuser"
    the password is "123456789!"
    the user age is 20
    the user roles are "viewer", "editor", "commenter"
    validate the following
      # True:
      ensure the username is started by "k"
      ensure the password is ended by "!"
      ensure the user roles contains "editor"
      # False:
      ensure the user age is greater than 21
    the department's spot check percentage is <percentage>
    the book name is "Happy Automations"
    the book rating is 7.8
    the department's spot check percentage is 50
    validate the following
      ensure the book name starts with "Happy"
      ensure the book rating > 5
    ask "Your question here"
    ask "Your question here"
      the choices are "Option 1", "Option 2", "Option 3", "Option 4" ...
    ask "What is the billing code?"
    ask "What is the total amount approved?"
    ask "Who is the hiring manager?"
    ask "What is the notification method?"
      the choices are "Email", "SMS", "Push Notification"
    ask "What is the preferred language?"
      the choices are "English", "Spanish", "Hindi", "French"
    Open Email Trigger Settings

    Click the menu ⋮ button on the right, then select Configure Email Trigger.

    4

    Configure Permissions

    Choose who can send emails to trigger this Process:

    • Collaborators: Only members of the agent can send emails to trigger this process. This is the default for new processes. Note: For processes created before July 3, 2025, the default setting is "Anyone".

    • Restricted: Only users listed under "People with permission to trigger" can send emails to trigger the process.

    • Anyone: Anyone can send emails to trigger this process, including non-Kognitos members.

    People with permission to trigger lets you specify additional users who can send emails to trigger the process, regardless of the general permission setting.

    5

    Copy the Email Address

    Copy the Email Trigger address. This is the email address that people will send emails to in order to start the process.

    6

    Save Your Changes

    Click Done to save your configuration changes.

  • Confirm the automation is a published process. Email triggers do not work with Playground automations.

  • get the date
  • get the subject

  • get the hyperlinks

  • get the attachments

  • get the body as text

  • get the body as html

  • Faster for many items (since runs happen in parallel)

    General Usage

    When tasks or items are independent and you want the result / status of a run

    When tasks or items are independent and you don't need the result / status or a run

    When tasks or items are dependent or rely on one another

    Document Processing

    Use when each document is independent and can be processed in isolation

    Use when each document is independent and can be processed in isolation

    Use when documents are dependent on one another, or the final outputs need to be aggregated

    Example

    Syntax

    Execution Style

    Sequential Processing

    Sequential Processing

    Parallel Processing

    Performance

    Slower overall (each subprocess runs separately)

    Run a Subprocess
    Invoke a Subprocess
    Start Parallel Runs

    Slower overall (each subprocess runs separately)

    Start Export

    Click on Actions, then select Export from the dropdown.

    4

    Confirm Export

    In the confirmation popup, click on Export again. This will download a .json file containing the agent's current state, which can be later imported into a new or existing agent.

    Add Import Details

    1. Upload a .json file of an exported agent.

    2. Choose one of the following options:

      1. Select Create New Agent and provide a name for the new agent.

      2. Select Import to Existing Agent and select an existing agent from the dropdown menu. Note: This option is only available to agent admins.

    3. Click Next to continue.

    4

    Review and Confirm

    Review the summary of the import and click Import to finish importing.

    By default, all items are selected for import. You can uncheck items to exclude them.

    Configuration

    Agent admins can configure exception routing for a given process, including the following settings:

    Exception Assignment

    Specifies who is automatically assigned to handle exceptions.

    Email Notifications

    Specifies who receives email alerts when exceptions need guidance.

    How to Configure Exception Routing

    Follow these steps to configure exception routing for a process:

    1

    Select a Process

    Navigate to Processes and click on the process to be configured.

    2

    Exception Routing

    Click on the three-dot menu ⋮ in the top-right and select Exception Routing.

    The process must be in draft mode. If the process is published, click Edit first.

    3

    Exception Configurations

    Configure the following details, which may be updated at any time:

    Field
    Description
    4

    Save and Publish

    Press Save to apply your configuration changes. Then, publish your process to make the changes live.

    Examples

    1. Basic Assignment

    In this example, exceptions go to the process creator with no notification recipients.

    Exception Assignee

    [email protected] (Process Creator)

    Notification Recipients

    None

    2. Specialized Handler with Team Notifications

    Here, exceptions are assigned to the process creator while the team lead and backup get email notifications.

    Exception Assignee

    [email protected] (Process Creator)

    Notification Recipients

    [email protected], [email protected]

    3. On-Call Assignment

    Here, the current on-call person is assigned exceptions while the manager stays informed through email notifications.

    Exception Assignee

    [email protected] (current on-call person)

    Notification Recipients

    [email protected]

    exception
    Supported Providers

    BYOM supports the following providers and models:

    Provider
    Supported Models

    OpenAI

    GPT-4o, GPT-4o Mini, gpt-4o-realtime-preview, gpt-4.1-mini

    Google Gemini

    Gemini 2.5 Pro, Gemini 2.0 Flash, gemini-2.5-flash, gemini-2.5-flash-lite

    Google Vertex AI

    Gemini 2.5 Pro, Gemini 2.0 Flash, gemini-2.5-flash, gemini-2.5-flash-lite

    Anthropic Claude

    claude-opus-4, claude-sonnet-4.5, claude-haiku-4.5

    Custom

    Any custom LLM model not listed above

    Configuration

    Follow these steps to configure an LLM provider in Kognitos:

    Note: BYOM must be configured separately for each agent.

    1

    Navigate to BYOM

    Click the user icon 👤 in the top right corner and select BYOM from the dropdown menu.

    2

    Choose a Provider

    Under Add an LLM provider, click Set Up next to the provider you wish to configure (e.g., OpenAI, Google Gemini, Anthropic Claude, Custom, etc.).

    3

    Enter API Credentials

    Enter the required credentials for the selected provider (e.g., API key, service account JSON, project ID, region). Required fields vary by provider.

    4

    Save Configuration

    Click Save Changes to apply your configuration.

    Usage

    After configuring models through BYOM, automations will use your stored credentials when executing LLM procedures.

    Standard Providers

    For standard providers like OpenAI, Google Gemini, or Anthropic, reference the model directly in your automation. The example below uses the extract data procedure with an OpenAI model:

    Custom Providers

    For custom models, specify the provider ID, indented within the LLM procedure:

    For example:

    Retrieve the ID from the BYOM interface after saving a custom LLM configuration:

  • A value, which represents the information itself. Values can be singular or plural.

  • Defining Singular Data

    To define a singular data element, use "is":

    Defining Plural Data

    To define a plural data element, use "are":

    Examples

    1. In this example, the customer is the data name. It is assigned the singular value "John Smith":

    1. Here, the items is the plural data name. It is assigned the plural value of the documents.

    1. In this example, the fruits is the plural data name. It is assigned a list (plural) of fruit values:

    Make sure singular names pair with singular values, and plural names pair with plural values! For example, you wouldn’t write “the fruits is the orange”. Instead, you would write: “the fruits are the oranges”.

    Data Names

    Data names define how information is labeled and referenced. The following rules apply:

    1. Begin with "the"

    Data names must be prefaced with the. For example:

    2. Names can be Simple or Descriptive

    Data names can be simple or descriptive. Adjectives can be used in descriptive names to provide additional clarity or context. For example:

    Simple Name

    Descriptive Name

    Data Values

    Data values can be singular or plural. Possible data types include numbers, text, dates, lists, or references to other data elements.

    1. Numbers

    Numeric values can be assigned to data such as age, balance, or rates. For example:

    2. Text

    Text values can be words, sentences, or phrases. They can include any characters—letters, numbers, symbols, or spaces—as long as they are enclosed in double quotes (""). For example:

    3. Dates

    A date value represents a specific calendar day, such as a due date, birthday, or event date. Be sure to enclose date values in double quotes (""). For example:

    4. Lists

    To define a list, separate the values by commas. For example:

    5. Referencing Other Data

    The value of a data element can also be a reference to another data element. In these cases, the data value is set to another data name. For example:

    Note: You can only reference another data element if it has been defined earlier in the automation.

    6. The Above

    Reassigning Data

    name

    Quick Start Guide

    Learn how to start your automation journey in Kognitos.

    Overview

    Kognitos empowers you to write automations in plain English, turning natural-language instructions into executable workflows. This guide will walk you through core concepts, the development lifecycle, and the basics of writing an automation.

    Make sure you're all set up before jumping in!

    Core Concepts

    Let’s kick things off with two important ideas: and .

    Agents

    An agent is a dedicated execution environment. Each agent comes with its own skills and settings, enabling it to operate independently. Agents are created to handle specific business tasks and can contain one or more to complete them.

    Automations

    An automation is a set of instructions that tells Kognitos what to do — process data, work with documents, send emails, call other processes, and more. These are workflows that can take the form of an early idea (playground) or a complete process.

    Automation Lifecycle

    Automations come in different forms as they evolve from early ideas into production-ready processes, following this lifecycle:

    1

    Playground

    Every automation starts as a playground. These are initial automation workflows used to explore, create, and test new ideas.

    2

    Draft Process

    Once a playground automation is working as intended, solidify it as a draft process. Drafts let you refine and test the workflow in a structured way before finalizing it for production.

    3

    Start in the Playground

    Start in the Playground — your initial workspace for writing and testing automations.

    Create a New Playground

    Create a new Playground by navigating to Playground , then click on + New Playground.

    Write Your Automation

    The input area of the editor is where you can define your automation workflow.

    Looking for ? Describe your intent in plain English and let auto-write draft the workflow for you.

    Writing Automations

    Kognitos automations are written in English. They are composed of small, readable steps called procedures. By combining multiple procedures, you can form a complete automation workflow.

    What is a Procedure?

    A procedure is a single automation task. Each procedure describes a specific action and follows a defined grammatical syntax that Kognitos understands, such as , , or . Procedures are the building blocks for Kognitos automations.

    Building a Workflow

    Combine procedures to create an end-to-end automation. For example, you might extract fields from a receipt, summarize them in a table, and then email the result:

    Auto-Write (HAL)

    With Kognitos’ Hyperautomation Lifecycle (HAL), you can describe what you want in plain English and let the platform auto-write the automation for you. No need to worry about syntax or structure; write naturally (e.g., “extract date and total from a receipt and email me a summary”).

    HAL interprets your intent, selects the right actions, and produces a draft workflow that you can run or edit as needed, allowing you to move from idea to execution faster.

    How to Enable HAL
    1. Navigate to Settings > Preferences > Department.

    2. Find AI-Assisted Hyperautomation Lifecycle (HAL).

    Language & Logic

    Beyond procedures, use , , , and other elements to write and structure automations in Kognitos. Learn more below:

    Check out for additional topics and to discover procedures by category.

    Books

    A is a set of related automation procedures (actions) that can extend an agent’s capabilities. Adding a book to an agent enables the agent to learn new skills and integrate with external tools. Kognitos offers many Books that can be added to your agents, which are built around either:

    • A specific domain (Document Processing, HTML)

    • An integration (Microsoft Excel, Slack, Salesforce, etc.)

    Recommended — Start by Adding These Books 📚

    We recommend adding the following Books to your agent for common automation tasks:

    1. Document Processing: enables data extraction, redaction of information, and more.

    2. Email: allows you to send emails from Kognitos, extract attachments, etc.

    Common Exceptions

    Explore the most common exceptions in Kognitos and discover best practices for handling them effectively.

    1. Could not get a file as a scanned document

    This exception occurs when the system fails to access a file due to formatting, permissions, or network errors.

    Resolution Methods

    1. Retry

    Retry the failed automation step. This may be helpful if the exception was potentially caused by a network error or a timeout.

    2. Upload files

    If the original file is corrupted or in an unsupported format, use this method to reupload it.

    3. Skip this step

    Bypass this step in the automation.

    Note: Skipping a step can lead to another exception if the step resolves data that is referenced later in the automation.

    Example: An exception occurs with the message "Could not get a file as a scanned document". The user chooses the Skip this step option. Later, the automation attempts to reference the document, resulting in a new exception: "Please provide scanned document.

    2. Could not (something)

    This exception occurs when the system is unable to complete a specific action. The exception message starts with "Could not" and describes the action that could not be completed. For example:

    • Could not ask koncierge

    • Could not dump a file

    • Could not extract a table

    Resolution Methods

    1. Retry

    Retry the failed automation step. This may be helpful if the exception was potentially caused by a network error or a timeout.

    2. Compute an answer

    This method allows you to modify the automation to avoid the exception. Use the Mini-Playground to test changes safely before applying them.

    3. Skip this step

    Bypass this step in the automation.

    3. Please provide (something)

    This exception occurs when the system cannot find a match for a specified field. The exception message starts with "Please provide" and describes the required data.

    Example: "Please provide scanned document's arrival time"

    If an automation includes the line get the scanned document's arrival time, the system will attempt to extract the value for arrival time. An exception will be raised if the document contains a different field instead, such as estimated time of arrival. In this case, the system needs guidance to use that field in place of arrival time.

    Resolution Methods

    For this exception type, it may be helpful to review and apply the .

    1. Select from Document

    Manually choose the desired field from the document.

    2. Write in Answer

    Enter a value manually into the text box for the desired field.

    4. The key does not exist. How would you like to proceed?

    This exception occurs when attempting to access a key missing in the current context or data structure.

    Resolution Methods

    1. Pick suggested value

    Choose either Create new record with empty value or Skip (recommended).

    5. I don't know how to (do something)

    This exception occurs when the system doesn’t know how to proceed. For example:

    • I don't know how to convert 'ADFB00' into a number

    • I don't know how to process this billing code

    • I don't know how to translate this to a string

    It usually occurs due to one of the following issues:

    1. The agent doesn’t have the skills needed to perform the task (a missing Book).

    2. The automation syntax is incorrect.

    3. The data is in the wrong format or type.

    Resolution Methods

    1. Check Your Agent for Missing Books

    If the procedure belongs to a Book, make sure the Book is added to your agent with the correct credentials.

    2. Compute an answer

    This method allows you to modify the automation to resolve the exception. Use the Mini-Playground to test changes safely before applying them. This is useful when the automation syntax is incorrect or when data is passed incorrectly.

    6. Which procedure should I use?

    This exception occurs when there are multiple procedures with a similar syntax and the agent needs clarification on which one to use.

    Resolution Methods

    1. Pick suggested value

    Choose the procedure that best matches your use case. If the procedure is part of a Book, the dropdown choices will be presented in this format:

    For example:

    7. The automation crashed in a previous run. Click 'Yes' if it's safe to continue

    This exception occurs when an automation previously crashed during execution, and the system needs confirmation that it’s safe to resume.

    Resolution Methods

    1. Pick suggested value

    Select Yes to confirm it’s safe to rerun the automation.

    8. Run had crashed. Do you want to restart?

    This exception occurs when a previous run has crashed, and the system needs confirmation to restart the automation.

    Resolution Methods

    1. Pick suggested value

    Select Yes to confirm it’s safe to rerun the automation.

    Use CasesKognitos - AI Automation for Business Operations

    Runs

    Discover the different ways to run an automation process in Kognitos.

    Overview

    A run represents a single execution of a . Every time a process is ran, Kognitos captures all the details of its execution (inputs, outputs, and state changes). Each run is also assigned a unique ID, making them easy to track, monitor, and manage.

    get the email's attachments
    process each attachment as follows
        ...
    run <procedure name>
    invoke <procedure name>
    start a run where
        the procedure is <procedure name>
    extract data from the document
        the dpi is 144
        the openai model is "gpt-4.1-mini"
        the first field is "po number"
        the first field's format is "string"
        the first field's rule is "the po number has 10 characters"
    the model provider is "provider-id"
    extract data from the document
        the model provider is "custom-custom-llm-1764100945699-r6jisd"
        the first field is "invoice number"
        the first field's format is "string"
    <name> is <value>
    <name(s)> are <value(s)>
    the customer is "John Smith"
    the items are the documents
    the fruits are the apple, the banana, the orange
    the email
    the phone number
    the primary username
    the message
    the very special user greeting message
    the age is 21
    the bank balance is $120.20
    the interest rates are 5.67, 6.25
    the message is "Welcome to Kognitos!"
    the username is "i-like-to-automate-123"
    the announcement is "We're so glad you're here. Let's build something great together."
    the due date is "2024-11-05"
    the project start date is "January 1, 2024"
    the birthday is "March 22, 1990"
    the test scores are 95, 86, 100, 77, 65 and 99
    the coupon codes are "SAVE20", "SALE2024", "HAPPYHOUR" and "JUST4U"
    the email addresses are "[email protected]", "[email protected]" and "[email protected]"
    the username is the customer email
    the documents are the receipts 
    the approver is the manager
    Could not convert a datetime to a text

    Note: Skipping a step can lead to another exception if the step resolves data that is referenced later in the automation.

    Example: An exception occurs with the message "Could not get a file as a scanned document". The user chooses the Skip this step option. Later, the automation attempts to reference the document, resulting in a new exception: "Please provide scanned document.

    3. Retry

    Retry the failed automation step. This may be helpful if the exception was potentially caused by a network error or a timeout.

    4. Compute an answer

    This method allows you to modify the automation to avoid the exception. Use the Mini-Playground to test changes safely before applying them.

    5. No value

    Indicate that no value is needed at this time. This option is useful when a value is unavailable or not applicable. A dash ("-") will replace the value as a placeholder.

    6. Skip this step

    Bypass the field extraction step.

    Note: Skipping a step can lead to another exception if the step resolves data that is referenced later in the automation.

    Example: An exception occurs with the message "Please provide the scanned document's arrival time". The user chooses the Skip this step option. Later, the automation attempts to reference the "arrival time" again, resulting in a new exception: "Please provide arrival," as the value was not established.

    I don't know how to transform a contact
    learning suggestions
    <Book Name>: <Procedure Name>
    sharepoint: to get a folder at a string
    run "to process the sales order"
        the attachment
    invoke "to process the sales order" with
        the file is the document
    get the attachments
    process each attachment as follows
      start a run where
        the procedure is "to process the sales order"
        the attachment
    wait for the runs
    get the runs's results as the sales orders

    Only collaborators of the agent can be selected as assignees.

    To add additional users, go to Settings → Invite Users → Add Collaborator.

    Exception Configurations

    Exception Assignee (Required)

    The user(s) to assign to handle exceptions for this process. At least one user is required.

    Notify Members (Optional)

    The user(s) to notify via email when exceptions need guidance. This is optional and may be left blank.

    Exception Routing Menu Option

    Published Process

    When your automation is finalized and production-ready, promote it to a published process. These workflows are reliable, secure, and fully ready to execute business tasks.

    Toggle the switch on.

    Once HAL is enabled, clicking on + New Playground will open a menu, allowing you to select a template or start from scratch. Then describe your task in plain English, and Auto-Write will generate the automation for you.

    agents
    automations
    automations
    Auto-Write
    send an email
    keywords
    comments
    conditionals
    Writing Automations
    Automation Areas
    book

    Defining Data

    Learn how to define data.

    Keywords

    Learn about the basic keywords, their usage, and examples.

    Comments

    Use comments to add notes or disable parts of your automation.

    Ways to Run a Process

    All processes can be run manually (draft or published). Published processes can also be triggered to run automatically by email, via API, or on a schedule.

    Method
    Description
    Uses
    Process Types

    Manual Run

    Run directly from the platform by navigating to Processes, selecting a process, and clicking Run to start a new run.

    • Draft

    • Published

    Trigger a run by sending an email to a unique email address.

    • Draft

    • Published

    Trigger a run by making an HTTP request to the Kognitos REST API.

    Run States

    Runs execute asynchronously, moving through the following status transitions: Pending → Running → Succeeded, Failed, or Cancelled. Once a run completes successfully, its output becomes available for review or use in subsequent actions.

    State
    Description

    Pending

    Run is queued for execution.

    Running

    Run is currently executing.

    Succeeded

    Run completed successfully.

    Failed

    Run encountered an error.

    Cancelled

    Run was cancelled by user.

    TimedOut

    Run exceeded maximum execution time.

    Managing Runs

    Once a process has been executed, you can manage individual runs through various actions. To access these options:

    1

    Navigate to Processes

    From the left navigation menu, go to Processes.

    2

    Select a Process

    Click on the process you want to manage.

    3

    View Runs

    Click View Runs to see all the process runs.

    4

    Select Runs and Choose an Action

    Select the checkbox next to one or more runs. The following actions become available:

    1. Re-run

    Re-executes a process using the same inputs and configuration as the selected run. This is useful for retrying failed runs or reproducing results with identical parameters.

    2. Archive

    Moves runs out of the main view to help organize and declutter your run history. Archived runs can be restored at any time.

    process

    Test Suite

    Learn how to test and validate changes made to your processes.

    Overview

    The Test Suite empowers you to test and validate any changes made to your processes. After modifying a process, run the Test Suite to compare the new results against expected outcomes. This makes it easy to assess the impact of your changes and ensure everything still works as intended.

    How It Works

    Test changes made to your processes with this 3-step process:

    1

    Create Test Cases

    Create test cases from successful process runs. These runs serve as baselines that define the expected behavior and output when a process operates as intended.

    2

    Run Tests

    Run tests to compare your current process against your test cases. The Test Suite analyzes output to identify changes between your baseline and current version.

    3

    Getting Started

    Get started by creating test cases. To do this, you'll need to add test cases and identify output.

    1. Add Test Cases

    A test case is a process run that serves as the baseline for how a process should perform. Test cases establish the standard against which future runs are compared. They can be added from existing runs directly within the Test Suite or from individual process runs.

    Add Test Cases From the Test Suite
    1. From the left navigation menu, go to the Test Suite.

    2. Click on the Test Cases tab.

    Add Test Cases From Processes
    1. From the left navigation menu, go to Processes.

    2. Select a process.

    2. Identify Output

    The next step is to define what a successful outcome looks like for your test case. This is done by — highlighting important data elements in a process run. By doing so, you tell the Test Suite which output (ex: total cost, destination, payment status) should be validated to ensure a process runs as expected.

    How to Star Data
    1. From the left navigation menu, go to Processes.

    2. Select a process.

    3. Access a process run.


    Running Tests

    Once you've added test cases and identified output, you're ready to run tests. During a test run, the Test Suite runs the current version of each selected process for every test case. Then, it compares the output generated by the runs against the expected output in your test cases.

    Starting a Test Run

    Follow these steps to start a test run:

    1

    Navigate to the Test Suite

    From the left navigation menu, go to the Test Suite.

    2

    Run Tests

    In the Test Suite, select Run Tests.

    3

    Run Tests for a Single Process

    You can also run tests for an individual process directly.

    Click on a process within the Test Suite, then select Run Process Tests.

    Stopping a Test Run

    To stop a test run in progress, click Stop Test Run on the Test Run page.


    Reviewing Test Run Results

    All your test runs are summarized in the Test Runs tab of the Test Suite. Access the results of a specific test run by clicking on it from this overview page.

    Overview

    Here's a visual guide to reviewing your test run results:

    Test Run Metrics

    Displayed at the top of a Test Run are the following metrics:

    • Passed Runs: The number of runs where all the output matches the expected results.

    • Failed Runs: The number of runs where one or more outputs does not match the expected results.

    • Guidance Required: The number of runs that paused during execution and required user guidance to proceed. These runs are neither passed nor failed until guidance is provided.

    By default, these metrics are displayed for the entire run. You can click into a process to update the metrics for that specific process.

    Process Breakdown

    Below the overall summary on the Test Run page is a list of processes included in the test run. For each process, you can see a summary of the overall status, pass percentage, and run metrics. Click into a process to drill down into individual test cases.

    Test Case Breakdown

    Once you've clicked into an individual process within a test run, you'll see a breakdown by test case. Click on any test case to view a side-by-side comparison between the expected output and the test run output.


    Addressing Test Failures

    Test failures generally occur in one of the following scenarios:

    Output Mismatch

    The test fails because the expected output doesn't match the current output from your process. To address this issue, you need to analyze the discrepancy and ask: is the new output correct?

    • If no, there is an issue with your process. Fix the automation logic causing the incorrect result.

    • If yes, the test case is outdated. Remove the test case and add a new one that contains the updated output.

    Output Not Found

    The expected output is missing entirely, pointing to an issue with the process itself. To address this, update your process to ensure it generates the expected output. This involves debugging your automation workflow and logic to understand why the data isn't being generated.

    Note: If you modify the line in the automation where the output was marked, the test may not be able to find the expected output.


    Removing Test Cases

    Remove invalid or outdated test cases from your Test Suite to keep it up-to-date. Test cases can be removed directly from the Test Suite or from process runs.

    Remove Test Cases from the Test Suite

    1. From the left navigation menu, go to the Test Suite.

    2. Click on the Test Cases tab.

    3. Click on a process to see its associated test cases.

    4. Select one or more test cases to remove.

    Remove Test Cases from Process Runs

    1. From the left navigation menu, go to Processes.

    2. Select a process.

    3. Access a process run.

      1. To view a previous run, click on View Runs

    Start Parallel Runs

    Learn how to start parallel runs in Kognitos.

    Overview

    In Kognitos, a process can call and run multiple subprocesses in parallel using the start a run syntax. Starting parallel runs enables the parent process to explicitly wait for the runs, retrieve the statuses, and fetch the outputs.

    This is ideal when multiple subprocesses need to run simultaneously and you need to retrieve the statuses or outputs of multiple runs.

    How To Start Parallel Runs

    This section describes how to start parallel runs using the start a run syntax.

    Syntax

    Parameters

    1. item: Object to loop over.

    2. subprocess: The name of the subprocess.

    3. input: Objects to pass to the subprocess, if necessary.

    Use the Process Widget

    When defining the procedure name, use the Process Run Widget:

    1. Type a forward slash / after "the procedure is ".

    Example

    Click to walk through an end-to-end example.

    Remember to Publish Your Process

    You need to promote your automation from the Playground to a Process in order to start parallel runs. This applies to both the main parent process and the subprocess. Otherwise, you will get an Assertion Error saying procedure not found.

    Handling Subprocess Runs

    A parent process can explicitly wait for the runs of a subprocess to complete. Once all runs have finished executing, the system notifies the parent process which runs will proceed further. This allows the parent to respond accordingly, such as collecting data and output from each subprocess, or taking further action based on the results.

    Adding an Explicit Wait

    To add an explicit wait, include the following line into your automation after starting parallel runs:

    Getting Output From Parallel Runs

    To get results from subprocesses that are called with the start a run syntax, use the following syntax after adding an explicit wait:

    Syntax

    Below is a line-by-line overview of the automation syntax. Expand each line to learn more.

    retrieve data from the run(s)

    What does it do? Instructs the system to retrieve data from the parallel run(s).

    Where does it go? This phrase should be written on a new line.

    Does it require input data? ⛔ No — This phrase does not require input data.

    the fact names are

    What does it do? Specifies the name of the data elements to retrieve from the parallel runs.

    Where does it go? This phrase should be indented below retrieve data from the run or retrieve data from the runs.

    Does it require input data? ✅ Yes — Specify one or more text values containing the names of the data elements.

    Example: The fact names are "status", "name", "age"

    Examples

    1. Singular Run

    2. Multiple Runs

    Automatic Pluralization: If there are multiple runs, the system will automatically pluralize the output in the parent process (e.g., status -> statuses).

    Walkthrough: Run Parallelization

    This is an example walkthrough of invoking multiple instances of a subprocess in parallel runs.

    Parent Process

    Line #
    Description

    Subprocess

    Line #
    Description

    Subprocess Output

    In line 9, the greetings is referenced as output from the subprocess runs. The results are:

    • Hello Eva

    • Hello Ian

    • Hello Leo

    • Hello Nia

    Performance Dashboard

    A guide to understanding the Performance Dashboard in Kognitos.

    Overview

    The Performance Dashboard provides a centralized view of your automation performance. It also calculates and displays your return on investment (ROI), giving you a clear picture of the value your automations are generating. To access the dashboard, click on Performance in the top navigation bar.


    Daily Updates

    The dashboard is updated daily to ensure you have access to the latest metrics.

    (Updates occur every day at midnight UTC.)


    Filters

    The dashboard can be filtered by agents, published processes, or date ranges.

    🗃️ Agent Filter

    The agent filter allows you to narrow metrics by specific agents. By default, it includes all agents.

    ⚙️ Process Filter

    The process filter allows you to narrow metrics by specific processes. By default, it includes all processes from all agents.

    📅 Date Range Filter

    The date range filter allows you to narrow metrics by time period. Filter options include:

    • 6M: Last 6 months, including the current month

    • 12M: Last 12 months, including the current month (default)

    • YTD: Year-to-Date, including the current date

    • Custom range: A custom range within a 2-year period


    Dashboard Components

    1. Value Insights

    Value Insights offers an overview of the time and money saved by using Kognitos. These insights are calculated using the agents and processes selected in the . The summation (Σ) is taken across all selected processes using the date ranges selected.

    Configuration Required

    Value Insights are based on user-submitted cost and time estimates. Process owners need to for their processes to generate these insights. Click on Request Estimate to send an email notification to process creators, or click on Configure to set them up.

    Click on Money Saved or Time Saved to update the visualizations for either category. Use the toggle on the right to switch between Cumulative Total and By Process views for these insights.

    Money Saved

    A calculation of your dollar savings based on cost estimates configured for your processes.

    Money Saved ($) = Σ (Total Completed Published Runs × Average Money Saved per Run)

    Time Saved

    A calculation of your time savings based on the time estimates configured for your processes.

    Time Saved (Hours) = Σ ((Total Completed Published Runs × Average Time Saved per Run) ÷ 60)

    2. Usage

    Usage shows the total number of published process runs (regardless of completion status). The number is calculated based on the agents and date ranges selected in the . You can view usage Over Time or By Process by choosing the corresponding filter.

    3. Completion

    Completion metrics track the success of your published process runs. They are calculated using the agents and date ranges selected in the .

    Completion Rate

    The completion rate is the percentage of published process runs that have successfully completed out of the total number of published runs. It accounts for:

    • Runs that completed automatically (STP)

    • Runs that completed with user intervention (Guidance Provided)

    Completion Rate (%) = (Total Completed Published Runs ÷ Total Published Runs) × 100

    Efficiency

    This metric calculates the Straight Through Processing (STP) rate, which is a measure of the runs that completed without user intervention. The STP rate is translated to an efficiency score, which represents how much more work can be completed with the same resources due to automation.

    Efficiency Score = 100 ÷ (100 - STP)

    Example

    • An 80% STP results in 5x efficiency.

    • With 80% STP, only 20% of the work remains manual.

    • The same resources can handle 5 times more work.

    4. Contract Details

    Contract details provide an overview of your current contract, including:

    📅 Key Dates

    • Start date: Date your contract began

    • End date: Date your contract ends

    • Expiration: Remaining days until your contract expires (e.g., 35 days)

    📊 Usage Summary

    • Runs Used: Total number of published and test runs used (e.g., 151)

    • Runs Remaining: Total number of published and test runs still available (e.g., 349)

    • Total Allowed Runs: Maximum number of runs permitted under your contract (e.g., 500)

    If you have questions about your contract or need assistance, please contact our support team at or via our platform's Support AI Chat.


    Downloading and Exporting Data

    Kognitos makes it easy to share insights from your dashboard, without the hassle of screenshots or manual copy-and-pasting.

    Save Images

    You can download a PNG image of any individual metric directly from the dashboard:

    1. Hover over any section (Value Insights, Usage, or Completion).

    2. A download icon labeled "Download this section as an image" will appear in the top-right corner.

    3. Click on the icon to download a .png of that section to your device.

    Export Data

    Click on Export Data to export an Excel report of your dashboard data. Kognitos will automatically email the .xlsx file to you. This feature is great for in-depth analysis, reporting, or sharing insights in spreadsheet format.

    Note: The exported data will reflect the filters you currently have applied on the dashboard.


    Configuring Your Dashboard for Value Insights

    are generated off user-submitted cost and time estimates. While it's not required to provide estimates for every process, these metrics are only generated when the data is configured.

    Configuring Process Estimates

    To configure process estimates, follow these steps:

    1. Click on Configure in the top right corner. This will open up a menu showing all your processes across agents.

    2. For a given process, enter in the following details:

      • Time: Average time saved per process run (in minutes).

      • Cost: Average cost savings per run (in dollars).

    Handling Invoked Process Estimates

    If the process invokes another process, please exclude the invoked process estimates from the parent process estimates.

    1. Click Save to apply your configuration.

    Setting Quarterly Goals

    You can set quarterly goals for Value Insight metrics. To do this:

    1. Click on Set Goal underneath either Money Saved or Time Saved.

    2. Enter your goal (dollars or hours).

    3. Click Save.

    Sending Emails

    Learn how to send emails from Kognitos.

    Overview

    Kognitos simplifies email automation. With just a few lines of natural language syntax, you can send emails directly within your automated workflows — no configuration or server management is required.

    Behavior

    upload a document where
      the file is Uber-Receipt.pdf
    
    extract data from the document where
      the first field is "date"
      the first field's format is "text"
    
      the second field is "location"
      the second field's format is "text"
    
      the third field is "total"
      the third field's format is "text"
    
    create a table where
      the column names are "Date", "Start Location", "Total Cost"
      the row count is 1
    
    insert a row in the table where
      the Date is the data's date
      the Start Location is the data's location
      the Total Cost is the data's total
    
    send an email where
      the recipient is "[email protected]"
      the subject is "Rideshare Receipt Summary"
      the message is the table
    Archiving a running process will not pause or stop its execution. The run will continue to completion regardless of its archived status.

    3. Unarchive

    Restores previously archived runs back to the main run view. This makes them visible again in the default run list (without filters).

    4. Add Test Case

    Creates a test case from the selected run. Test cases can be used to validate process behavior in the Test Suite.

    • Draft

    • Published

    Scheduled Run

    Schedule the process to run automatically at specific times / intervals (e.g., every hour, daily, or weekly)

    • Published

    Email Trigger
    API Trigger
    dashboard filters
    configure these estimates
    dashboard filters
    dashboard filters
    [email protected]
    Value Insights

    Select Process from the menu.

  • Select the process you want to call from the Process drop-down menu.

  • Click Save.

  • Line 7

    Sets an explicit wait for the subprocess runs.

    Line 8

    Explicitly retrieves the greeting output from the subprocess runs.

    Hello Zoe

    Line 1

    The wait count is set to 10 seconds (2 intervals of 5 seconds).

    Line 2

    A data element is defined as a list of names.

    Line 3

    Initiates a loop across the list of names.

    Line 4

    Initiates subprocess invocation using start a run where syntax.

    Line 5

    Specifies the name of the published subprocess to call.

    Line 6

    Passes input to the subprocess: the name is passed as the user.

    Line 1

    Data is defined as a string that says "Hello "

    Line 2

    The user is added to the end of the greeting.

    Line 3

    The automation outputs a greeting with the user's name at the end.

    here
                           Parent Process
                                 │
         ┌-----------------------┴------------------------┐
         │                       │                        │
         │                       │                        │
    Parallel Subprocess    Parallel Subprocess    Parallel Subprocess
    
    process each item as follows:
        start a run where
            the procedure is {subprocess}
            {input}
    the items are "apples", "flour", "eggs", "milk"
    process each item as follows
        start a run where
            the procedure is /to make apple pie
            the ingredient is the item
    wait for the runs
    retrieve data from the run where
      the fact names are "output sum"
    get the output sum from the data
    retrieve data from the runs where
      the fact names are "status"
    get the statuses from the data
    the department's max retry wait count is 2
    the names are "Eva", "Ivan", "Leo", "Nia", "Zoe"
    process each name as follows
      start a run where
        the procedure is /to greet the user
        the user is the name 
    wait for the runs
    retrieve data from the runs
      the fact names are "greeting"
    get the greetings from the data

    Review Changes

    Review the test results to check for any differences in expected outcomes.

    For a given process, click on + Add Test Cases.
  • Select Draft or Published to filter runs.

  • Select one or more process runs to add as test cases.

  • Click Add Selected.

  • Access a process run.
    1. To view a previous run, click on View Runs and choose a run from the list.

    2. To start a new run, click on Run.

  • Click the menu ⋮ button, then select Add to Test Suite.

  • Confirm the addition of the test case by clicking Add.

    1. To view a previous run, click on View Runs and choose a run from the list.

    2. To start a new run, click on Run.

  • Select data by clicking on the name of a data element in your process.

  • In the Information panel on the right, click the star icon (⭐️) next to the data element. The star will turn yellow to indicate the value is now starred.

  • Learn more about Starring Data here.

    Select Processes

    A Run Tests pop-up will appear, displaying a list of processes to select from:

    • Ready for Testing: At the top of the list, you'll see processes that are ready for testing. All eligible processes are selected by default. You can uncheck processes to exclude them from the test run.

    • Ineligible for Testing: At the bottom of the list, you'll find processes that cannot be tested yet. These will be categorized as either Missing Test Cases or Missing Outputs. You cannot select these processes until you've added test cases or identified output for them.

    Note: The latest version of each process will be selected, ensuring you're always testing against the most recent version.

    4

    Confirm Test Run

    Confirm the test run by clicking on Run Tests.

    Skipped Runs
    : The number of runs that were not executed or skipped.

    Click on Remove from Test Suite.

  • Confirm the removal of the test case(s) by clicking Remove.

  • and choose a run from the list.
  • To start a new run, click on Run.

  • Click the menu ⋮ button, then select Remove from Test Suite.

  • Confirm the removal of the test case by clicking Remove.

  • starring data
    By default, Kognitos sends emails using the sender Kognitos Automation. The sender address follows the format <id>@app.kognitos.com, where the id corresponds to the ID of your Playground or Process run.
    Find Your Playground or Process ID

    The ID is visible in the URL:

    Playgrounds

    kognitos.com/department/<AGENT-ID>/playground/<PLAYGROUND-ID>

    Processes

    kognitos.com/department/<AGENT-ID>/processes/<PROCESS-ID>/run/<RUN-ID>

    Alternatively, you can add the to your agent to connect to your Outlook account and from your own domain.

    Syntax

    Below is a line-by-line overview of the automation syntax. Expand each line to learn more.

    send an email or send an email to {recipient} or send {message} to {recipient}

    What does it do?

    Instructs the system to send an email from Kognitos.

    Where does it go?

    This phrase should be written on a new line.

    Is it required?

    ✅ Yes — This phrase is required.

    Does it require data?

    ✅ Yes — if specified in the syntax:

    • Replace {message} with a Text value or reference.

    • Replace {recipient} with a Text value or reference.

    See for more details.

    the subject is s

    What does it do?

    Specifies the email subject line.

    Where does it go?

    Indented beneath one of the following:

    • send an email where

    • send an email to {recipient} where

    • send {message} to {recipient} where

    Is it required?

    ❌ No — This phrase is optional in the syntax.

    If no subject is specified, the default subject line is “Message for <recipient>”.

    Does it require data?

    ✅ Yes — Replace s with an email subject line.

    Example

    the message is m

    What does it do?

    Specifies the email message.

    Where does it go?

    Indented beneath one of the following:

    • send an email where

    • send an email to {recipient} where

    Is it required?

    ❌ No — This phrase is optional in the syntax.

    Does it require data?

    ✅ Yes — Replace m with an email message.

    Example

    the attachments {is/are} x

    What does it do?

    Specifies the email attachments.

    Where does it go?

    Indented beneath one of the following:

    • send an email where

    • send an email to {recipient} where

    • send {message} to {recipient} where

    Is it required?

    ❌ No — This phrase is optional in the syntax.

    Does it require data?

    ✅ Yes — Replace x with one or more references to data objects. Use is to specify a singular attachment or use and to specify multiple attachments.

    Example

    the recipients {is/are} x

    What does it do?

    Specifies the email recipient to whom the message will be delivered.

    Where does it go?

    Indented beneath send an email where .

    Is it required?

    ❌ No — This phrase is optional in the syntax.

    Does it require data?

    ✅ Yes — Replace x with an email recipient. Use is to specify a singular recipient or use and to specify multiple recipients.

    Example

    the cc emails are x

    What does it do?

    Specifies the recipients who will receive a carbon copy (CC) of the email.

    Where does it go?

    Indented beneath one of the following:

    • send an email where

    • send an email to {recipient} where

    • send {message} to {recipient} where

    Is it required?

    ❌ No — This phrase is optional in the syntax.

    Does it require data?

    ✅ Yes — Replace x with one or more email recipients.

    Example

    the bcc emails are x

    What does it do?

    Specifies the recipients who will receive a blind carbon copy (BCC) of the email.

    Where does it go?

    Indented beneath one of the following:

    • send an email where

    • send an email to {recipient} where

    • send {message} to {recipient} where

    Is it required?

    ❌ No — This phrase is optional in the syntax.

    Does it require data?

    ✅ Yes — Replace x with one or more email recipients.

    Example

    Examples

    1. Basic Syntax

    The following syntax formats are all supported equivalents and produce the same results.

    Syntax: send an email

    Syntax: send an email to {recipient}

    Syntax: send {message} to {recipient}

    📧 Kognitos: Welcome Aboard

    We're happy to have you here! Let's automate!

    2. Sending Emails with Attachments

    Single Attachments

    📧 Invoice Summary

    Attached below is the invoice summary for July 2025.

    📎 Attachments: 1 file

    📧 Message for [email protected]

    Here is your table

    📎 Attachments: 1 file

    Multiple Attachments

    📧 Onboarding Materials

    Here are your onboarding materials! 📎 Attachments: 3 files

    3. Sending Multiple Messages

    When multiple messages are specified, Kognitos sends a single email containing all of them:

    📧 Message for [email protected]

    instructions:

    • Log into Kognitos

    • Build your automation in the Playground

    4. Specifying CC and BBC on Emails

    📧 Message for [email protected]

    cc: [email protected], [email protected] &#xNAN;bcc: [email protected]

    Hello!

    Guidance Center

    Learn how to provide guidance to automations in the Guidance Center.

    Overview

    When an automation needs additional context or clarification to proceed, it will raise a question (also called an exception). In Kognitos, exceptions are resolved by providing guidance — giving input to the system so it understands how to proceed. Using the Guidance Center, you can quickly provide guidance across automations to keep your processes running smoothly.

    Getting Started

    Access the Guidance Center from the top navigation menu. Here’s a quick walkthrough: ⬇️

    Key Features

    The Guidance Center contains the following key features:

    Guidance Groups

    Exceptions are grouped based on the automation step where each exception occurred. Using guidance groups, you can resolve similar issues together, instead of handling them individually.

    Filters

    Sort and filter exceptions by:

    • Agent

    • Assignee

    • Status (Pending, Archived, Answered)

    • Date (1 Week, 1 Month, 3 Months, Custom Range)

    Exception Handling Modes

    Use the Try New Flow toggle to switch between:

    • Group Handling (Try New Flow: enabled) - Resolve multiple related exceptions at once.

    • Individual Handling (Try New Flow: disabled) - Resolve exceptions one by one, a workflow used in the former Exception Center.


    Providing Guidance

    Providing guidance is the process of giving input (guidance) that helps the system understand how to resolve exceptions and continue execution. Guidance can take the form of a specific value, a decision to skip the issue, or another form of clarification. Additionally, guidance can be provided for individual exceptions or for an entire group of exceptions.

    We recommend group handling — It’s the fastest and easiest way to resolve multiple exceptions!

    1. Group Exception Handling

    Group exception handling allows you to resolve multiple exceptions at once. The Guidance Center automatically identifies and groups exceptions based on the automation step where each exception occurred. Instead of handling each exception individually, you can address the entire group. Additionally, group exception handling allows you to provide guidance using natural language instructions. Here's how:

    1

    Navigate to the Guidance Center

    From the top navigation menu, go to the Guidance Center.

    2

    Try New Flow

    Enable Try New Flow for group exception handling.

    3

    2. Individual Exception Handling

    The individual exception handling workflow (previously used in the Exception Center) is also available in the Guidance Center.

    1

    Navigate to the Guidance Center

    From the top navigation menu, go to the Guidance Center.

    2

    Disable Try New Flow

    Disable Try New Flow for individual exception handling.

    3

    Resolution Methods

    When resolving exceptions in the Guidance Center, you can choose from several resolution methods:

    Provide Value

    Manually enter a static value to resolve the exception. Use this when you know the exact answer for simple values like names, numbers, dates, or text. Supports multiple input types (text, number, date, boolean, file upload, or no value). Character limit: 5,000.

    Example:

    Compute the Answer

    Write executable automation code (a technique) that calculates the answer dynamically. Use this when the answer needs to be calculated from data, varies based on context, or requires extraction/transformation. The technique runs in a mini playground, and you can choose to use the output as the answer, retry the step, or skip the step. Character limit: 15,000.

    Example:

    Skip

    Bypasses the current step and continues to the next step. Use this for optional or non-critical steps, when you want to continue despite failures, or for testing. You can optionally provide additional facts before skipping.

    Skipping a step may cause another exception if it resolves data needed later. For example, if you skip getting a document, later references to that document will raise new exceptions.

    Retry

    Re-executes the failed step. Use this for temporary failures (network issues, rate limits, timeouts) or when waiting might resolve the issue. You can configure a minimum delay (wait time before retry) and timeout (maximum retry duration), both in seconds. Optionally provide additional facts before retrying.

    Example:

    Review

    Approves a review request when the system needs human verification. Use this to approve extracted data, confirm actions should proceed, or validate quality control checkpoints.

    Example:

    Validate Facts

    Provide or correct facts that failed validation. The system will run a technique with your corrected facts, then you choose to retry or skip the original step. Use this when extracted data is incorrect or incomplete, or when validation rules need to be overridden.

    Example:

    Replace Step

    Replaces the problematic step with new steps you provide. Use this when the original step is fundamentally wrong, you need to change the approach entirely, or for one-time workarounds.

    Example:

    Learning from Resolutions

    Most resolution methods can be learned, meaning the same resolution will automatically apply to identical exceptions in the future. When submitting an answer, check the "Remember" checkbox and select where to apply (Draft Mode and/or Published Mode for processes, or agent's playgrounds). The learning will be stored and applied automatically to future identical exceptions, eliminating the need for repeated human intervention.

    Notes

    Exception Scope & Visibility

    The Guidance Center only shows exceptions for published runs. Draft runs are treated as test runs, so they don’t generate exceptions. If you don’t see an exception, first check whether the process is published.

    Keywords

    Learn about the basic keywords in Kognitos, their usage, and examples.

    1. the Keyword

    Introduces a new object, concept, or data element.

    Example

    In this example, we are introducing a file to Kognitos.

    2. get Keyword

    Used to retrieve objects or to obtain values from a document.

    Example

    In these examples, we are first retrieving a document, and then retrieving the id and date values from the document.

    3. find Keyword

    Used to search for and obtain details from a document.

    Example

    Here, we are searching for a document's date and invoice number.

    The difference between get and find

    Both get and find can be used to obtain information from a document:

    The difference between the two is how they handle exceptions when a specified item is not found in the document:

    • The get keyword raises a Question and pauses execution.

    • The find keyword returns Not Found and continues execution.

    4. use Keyword

    5. say Keyword

    Outputs the value of a data element or text.

    Examples

    6. stop Keyword

    Halts a run or process from progressing further.

    Example

    In this example, say "Goodbye!" will not run.

    7. imagine Keyword

    The imagine keyword is used to declare a data element as a placeholder.

    Example

    8. set Keyword

    Assigns a specific value to a data element.

    Example

    In the example above, the nameis assigned the value John Smith.

    9. remove Keyword

    Used to delete specified elements, such as characters, words, or items, from a variable or dataset.

    Example

    10. convert Keyword

    Transforms data from one format to another.

    Example

    11. add Keyword

    The add keyword is used to combine, extend, or append data to an existing set or structure. This includes both mathematical addition and data aggregation in various formats.

    Arithmetic Addition

    Used to add two numerical values to produce a single sum.

    Date and Time Addition

    Used to add a specified time duration to a given date.

    Data Aggregation

    Used to expand datasets by adding new items, rows, or entries.

    12. contains Keyword

    Used to check if a string, list, or dataset includes a specific value.

    Example 1: Strings

    In this example, contains is used to check if the surname Smith is present in the full name John Smith.

    Example 2: Sets

    In this example, contains is used to check if oranges is present in the set of values.

    Example 3: Tables

    The contains keyword can be used with tables to retrieve rows whose columns include a specific value.

    Example

    Consider the following table that lists various zoo animals, their ages, and their favorite foods.

    Animal
    Animal Age
    Favorite Food

    The contains keyword is used to retrieve the rows where the Favorite Food column includes the value Fruits.

    Result

    Animal
    Animal Age
    Favorite Food

    13. ask Keyword

    The ask keyword is used to ask a question to the user. The question will be raised as a . Additionally, you can specify answers as a set of choices.

    Examples

    14. the above Keyphrase

    When a data element's value is set to the above, Kognitos makes a copy of the value from the previous lines in the automation:

    <data name> is the above

    Examples

    1. In this example, the backup email is assigned the value [email protected].

    the customer email is "[email protected]"
    the backup email is the above
    1. Here, the invoice total is assigned the value 150.

    1. In this example, the file is assigned a copy of the above file in the automation.

    Use the use keyword to reassign a data element, which copies the reference to the original data value:

    Warning: Overwriting Data

    Updating a referenced data element can overwrite previous data — see Example 2 for more details.

    send an email where
        the recipient is "[email protected]"
        the subject is "Kognitos: Welcome Aboard"
        the message is "We're happy to have you here! Let's automate!"
    send an email to "[email protected]" where
        the subject is "Kognitos: Welcome Aboard"
        the message is "We're happy to have you here! Let's automate!"
    send "We're happy to have you here! Let's automate!" to "[email protected]" where
            the subject is "Kognitos: Welcome Aboard"
    send an email to "[email protected]" where
        the subject is "Invoice Summary"
        the message is "Attached below is the invoice summary for July 2025."
        the attachment is the invoice
    create a sample table
    use the above as the table
    send "Here is your table" to "[email protected]" where
        the attachment is the table
    send an email to "[email protected]" where
        the subject is "Onboarding Materials"
        the message is "Here are your onboarding materials!"
        the attachments are the new hire paperwork, the onboarding document, the file
    the instructions are "Log into Kognitos", "Build your automation in the Playground"
    send the instructions to "[email protected]"
    send "Hello!" to "[email protected]" where
        the cc emails are "[email protected]", "[email protected]"
        the bcc emails are "[email protected]"
    the file
    Examples
    1. In this example, the registration date is reassigned the value 11-05-2024.

    1. In this example, the order name is assigned a copy of the reference to the last name, meaning it will point to the same value.

    If the last name changes, the order name will also change, because it references the same value. When the last name changes to Smith-Brown (line #3), the order name also changes (line #4):

    the order total is 150
    the invoice total is the above
    the file is the above
    use <data value> as the <data name>
    use "11-05-2024" as the registration date
    use the last name as the order name
    the last name is "Smith"
    use the last name as the order name
    the last name is "Smith-Brown"
    the order name

    Select a Guidance Group

    Select a guidance group by clicking on it.

    4

    View More Details

    Open any run to view more details about an exception.

    5

    Provide Guidance in Natural Language

    Provide instructions for resolving the exception. Then, click on Generate to create answer suggestions.

    ➡️ Best Practices

    Provide clear instructions, including necessary context to avoid misinterpretations.

    If the system has pulled incorrect data, override it by clearly stating what to use and what to ignore.

    Specify if you need data returned in a specific format (especially for dates or numbers).

    6

    Review Suggestions

    Review the suggested answers. Hover over the ✨ icon to view an explanation summary.

    7

    Take Action

    Decide how to handle each run, after reviewing the suggested answers. You can choose to submit, provide alternative guidance (individually or for multiple runs), or leave certain runs unresolved and return to them later.

    Click on Choose another answer option to take an alternative action.

    Individual Resolution Actions

    These resolution actions can be taken on individual runs:

    Enter your own answer directly, instead of using the system-generated suggestion. You can choose one of the following value types: Text, File Upload, or No Value. This option may be useful when the automation can’t infer the right answer.

    Let the system calculate or derive the answer using available data or logic. You can use this when the answer isn’t directly available, but can be computed.

    This option bypasses the step in the automation. This is helpful if the step is not applicable or doesn't need resolution at the moment. For this resolution method, you can also add a delay or timeout.

    Note: Skipping a step may cause another exception if it resolves data that's needed later in the automation.

    For example: An exception occurs with the message "Could not get a file as a scanned document". The user chooses the Skip this step option. Later, the automation attempts to reference the document, resulting in a new exception: "Please provide scanned document."

    Use this option to re-execute the failed automation step. This may be helpful if the exception was caused by a network error, a timeout, or temporary issues.

    Bulk Resolution Actions

    Select one or more runs, then choose one of the following actions to apply to all:

    Skip the current step for all the selected runs.

    Retry the automation step for all the selected runs.

    Submit answers across all the selected runs.

    Assign the selected questions to a user.

    Select an Exception

    Select an exception to resolve from the bottom.

    4

    Select a Resolution Method

    Select a resolution method to handle the exception.

    Check always use this answer for this process to automatically reuse your response if the same exception reoccurs in the future.

    5

    Submit

    Click Submit to submit the resolution.

    🐒 Monkey

    4 years

    Fruits

    🦁 Lion

    7 years

    Meat

    🐘 Elephant

    10 years

    Fruits

    🦓 Zebra

    3 years

    Grass

    🦒 Giraffe

    7 years

    🐘 Elephant

    10 years

    Fruits

    🐒 Monkey

    4 years

    Fruits

    custom exception

    Use the use keyword to reassign a data element, which copies the reference to the original data value:

    use <data value> as the <data name>

    Warning: Overwriting Data

    Updating a referenced data element can overwrite previous data — see Example 2 for more details.

    Examples

    1. In this example, the registration date is reassigned the value 11-05-2024.

    1. In this example, the order name is assigned a copy of the reference to the last name, meaning it will point to the same value.

    If the last name changes, the order name will also change, because it references the same value. When the last name changes to Smith-Brown (line #3), the order name also changes (line #4):

    When a data element's value is set to the above, Kognitos makes a copy of the value from the previous lines in the automation:

    <data name> is the above

    Examples

    1. In this example, the backup email is assigned the value [email protected].

    the customer email is "[email protected]"
    the backup email is the above
    1. Here, the invoice total is assigned the value 150.

    1. In this example, the file is assigned a copy of the above file in the automation.

    Leaves

    Example 1
    the subject is "IMPORTANT: Memo"

    Platform Capacities

    Reference the currently supported capacities of the Kognitos platform to confidently design, deploy, and manage automations.

    Agents

    An agent is a dedicated execution environment within your organization. You can create multiple agents, and each agent can manage many playground and process automations.

    Parameter
    Optimal Capacity
    For the date, use the one from the invoice.
    Match based on the Customer Name from the billing section.
    Calculate the tip as 15% of the total. Ignore the tip in the document.
    Set quantity to 0. Don’t use the value extracted from the scanned form.
    Question: "What is the customer name?"
    Answer: "John Smith"
    Question: "What is the invoice total?"
    Technique:
      open the invoice document
      extract the table named "Line Items"
      sum the "Amount" column
    Scenario: API call failed
    Action: Retry after 5 seconds with 60-second timeout
    Request: "Please review this extracted invoice data"
    Action: Approve to proceed
    Issue: Invoice date extracted incorrectly
    Action: Correct the date value
    Original: "open file.xlsx"
    Replace with: "open invoice_2024.xlsx"
    get the document
    get the document's "id"
    get the document's "date"
    find the document's "date"
    find the document's "invoice number"
    get the document's phone number
    find the document's phone number
    say "Hello World!"
    say the name
    say "Hello!"
    stop
    say "Goodbye!"
    imagine a value
    imagine templates
    set the name to "John Smith"
    remove punctuation from the text
    convert the file to a gif file
    add 10 and 5
    the date is "2024-11-01"
    add two days to the date
    add a column to the table
    the full name is "John Smith"
    if the full name contains "Smith" then
        say "The surname is correct!"
    the values are "apples", "bananas", "oranges"
    if the values contain "oranges" then
        say "The oranges are available."
    get the table's rows whose Favorite Food contains "Fruits"
    ask "What is your age?"
    ask "The access code"
    ask "When does the flight depart?"
      the choices are "Morning", "Afternoon", "Evening"
    ask "preferred language"
      the choices are "English", "Spanish", "Hindi", "French"
    the message is "Please take a look at the provided chart."
    the attachment is the table
    the attachments are the invoice, the user summary, the document
    the recipients are "[email protected]"
    the cc emails are "[email protected]"
    the bcc emails are "[email protected]"
    Logo

    Playgrounds (per agent)

    Up to 200 playgrounds

    Processes (per agent)

    Up to 200 processes

    Optimal capacity values are recommendations. You can create additional agents, playgrounds, and processes, but these ranges help ensure the best automation performance and user experience. See What happens if I exceed the recommended numbers? for details.

    Automation Design

    A playground or process automation should be written within the following capacity guidelines:

    Automation Length
    Performance Capacity

    1-200 lines

    Great — Fastest execution and easiest to maintain

    200-500 lines

    High — Suitable for more complex workflows

    500-1200 lines

    Moderate — Can be optimized by breaking into subprocesses

    1200+ lines

    Needs Optimization — Should be broken into smaller subprocesses

    Parameter
    Optimal Capacity

    Number of Loops

    Up to 200 loops

    Split large automations into subprocesses to improve performance and maintainability.

    Runs

    A run is a single execution instance of a process. Concurrent runs refer to the total number of runs executing at the same time across your organization. Runs can be started manually, triggered via email or API, or scheduled. The platform can support the following number of concurrent runs:

    Parameter
    Supported Capacity
    Description

    Concurrent Runs

    150 runs

    The total number of actively running instances across your entire organization. This includes all process runs (you can run the same process multiple times), parallel child runs, and test suite runs.

    Parallel Runs

    50 runs (per process)

    The maximum number of child processes that a parent process can call and run at the same time. These count toward the concurrent run capacity.

    Test Suite Runs

    40 runs

    The maximum number of test runs that can execute simultaneously in the Test Suite when validating process changes. Test runs also count toward the concurrent run capacity.

    See FAQ #4 for more details.

    Learnings

    Learnings are rules that guide your automation's decision-making. Learnings are isolated to each agent, with no limit on the total number of learnings per agent.

    Parameter
    Supported Capacity

    Learning Length

    15,000 characters

    For optimal performance, we recommend keeping the total number of learnings under 500 per agent.

    Emails

    Kognitos supports sending and receiving emails with attachments up to 20 MB. Outgoing emails with oversized attachments are handled using download links. These limits apply only to native email functionality and not to Books (e.g., Outlook, Gmail).

    Parameter
    Supported Capacity

    Email Size

    20 MB (including attachments)

    For larger input files, use the REST API to trigger new runs.

    Files

    The platform supports uploading and processing the following file types:

    File Type
    Extensions
    Supported Capacity

    PDF

    .pdf

    1 GB

    Images

    .jpeg, .jpg, .png, .tif, .tiff

    1 GB

    Data

    .txt, .yml, .yaml, .csv

    1 GB

    Documents

    .docx, .doc

    Extraction from Documents

    When extracting data or tables from documents using LLMs, the maximum supported document size depends on the model provider:

    Provider
    Supported Capacity

    Gemini

    50 MB (per document)

    OpenAI

    512 MB (per document)

    Note: Standard file upload limits still apply.

    For large documents, consider processing them in smaller chunks (e.g., 50-100 pages at a time) to improve performance and reliability. You can use subdocument extraction to split documents into manageable sections.

    Department Boxes

    Store structured information at scale with capacities designed for fast retrieval and updates.

    Parameter
    Supported Capacity

    Entries

    150,000 (per department box)


    Frequently Asked Questions

    1. What if I need more capacity?

    These capacities reflect current performance levels and will continue to expand as the platform grows. If your workload requires higher limits, please reach out to our support team via in-app chat (preferred) or email us at [email protected].

    2. What's the difference between agents and automations?

    Agents are dedicated execution environments that contain and manage your automations. Each agent is dedicated to your organization, with its own skills and settings, and can hold multiple automations.

    Automations are sets of instructions that tell Kognitos what to do — process data, work with documents, send emails, call other processes, and more. These are workflows that can take the form of an early idea (playground) or a complete process. Both playgrounds and processes are considered automations.

    3. What happens if I exceed the recommended number of agents, playgrounds, or processes?

    The optimal capacity recommendations (100 agents, 200 playgrounds, 200 processes) are guidelines, not hard limits. You can create unlimited agents, playgrounds, and processes. However, exceeding these recommendations may slow down the user interface, causing delays when loading dashboards, navigating lists, or accessing settings. For the best experience, we recommend staying within these ranges.

    4. What's the difference between concurrent, parallel, and test suite runs?

    Concurrent runs refer to the total number of active runs across your entire organization. You can run the same process multiple times, and each run counts as one concurrent slot.

    Example: With a 150 concurrent run limit, you could run the same process 150 times, or 75 runs each of two different processes, or any other combination up to 150 total running instances.

    Parallel runs refer to child processes that a single automation spawns to execute simultaneously. One parent process can spawn up to 50 parallel children at once. These parallel runs count toward your concurrent run capacity.

    Example: If one process spawns 50 parallel children, it uses 51 concurrent slots (1 parent + 50 children).

    Test suite runs are special runs used to validate process changes by comparing results against expected outcomes. You can run up to 40 test runs simultaneously. Test suite runs also count toward the concurrent run capacity.

    5. What types of runs count toward the concurrent run capacity?

    Only active runs count toward the concurrent run capacity. Process runs do NOT count when:

    • Waiting for user input (exceptions)

    • Waiting to retry after an error

    • Completed (successfully, failed, or stopped)

    When a process pauses for user input, it releases capacity for other processes to run.

    6. Does it matter how I start a run for it to count toward the capacity limit?

    No. All runs count toward the run limit regardless of how they're started — whether triggered manually, via API, by email, or on a schedule.

    7. What happens when I reach the concurrent run limit?

    When you reach the capacity limit for concurrent runs:

    • API calls to trigger new runs may return 403 errors or "Resource Not Available" messages

    • Process crashes may occur and require reruns or retries

    • Processes beyond the capacity threshold may experience failures

    8. Can I retry a process that was rejected due to exceeding capacity?

    Yes. If a process is rejected due to exceeding capacity, you can retry it once capacity becomes available. We recommend staying within the capacity thresholds to prevent unexpected behavior.

    9. Are API requests limited?

    Yes, API endpoints all share the same rate limit pool, including both trigger and query operations (such as status checks). Rate limits differ by region. To check your rate limits, go to API Keys → click on the menu (⋮) to the right of an API key → Usage.

    Agents (per organization)

    Up to 100 agents

    use "11-05-2024" as the registration date
    use the last name as the order name
    the last name is "Smith"
    use the last name as the order name
    the last name is "Smith-Brown"
    the order name
    the order total is 150
    the invoice total is the above
    the file is the above
    Extract the date in YYYY-MM-DD format.
    Return the amount with two decimal places.

    1 GB

    HTML

    .html, .htm

    1 GB

    Email

    .eml, .msg

    1 GB

    ERP

    .edi

    1 GB

    Media

    .wav, .mp3, .mp4, .mov, .avi

    1 GB

    Other

    .ttf

    1 GB

    Excel

    .xlsx, .xls, .xlsb, .xlsm

    250 MB (.xlsx and .xlsm) 150 MB (.xlsb and .xls)

    JSON

    .json

    1 GB* While uploads up to 1 GB are supported, files larger than 100 KB can't be fully displayed in the interface. These can be downloaded to view the complete content locally.

    Users, Roles and Permissions

    An overview of users, roles, and permissions in Kognitos.

    Enhanced Role-Based Access Control

    This document describes our new enhanced RBAC system, which is currently being rolled out to organizations gradually. If your organization hasn't been migrated yet, see the Legacy Roles & Permissions section at the bottom of this page. Contact our support team at [email protected] or via our in-app chat (preferred) for more information.

    Overview

    Kognitos uses a role-based access control (RBAC) system to manage who can access your automations and what actions they can perform. Roles can be assigned at two levels: organization-wide, which grants access and permissions across all agents in the organization, or agent-specific, which limits access and permissions to individual agents.

    User Management

    A user in Kognitos is an individual who is a member of an organization and has been granted access to interact with the platform. Users are assigned specific roles that determine their permissions and what actions they can perform.

    To manage an agent's users, click on the user icon (👤) in the top-right → Users.

    Only , , and can add, edit, or remove users.

    Adding Users

    To add a new user, click on the user icon (👤) in the top-right → Users → Invite User. Select the user's role and enter their email address. They will receive an email invitation to join your agent.

    Editing & Removing Users

    To change a user's role or remove a user, click on the user icon in the top-right 👤 → Users. Then click on the menu (⋮) next to a user and select either Change Role or Remove from Agent.

    Roles & Permissions

    Organization-Level Roles

    Organization-level roles provide broad access across all agents in an organization. These roles are designed for executives, administrators, and support personnel who need organization-wide visibility and control for management, oversight, and troubleshooting.

    1. Organization Owner

    An Organization Owner has complete administrative control over the entire organization and all its agents. This person can perform all actions across the organization, including creating the first agent and managing agents, users, processes, connections, and integrations.

    This role is automatically assigned to whoever owns the organization and cannot be manually assigned to other users. However, ownership can be by either the current owner or the Kognitos support team.

    2. Support

    The Support role provides near-complete administrative access for troubleshooting and managing your organization. Users with this role have the same permissions as Organization Owners, with one exception: they cannot create new agents. This ensures support personnel can assist with configuration, user management, process debugging, and operational issues without modifying the organization's agent structure.

    3. CXO

    An CXO has high-level oversight across the organization with read-only access to analytics, metrics, and dashboards. This role is designed for those who need visibility into organizational performance, rather than operational access.

    Organization-Level Permissions

    Permission
    Org Owner
    Support
    CXO

    Agent-Level Roles

    Agent-level roles are scoped to individual agents. Unlike organization-level roles that span the entire organization, users within an agent can have different roles based on their responsibilities in the automation workflow.

    1. Admin

    An Admin has complete control within an agent. This role can manage all aspects of the agent, making them responsible for overall administration and configuration.

    2. Author

    An Author focuses on developing and testing automations within their agent. This role can create, edit, and test automations, manage integrations, and work with learnings, but cannot publish processes, create or update credentials, or access dashboards and API keys.

    3. Operator

    An Operator can run and monitor automation processes. This role is focused on day-to-day execution, resolving exceptions, and managing learnings without the ability to modify the processes themselves.

    4. Integrator

    An Integrator manages connections, credentials, and integrations within their agent. This role has no access to processes, runs, dashboards, or learnings, ensuring clear separation between integration management and process execution.

    Agent-Level Permissions

    Permission
    Admin
    Author
    Operator
    Integrator

    Organization Ownership Transfer

    Organization ownership can be transferred to another user when needed, such as during personnel changes or organizational restructuring. Transfers can be initiated by either the current Organization Owner or requested through the Kognitos support team. When ownership is transferred, the previous owner is automatically assigned the Admin role across all agents in the organization, ensuring continuity while transitioning control to the new owner.

    Legacy Roles & Permissions

    This section describes the legacy role system that is being phased out. If your organization has been migrated to the new RBAC system, refer to the section above.

    The legacy system used a simplified two-role model at the agent level: Admin and Member. Admins had full control over the agent, while Members could draft automations, run processes, and handle exceptions, but had limited access to administrative functions.

    Role Comparison

    Capability
    Admin
    Member

    Delete Agents

    ✅

    ✅

    ❌

    Manage Users (Add, Edit, Remove)

    ✅

    ✅

    ✅

    Manage Connections (Add, Edit, Remove)

    ✅

    ✅

    ❌

    Manage Books (Add, Edit, Remove)

    ✅

    ✅

    ❌

    Manage Playgrounds (Create, Edit, Delete)

    ✅

    ✅

    ❌

    View Processes

    ✅

    ✅

    ✅

    Manage Processes (Create, Delete, Edit)

    ✅

    ✅

    ❌

    Manage Runs (View, Start, Edit, Archive)

    ✅

    ✅

    ❌

    Manage Exceptions (View, Resolve)

    ✅

    ✅

    ❌

    Manage Learnings (Create, Edit, Delete)

    ✅

    ✅

    ❌

    View Dashboard

    ✅

    ✅

    ✅

    Manage ROI Goals

    ✅

    ✅

    ✅

    Manage Agent-Level API Keys (View, Add, Edit, Remove)

    ✅

    ✅

    ❌

    Manage Org-Level API Keys (View, Add, Edit, Remove)

    ✅

    ❌

    ❌

    ✅

    ❌

    ❌

    ✅

    View Connections

    ✅

    ✅

    ✅

    ✅

    Manage Connections (Add, Edit, Remove)

    ✅

    ❌

    ❌

    ✅

    Manage Books (Add, Edit, Remove)

    ✅

    ✅

    ❌

    ✅

    View/Create Playgrounds

    ✅

    ✅

    ✅

    ❌

    Edit/Delete Playgrounds

    ✅

    ✅

    ❌

    ❌

    View Processes

    ✅

    ✅

    ✅

    ❌

    Manage Processes (Create, Edit, Delete)

    ✅

    ✅

    ❌

    ❌

    View Runs

    ✅

    ✅

    ✅

    ❌

    Start Runs

    ✅

    ✅

    ✅

    ❌

    Edit Runs

    ✅

    ✅

    ❌

    ❌

    Archive Draft Runs

    ✅

    ✅

    ✅

    ❌

    Archive Published Runs

    ✅

    ❌

    ✅

    ❌

    Manage Exceptions (View, Resolve)

    ✅

    ✅

    ✅

    ❌

    Manage Learnings (Create, Edit, Delete)

    ✅

    ✅

    ✅

    ❌

    Manage Test Suites (Add, Edit)

    ✅

    ❌

    ✅

    ❌

    View Dashboard

    ✅

    ❌

    ❌

    ❌

    Manage Agent-Level API Keys (View, Add, Edit, Remove)

    ✅

    ❌

    ❌

    ✅

    Manage Org-Level API Keys (View, Add, Edit, Remove)

    ❌

    ❌

    ❌

    ❌

    Learnings

    View, create, edit, delete

    View-only

    Processes

    View, create, edit, delete, activate, deactivate, duplicate

    View-only

    Process Versions

    View and restore process versions

    View-only

    Agent Management

    Publish, export, import

    Export, import (into new agents only)

    Preferences

    Enable beta features in user settings

    Cannot update preferences

    View Agents

    ✅

    ✅

    ✅

    Create Agents

    ✅

    ❌

    ❌

    Edit Agents

    ✅

    ✅

    Edit/Delete Agent

    ✅

    ❌

    ❌

    ❌

    Manage Users (Add, Edit, Remove)

    ✅

    ❌

    ❌

    ❌

    Users

    Can add new users to an Agent

    Cannot add new users to an Agent

    Playgrounds

    View, create, edit, delete, configure routing

    View, create, edit, delete

    Exceptions

    View, handle, archive

    View, handle, archive

    Books

    View, learn, edit, delete

    View-only

    Organization Owners
    CXOs
    Admins
    transferred
    Roles & Permissions

    ❌

    Manage API Keys (View, Add, Edit, Remove)

    create a table
    extract data
    column formula
    Browser Use
    Microsoft Outlook Book (BDK)
    send emails