> For the complete documentation index, see [llms.txt](https://help.minecraftbot.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.minecraftbot.com/macros/macro-introduction.md).

# Macro Introduction

<figure><img src="/files/KRXBOdDW8f1DBVDLCn6t" alt=""><figcaption><p>Sample kit drop macro creation</p></figcaption></figure>

### What are macros, and how to make them?

<details>

<summary>1.0 What are macros?</summary>

Our macro system allows you to create advanced automations without any coding requirements, by using a drag-and-drop editor.

These macros can then be ran on a bot or a group of bots at any point in the future.

</details>

<details>

<summary>1.1 How to create a new macro?</summary>

Firstly we need to open the macro editor. You can open a new macro editor by clicking on the Macros page, and then clicking "Open Macro Builder":

![](/files/OxF29EnaQpiJwND9xJtK)

In the Macro Builder window, you can now drag and drop components that you want to run, and create connections between them. The macro will always start at the "Macro Entry Point" component, from which you should create a connection to your first component in your macro.

Once you are done building your macro, you can save it by clicking the Save button at the top, or by using the `CTRL + S` shortcut. This will create a new instance of your macro, which you can see on the macros page:

![](/files/TVujBgmki3VOzwr50go8)

*Note: you can then edit this macro instance, or create copies of it by expanding (the above seen) instance, and clicking the "Edit Macro" button.*

</details>

<details>

<summary>1.2 How do I run the macro?</summary>

To run a macro, you must select the bots that it will run on, which can be done in the "Run On" dropdown:\ <img src="/files/PjYfu556ViAeWBiCj1yH" alt="" data-size="original">

Once the bots that will run the macro are executed, you can then click the "Resume" button:\
![](/files/vDN6HxS8eFjjzTTV7AWR)

*Note: you can then stop, the macro by clicking the "Pause" button, which will appear instead of the "Resume" button while the macro is active.*

*Note: macros that are enabled will automatically start on selected bots, once the bot joins a server.*

</details>

<details>

<summary>1.3 How do I know if the macro is working?</summary>

Once the macro is active, and the macro instance is expanded, a panel will popup that will show the macro's status for each bot:\
![](/files/RmKe43tNqKdN3tILWeev)<br>

These statuses include delays between components, the currently ran component, which component the macro stopped at, and when will the macro be restarted.

</details>

### Advanced macro features

<details>

<summary>2.1 Macro variables</summary>

Macro variables can be defined in the Macro's Settings dropdown (top middle panel). These variables can then be quickly changes from the macro instance view (without opening the editor):\
![](/files/byOiPJb7obDz7kuEUTl7)

These variables can then be linked to macro component variables, by clicking the chain icon (<img src="/files/s6TsewZP0KgZTfPe8sH4" alt="" data-size="line">).

</details>

<details>

<summary>2.2 Macro event components</summary>

In the event category, you can find macro components that are event based. This means that you do not have to connect anything to this component for it to start waiting for events. These events get registered at the same time as the Macro Entry Point, and will wait until an event occurs, and then it will call it's Output.

Macro event listening gets paused while it's Output is actively running, \
i.e.: <mark style="color:blue;">Damage Received Event -> Chat -> Wait (for 5 seconds) -> Chat</mark> will pause the Damage Received Event listening for 5 seconds, until it completes, and then listening will resume.

</details>

{% content-ref url="/pages/m5NFdWz7RRGpwNaLhelT" %}
[Macro Shortcuts](/macros/macro-introduction/macro-shortcuts.md)
{% endcontent-ref %}

{% content-ref url="/pages/l1Znj68m8BpOpMdnv2GV" %}
[Macro Tips](/macros/macro-introduction/macro-tips.md)
{% endcontent-ref %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://help.minecraftbot.com/macros/macro-introduction.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
