> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dogebot.net/llms.txt
> Use this file to discover all available pages before exploring further.

# How blocks work

> The board, the blocks, the lines and every button.

Every builder in DogeBot works the same way: the Command Builder, the Event Builder and the WhatsApp flow builder. Learn it once and you can use them all.

![The DogeBot builder with blocks on the board](https://mintcdn.com/doge-bot/0C6-zgXTpDx1QOCe/images/guide/builder-command.png?fit=max\&auto=format\&n=0C6-zgXTpDx1QOCe\&q=85\&s=b7568b03c11d216dd65caf823f2b7d7a)

## The parts of the builder

| Part | Where | What it does |
| - | - | - |
| **Side bar** | Far left, thin | Buttons that open panels: blocks, Timed Events, Variables, Error Logs, Commands, Templates and Secrets. |
| **Block list** | Left, next to the side bar | All the blocks you can use, in tabs, with a search box. |
| **Board** | Middle | The big dotted area where you place your blocks. |
| **Settings** | Right | When you press a block, its settings open here. |
| **Top bar** | Top | Problems, history, Find a block, Builder Settings and Save. |
| **Replays** | Under the board | Recordings of your command running. See [Saving and fixing problems](/building-with-blocks/saving-and-fixing-problems). |

## The side bar panels

> **Blocks**
>
> The block list.

> **Timed Events**
>
> Make alarm clocks that start events. See [Timed events](/building-with-blocks/timed-events).

> **Variables**
>
> See your variables and make new ones without leaving the builder. See [Make a variable](/variables/make-your-own-variables).
>
> ![The Variables panel in the builder](https://mintcdn.com/doge-bot/0C6-zgXTpDx1QOCe/images/guide/builder-variables.png?fit=max\&auto=format\&n=0C6-zgXTpDx1QOCe\&q=85\&s=99c1f429c4097e276f4c33574d6e08c2)

> **Error Logs**
>
> Problems from real runs of this bot.

> **Commands**
>
> Jump to your other commands or events.

> **Templates**
>
> Ready-made sets of blocks to start from.

> **Secrets**
>
> Passwords and keys you can use in blocks. See [Secrets](/connections/secrets).

The close button hides the open panel so you have more room.

## Blocks come in groups

In the block list, the blocks sit in tabs:

> **Inputs**
>
> Boxes the person fills in when they use a slash command, like picking a member or typing a number. Only **slash commands** have Inputs.

> **Steps**
>
> Blocks that **do** something, like send a message, give a role or save a value.

> **Checks**
>
> Blocks that **ask a question** and go one way or the other, like "does this person have the Moderator role?".

Right-click commands and the Event Builder only show **Steps** and **Checks**.

## What a block looks like

Every block has a **white icon**, a **name**, a short line about what it does and a small **pill** that tells you what kind of block it is: **Action**, **Condition**, **Event** or **Slash command**.

Blocks can also show a little tag:

| Tag | What it means |
| - | - |
| **Heads up** | The builder thinks this block will fail when it runs, for example because a setting is missing. Press it to see why. |
| **Error** | This block failed in a real run. It gets a dashed outline. Press it to see what went wrong. |

## Placing and joining blocks

**1. Drag a block in**

Drag a block from the list and drop it on the board. Or press the round gold **+** button and pick one.

**2. Join it with a line**

Blocks have round, hollow **dots**. Drag from the **bottom dot** of one block to the **top dot** of the next. Your bot always follows the lines, from top to bottom.

You can also press the dashed **+** circle under a block to add the next block already joined.

**3. Remove a line**

Every line has a small round **×** button. Press it to remove the line.

**4. Edit a block**

Press a block. A **gold ring** appears around it, so you know which one you are editing, and its settings open on the right. Some blocks also let you type straight into the block itself.

> **Example: two blocks in a line**
>
> `/ping` (the command block) → **Reply** with `Pong!`
>
> Someone types `/ping`. The bot follows the line to the Reply block and answers **Pong!**

## Ways out of a block

* **Checks** have two ways out: one for **yes** and one for **no**. See [Checks and paths](/building-with-blocks/checks-and-paths).
* Many action blocks can also show a **green** path (it worked) and a **red** path (it failed). See [Saving and fixing problems](/building-with-blocks/saving-and-fixing-problems).

## Notes

Add a **Note** block to write reminders for yourself or your team, like "this part gives the daily coins". Notes do nothing in Discord. You can pick a colour and an icon for each note.

## Learn more

> **[Your first command](/building-with-blocks/your-first-command)**
>
> Try it yourself with a /ping command.

> **[Tips and shortcuts](/building-with-blocks/tips-and-shortcuts)**
>
> The top bar, moving around the board, and builder settings.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.