# Trello

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

## Overview

Trello is a visual project management tool that uses boards, lists, and cards to organize tasks and projects. This integration allows automated card creation, board management, team assignments, and project tracking workflows. Simplify project organization and enhance team collaboration.

## 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:

* **Trello**

#### 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 api key and token

Connects to the Trello Client using the provided client credentials.

| Label   | Description                                    | Type        |
| ------- | ---------------------------------------------- | ----------- |
| api key | The API key from your Trello Power-Up          | `text`      |
| token   | The generated token from your Trello Power-Ups | `sensitive` |

## Procedures

### to create a card in trello list

Creates a new card in a list.

**Input Concepts**

| Concept                       | Description                         | Type          | Required | Default Value |
| ----------------------------- | ----------------------------------- | ------------- | -------- | ------------- |
| [`trello list`](#trello-list) | A Trello list to create the card in | `trello list` | Yes      | (no default)  |
| [`card`](#trello-card)        | The new card                        | `trello card` | Yes      | (no default)  |

**Output Concepts**

| Concept                  | Description      | Type          |
| ------------------------ | ---------------- | ------------- |
| [`answer`](#trello-card) | the created card | `trello card` |

**Examples**

Create a new card in a list

```generic
...
get some lists from the board
get the first list from lists
use the above as the todo
>>>
create a json
use the above as the card
set the card's name to "A very cool card name"
set the card's description to "A very cool card description"
>>>
create the card in the todo
```

### to get some (board's lists)

Gets all lists from a board.

**Input Concepts**

| Concept                  | Description                        | Type           | Required | Default Value |
| ------------------------ | ---------------------------------- | -------------- | -------- | ------------- |
| [`board`](#trello-board) | The Trello board to get lists from | `trello board` | Yes      | (no default)  |

**Output Concepts**

| Concept                         | Description                  | Type          |
| ------------------------------- | ---------------------------- | ------------- |
| [`board's lists`](#trello-list) | a list of lists in the board | `trello list` |

**Examples**

Get all lists from a board

```generic
get a board whose name is "Kognitos"
get some lists from the board
```

### to get some (boards)

![FILTER - CAPABLE](https://img.shields.io/static/v1?label=FILTER\&message=CAPABLE\&color=blue)

Gets all boards from your Trello account.

**Output Concepts**

| Concept                   | Description             | Type           |
| ------------------------- | ----------------------- | -------------- |
| [`boards`](#trello-board) | A list of Trello boards | `trello board` |

**Examples**

Get all boards

```generic
get some boards
```

Get a board by name

```generic
get a board whose name is "Kognitos"
```

### to move a card to a trello list

Updates a card in a list.

**Input Concepts**

| Concept                       | Description                                     | Type          | Required | Default Value |
| ----------------------------- | ----------------------------------------------- | ------------- | -------- | ------------- |
| [`trello list`](#trello-list) | The destination Trello list to move the card to | `trello list` | Yes      | (no default)  |
| [`card`](#trello-card)        | The Trello card to be moved                     | `trello card` | Yes      | (no default)  |

**Output Concepts**

| Concept                  | Description    | Type          |
| ------------------------ | -------------- | ------------- |
| [`answer`](#trello-card) | the moved card | `trello card` |

**Examples**

Create a card and move it to another list

```generic
...
get some lists from the board
get the first list from lists
use the above as the todo
>>>
create a json
use the above as the card
set the card's name to "A very cool card name"
set the card's description to "A very cool card description"
>>>
create the card in the todo
>>>
get the second list from lists
use the above as the in progress
>>>
move the card to the in progress
```

## Concepts

### Trello list

Lists are used to organize cards (individual tasks or pieces of information) within a board.

| Field Name | Description          | Type   |
| ---------- | -------------------- | ------ |
| `id`       | The id of the list   | `text` |
| `name`     | The name of the list | `text` |

### Trello card

Cards represent individual tasks or items of information and can include details like descriptions, due dates, labels, and attachments to help organize and track work.

| Field Name    | Description                            | Type             |
| ------------- | -------------------------------------- | ---------------- |
| `id`          | The id of the card                     | `optional[text]` |
| `name`        | The name of the card                   | `text`           |
| `description` | The description of the card            | `optional[text]` |
| `short_url`   | The short URL of the card              | `optional[text]` |
| `list_id`     | The id of the list the card belongs to | `optional[text]` |

### Trello board

A board is a workspace for organizing and tracking tasks, projects, and information in Trello.

| Field Name | Description           | Type             |
| ---------- | --------------------- | ---------------- |
| `id`       | The id of the board   | `optional[text]` |
| `name`     | The name of the board | `text`           |
