# Kognitos Meta

{% hint style="info" %}
The following documentation is for **Kognitos Meta v1.0.4** *(BDK)*.
{% endhint %}

## Overview

Kognitos Meta is an intelligent automation book that executes actions based on natural language prompts using Large Language Models (LLMs). This dynamic integration can generate and execute Python code to fulfill complex automation requests that go beyond standard book capabilities.

## Prerequisites

### 1. Required Books

The following Book(s) need to be added to your agent so it can learn and understand the automation procedures defined within them:

* **Kognitos Meta**

#### How to Add the Book(s)

1. Go to **Books** → **All Books**.
2. Search for the name of the book and click on it.
3. Click on <kbd>**Install**</kbd> or <kbd>**Add Connection**</kbd> to add the book to your agent.
4. If adding a connection, you'll be prompted for [**connectivity**](#connectivity) details.

## Connectivity

This section outlines the available methods for connecting to the Book, along with the required configuration details for each.

### Connect using Gemini API Key, Credential, AWS Access Key ID, AWS Secret Access Key, AWS Region and AWS Bucket Name

Connects to an API using the provided API key.

| Label                 | Description                                                                                                                                     | Type        |
| --------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | ----------- |
| Gemini API Key        | The Gemini API key to be used for connecting to LLM                                                                                             | `sensitive` |
| Credential            | The credentials to be used for connecting to the external API. This has to be a JSON String. If no credentials are required, fill in with '{}'. | `sensitive` |
| AWS Access Key ID     | The AWS access key id to be used for connecting to the external API.                                                                            | `text`      |
| AWS Secret Access Key | The AWS secret access key to be used for connecting to the external API.                                                                        | `sensitive` |
| AWS Region            | The AWS region to be used for connecting to the external API.                                                                                   | `text`      |
| AWS Bucket Name       | The AWS bucket name to be used for connecting to the external API.                                                                              | `text`      |

### Configuration

The following table details all the available configuration options for this book.

| Concept          | Description                                            | Type   | Default Value           |
| ---------------- | ------------------------------------------------------ | ------ | ----------------------- |
| `cache prefix`   | The prefix to be used for the cache keys.              | `text` | metabook                |
| `department id`  | The kognitos department id.                            | `text` | (no default)            |
| `llm model name` | The LLM model name to be used for the code generation. | `text` | gemini/gemini-2.0-flash |

Configuration can be set or retrieved as shown in the following examples:

```generic
the department's Kognitos Meta's cache prefix is metabook
```

```generic
the department's Kognitos Meta's llm model name is gemini/gemini-2.0-flash
```

## Procedures

### to perform a task

Performs a task based on the prompt and payload.

**Input Concepts**

| Concept   | Description                      | Type   | Required | Default Value |
| --------- | -------------------------------- | ------ | -------- | ------------- |
| `task`    | The task to perform.             | `text` | Yes      | (no default)  |
| `payload` | The payload to perform the task. | `json` | No       | (no default)  |

**Output Concepts**

| Concept  | Description            | Type                                 |
| -------- | ---------------------- | ------------------------------------ |
| `answer` | The result of the task | \`\` or `file` or `number` or `text` |

**Examples**

```generic
the task is "get the current temperature in Celsius"
create a json
use the above as the payload
set the payload's "city" to "Buenos Aires"
perform the task
   the payload is the payload
```
