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

# Bot Builder

> Bot Builder is the visual canvas where you configure how your chatbots and AI agents interact with your users. You can build and customize the conversational flow with great flexibility to cater all your scenarios.

# Interface overview

![Image](https://mintcdn.com/wotnot/zc_a16P1uDjl42Rz/images/image-229.png?fit=max\&auto=format\&n=zc_a16P1uDjl42Rz\&q=85\&s=78ba17ba55cd295a24bd9377d10e9284)

The Bot Builder is made up of several areas that help you build, configure, test, and publish your bot.

| **Area** | **What it does** |
| :-: | :-: |
| **Block panel** | Contains the action blocks you can add to your bot. Blocks represent individual actions such as sending a message, collecting input, using an AI Agent, adding conditions, or calling an API. |
| **Canvas** | The central workspace where you visually build your conversation flow. Add, position, and connect blocks to define how the bot behaves. |
| **Top bar** | Provides controls for navigating and managing the bot, including access to different flows and builder-level actions. |
| **Test** | Lets you test the bot and interact with the conversation flow before publishing. |
| **Publish** | Publishes the configured bot so the latest version can be used by visitors. |

When you select an action block on the canvas, its configuration appears in the **Action Panel**. Use this panel to configure the selected block's content, conditions, API settings, or other options.

# Canvas

The canvas is where you build the conversation flow by adding, arranging, and connecting action blocks.

![Image](https://mintcdn.com/wotnot/zc_a16P1uDjl42Rz/images/image-231.png?fit=max\&auto=format\&n=zc_a16P1uDjl42Rz\&q=85\&s=e6793b3b90f35dc2bc689334ddf5b52b)

## Adding Blocks

Add blocks to the canvas to define what your bot should do at each stage of the conversation.

1. Open the Bot Builder.
2. Click **+** to open the block list and choose the action you want to add to your flow.
3. Select the block from the dropdown.
4. Drop it at the position where you want it in the flow.
5. Select the block to open its configuration panel.

![Image](https://mintcdn.com/wotnot/9dFb9jDqAX6_tYFX/images/image-325.png?fit=max\&auto=format\&n=9dFb9jDqAX6_tYFX\&q=85\&s=6e8653af1b3ff5c2c9a515d2cf592a95)

## Configuring Blocks

1. Select the block on the canvas.
2. Configure its settings in the right-hand action panel.
3. Add the required content, conditions, variables, or integrations.
4. Save the configuration if required.
5. Connect the block to the next step in the flow.

> [!NOTE]
>
> **The available configuration depends on the block, as each block has its own set of configurations.**

Send message:

![Image](https://mintcdn.com/wotnot/9dFb9jDqAX6_tYFX/images/image-326.png?fit=max\&auto=format\&n=9dFb9jDqAX6_tYFX\&q=85\&s=7d7d262f20b3453d00ce87f97b96c33e)

Button:

![Image](https://mintcdn.com/wotnot/9dFb9jDqAX6_tYFX/images/image-327.png?fit=max\&auto=format\&n=9dFb9jDqAX6_tYFX\&q=85\&s=2281dc148db6abb6de89c8b9366b2a8b)

## Actions you can perform

Once blocks are on the canvas, you can manage them and build the conversation logic around them.

> [tab] Select a block
>
> Click a block to select it and open its configuration in the action panel.
>
> ![Image](https://mintcdn.com/wotnot/9dFb9jDqAX6_tYFX/images/image-328.png?fit=max\&auto=format\&n=9dFb9jDqAX6_tYFX\&q=85\&s=c6197d89190ce3cdc01c9761afa3344b)

> [tab] Move a block
>
> Drag a selected block to a new position on the canvas. Reposition blocks as your flow grows to keep related actions together.
>
> <video src="https://mintcdn.com/wotnot/pHom7M9wcFuFV7uH/videos/f3432b41-8eb2-4aff-95c0-4cd8767592c7_compressed.mp4?fit=max&auto=format&n=pHom7M9wcFuFV7uH&q=85&s=e22fdfaeae5ca2f6c0b4b4739a4bf602" controls />

> [tab] Select multiple blocks
>
> * You can select multiple blocks together by holding Shift and left-clicking (using your mouse) on the blocks you want to work with.
> * This is useful when you need to remove a group of blocks or organize part of a flow.
>
> ![Recording 2026 08 17 165619](https://mintcdn.com/wotnot/U-7FfmJOCeYvTynD/images/Recording-2026-08-17-165619.gif?s=a5a25c924f37a7293975b3bec4ac5e95)

> [tab] Delete a block
>
> Select the block you want to remove and use the delete action.
>
> You can also delete a block by selecting it and clicking the **Delete icon**.
>
> ![Image (10)](https://mintcdn.com/wotnot/U-7FfmJOCeYvTynD/images/image-\(10\).png?fit=max\&auto=format\&n=U-7FfmJOCeYvTynD\&q=85\&s=ca787badf5ab57ef481bbf42cd8bc2da)
>
> Before deleting a block, check its connections because removing a block can disconnect the surrounding flow.

> [tab] Connect blocks
>
> Connections determine the order in which your bot moves from one action to another. A block's output connects to the input of the next block in the flow.
>
> * Add the first block where you want the flow to begin.
> * Place the next block on the canvas where you want the flow to continue.
> * Select the **output port** of the first block and connect it to the **input port** of the next block.
> * For blocks with multiple outputs, connect each output to the block that should execute for that specific condition or response.
>
> ![Recording 2026 08 17 164900](https://mintcdn.com/wotnot/U-7FfmJOCeYvTynD/images/Recording-2026-08-17-164900.gif?s=e2e0cd08736616d867024d05654c6f06)
>
> Blocks such as **Buttons** and **Condition** can create multiple paths. Each output can be connected to a different block so that the conversation follows a different route depending on the user's selection or the condition result.
>
> To remove a connection, select the connection between the blocks and delete it.
>
> ![Image (12)](https://mintcdn.com/wotnot/U-7FfmJOCeYvTynD/images/image-\(12\).png?fit=max\&auto=format\&n=U-7FfmJOCeYvTynD\&q=85\&s=f6f8c76d2d19d61c3e06cefcb6549b18)
>
> > [!CAUTION]
> >
> > An unconnected block cannot be reached through the flow. If the bot reaches the end of a connected path without another block to continue to, the conversation ends there. Always check that every required output is connected to the intended next action.

> [tab] Copy block
>
> The **Copy Bot** option allows you to create a duplicate of an existing bot and use it as a starting point for a new bot.
>
> * Select the bot you want to copy.
> * Click **Copy Bot** to create a duplicate of the selected bot.
> * The copied bot retains the existing bot flow, blocks, configurations, and settings.
> * You can modify the copied bot independently without affecting the original bot.
> * Use this option when you want to create a new bot with a similar flow or configuration without building it from scratch.
> * Change the bot name, as duplicate bot names are not allowed.
>
> ![Recording 2026 08 17 164413](https://mintcdn.com/wotnot/U-7FfmJOCeYvTynD/images/Recording-2026-08-17-164413.gif?s=48a8750bbf90d444fc4d3309c282682e)

> [tab] Clone block
>
> The **Clone** option creates a duplicate of an existing bot or flow, allowing you to reuse the same configuration without building it from scratch.
>
> * Creates a copy of the selected bot with its existing blocks and flow structure.
> * The cloned bot can be edited independently without affecting the original bot.
> * Useful when you want to create a similar bot for another use case while keeping the original unchanged.
>
> ![Recording 2026 08 17 162713](https://mintcdn.com/wotnot/U-7FfmJOCeYvTynD/images/Recording-2026-08-17-162713.gif?s=798a855a077c4cb89f5ae79f885ac22f)

> [!TIP]
>
> For large bots, arrange your flow from top to bottom and keep related blocks together. A consistent layout makes complex flows easier to read, troubleshoot, and maintain.

## Creating a loop

Loops are useful when a conversation needs to return to an earlier part of the flow, such as retrying invalid input or showing a menu again.

To create a loop:

* Add the blocks that should handle the first attempt, such as a message followed by a **Collect Input** block.
* Add a **Condition** block to check whether the user's input meets the required criteria.
* Connect the unsuccessful condition path to a message explaining what the user should do, then connect it to a **Jump** block.
* Configure the **Jump** block to return the conversation to the block where the process should start again.
* Connect the successful condition path to the next part of the conversation so the user can exit the loop.

A common pattern is to use **Condition** to check whether the input is valid and **Jump** to return the conversation to an earlier block when it is not.

i.e. If **Branch 2** fails because the mobile number is empty, the flow follows the **Jump** path and returns to the **Collect Input** block, prompting the user to provide their mobile number again.

![Download (1) 2](https://mintcdn.com/wotnot/U-7FfmJOCeYvTynD/images/download-\(1\)-2.png?fit=max\&auto=format\&n=U-7FfmJOCeYvTynD\&q=85\&s=210c79644781e90db15ab127b6c5043b)

> [!WARNING]
>
> Always include an exit branch when creating a loop. A loop without a valid exit condition can cause the conversation to repeat indefinitely and prevent the user from progressing through the bot.

## Breaking a bot into flows

Large bots can become difficult to manage when every conversation path is built on a single canvas. The **Flow** **block** lets you split a large bot into smaller, manageable flows.

Instead of keeping every conversation path on one canvas, group related logic into separate flows. This makes large bots easier to build, maintain, and navigate.

Use separate flows when:

* A topic has a large number of connected blocks.
* A stage of the conversation has its own logic.
* A section is reused or maintained independently.
* Different team members work on different parts of the bot.

![Download (2) 2](https://mintcdn.com/wotnot/U-7FfmJOCeYvTynD/images/download-\(2\)-2.png?fit=max\&auto=format\&n=U-7FfmJOCeYvTynD\&q=85\&s=cd50982fb2de32ceacd4873c656b3b95)

> [!TIP]
>
> Use a consistent naming convention such as **Sales**, **Support**, **Product Information**, or **Appointment Booking**. Clear names make it easier for everyone on your team to understand and navigate the bot.

# Utility Tools

The utility tools at the bottom of the canvas help you navigate and manage large flows. WotNot provides controls for search, undo/redo, zoom, recentering, and grid alignment.

![Image](https://mintcdn.com/wotnot/zc_a16P1uDjl42Rz/images/image-230.png?fit=max\&auto=format\&n=zc_a16P1uDjl42Rz\&q=85\&s=a7dba335785881781948cdb9a93be25e)

> [tab] Search
>
> Use **Search** to find a block or text within a large bot flow.
>
> Enter the text you want to find and review the matching results. Selecting a result takes you to the relevant part of the canvas, making it easier to locate a specific block without manually navigating through the entire flow.
>
> > [!TIP]
> >
> > You can also use **Ctrl + F** on your keyboard to search for a block name.
>
> ![Image](https://mintcdn.com/wotnot/pHom7M9wcFuFV7uH/images/image-384.png?fit=max\&auto=format\&n=pHom7M9wcFuFV7uH\&q=85\&s=c76d5568c39e1caab549cae65515e323)

> [tab] Auto Layout
>
> Use the rearrange or auto-arrange option to organize blocks into a cleaner layout.
>
> This is useful when your flow has grown large or when manually positioned blocks have become difficult to follow.
>
> Before rearranging a carefully positioned flow, keep in mind that automatic arrangement can change the positions you set manually. Use it when you want WotNot to prioritize a tidy layout over your existing block positions.
>
> ![Recording 2026 08 19 122016 1](https://mintcdn.com/wotnot/U-7FfmJOCeYvTynD/images/Recording-2026-08-19-122016-1.gif?s=1f2f6aad966b441ae69377f1fda63b5e)

> [tab] Decompression View
>
> Instantly re-organizes your flow into a neat, evenly-spaced layout — ideal for cleaning up large or cluttered bots in one click.
>
> Hides block descriptions and shows only titles, giving you a compact, bird's-eye view of your entire flow.
>
> ![Recording 2026 08 19 122549](https://mintcdn.com/wotnot/U-7FfmJOCeYvTynD/images/Recording-2026-08-19-122549.gif?s=c734bdda53106a534fa6961e65e265d8)

> [tab] Undo / redo
>
> Use **Undo** to reverse recent changes and **Redo** to restore an action you previously undid.
>
> These controls are useful when experimenting with your flow or when you accidentally move, edit, or remove something.
>
> For example, if you delete a block and then hit Undo to bring it back, clicking Redo would delete it again (reversing the Undo). It's the counterpart to the Undo button, typically shown as a forward-curving arrow icon (↷) right next to Undo (↶) in the toolbar.
>
> ![Recording 2026 08 19 124406](https://mintcdn.com/wotnot/kTutEiLugWzUeP70/images/Recording-2026-08-19-124406.gif?s=88687647688aa160cb2de31a72fc6ac6)

> [tab] Zoom in / out
>
> Use the zoom controls to change the level of detail shown on the canvas.
>
> * **Zoom in** to work closely with individual blocks.
> * **Zoom out** to see more of the flow at once.
> * Use **Fit to view** when you want the canvas to automatically show the relevant flow within the available workspace.
> * Use **Recenter** to bring the flow back into a convenient viewing position.
> * Zoom controls are especially useful when working with large flows where all blocks cannot be viewed comfortably at the same zoom level.
>
> <video src="https://mintcdn.com/wotnot/U1yZPVJRMYrKRfGx/videos/Screen-Recording-2026-08-19-123507.mp4?fit=max&auto=format&n=U1yZPVJRMYrKRfGx&q=85&s=ceecc2093d3b6d04bd8ce169146ecaee" controls />

> [tab] Zoom to content
>
> If your bot contains multiple bots or flows and you want to **view them together**, click this icon.
>
> ![Recording 2026 08 19 123251 Compressed](https://mintcdn.com/wotnot/kTutEiLugWzUeP70/images/Recording_2026-08-19_123251_compressed.gif?s=48a6f16d1ebe24396f5ca836ad2df7fd)

# Navigation Bar

The navigation bar provides controls for managing your bot, including importing and exporting bot configurations, testing your bot, publishing changes, and accessing version history.

## Test bot

Use **Test** to test the bot and interact with the conversation flow before publishing.

* Doing this will open a drawer from the right with your chatbot flow, allowing you to test your bot directly within the Canvas.

![Image](https://mintcdn.com/wotnot/pHom7M9wcFuFV7uH/images/image-381.png?fit=max\&auto=format\&n=pHom7M9wcFuFV7uH\&q=85\&s=d620596c1f3dd0ef53f234f60708eb96)

* You can also test the chatbot from a specific point in the flow. Hover over the Action Block you want to start from and click Test. This allows you to skip the blocks that are already working correctly and focus on testing the changes you've made.

![Image](https://mintcdn.com/wotnot/pHom7M9wcFuFV7uH/images/image-382.png?fit=max\&auto=format\&n=pHom7M9wcFuFV7uH\&q=85\&s=a6163ec4b8a2631154ca40ca4acf6047)

## Deploy bot

Use **Deploy** to publish the configured bot so the latest version can be used by visitors.

![Download](https://mintcdn.com/wotnot/U-7FfmJOCeYvTynD/images/download.gif?s=e2bff29b0961e2dea30ce5c8bb75a8d6)

## Version Control

Publishing your bot creates a version of the bot that can be used as the published version. Version history helps you keep track of previous versions and return to an earlier configuration when needed.

* Open the bot's **version history** from the Bot Builder by clicking on Bot name.
* Select a previous version to review its configuration and understand what was included in that version.
* **Preview** the selected version before deciding whether to use it again.
* Select the version you want to restore and use the **Restore** option.

![Chat GPT Image Aug 17, 2026, 01 50 02 PM](https://mintcdn.com/wotnot/U-7FfmJOCeYvTynD/images/ChatGPT-Image-Aug-17,-2026,-01_50_02-PM.png?fit=max\&auto=format\&n=U-7FfmJOCeYvTynD\&q=85\&s=b197bfe1c1009d8b07b7e210efc566b9)

> [!NOTE]
>
> Restoring a version affects the bot configuration you are working with. Review the restored version before publishing it to make sure the correct version is live. A restored version should not be treated as an automatic change to the currently live bot until it is published.

## Duplicating a bot

You can clone a deployed bot when you want to reuse an existing bot instead of building the same flow again. WotNot supports cloning a bot from one channel to another.

* Go to **Bot Builder** and find the bot you want to duplicate.
* Hover over the bot and click **Menu** to view the available actions.
* Click **Clone** and select the channel for the copied bot.
* Open the copied bot and review its configuration before making any changes.

![Screenshot 2026 08 13 134758](https://mintcdn.com/wotnot/U-7FfmJOCeYvTynD/images/Screenshot-2026-08-13-134758.png?fit=max\&auto=format\&n=U-7FfmJOCeYvTynD\&q=85\&s=f0ebdfc6165f689ed66a6b25e7938b50)

> [!NOTE]
>
> The bot must have been deployed at least once before it can be cloned. When cloning between channels, some action blocks may not be compatible with the destination channel. WotNot displays warnings for incompatible blocks, and the copied bot is created with a **Copy of** prefix that you can rename.

## Exporting and Importing bots

Export and import functionality can be used to move or reuse bot configurations. Because the current WotNot Help Center does not document the export/import workflow or the exact behavior of imported files, verify the current product behavior before publishing this section.

#### Export bots

* Go to Bot Builder and open the bot you want to export from **Bot Builder**
* Click on the bot name and select **Export data**
* The exported file will be downloaded and  you can check the downloaded file in your computer

![Download (24) 2](https://mintcdn.com/wotnot/U-7FfmJOCeYvTynD/images/download-\(24\)-2.png?fit=max\&auto=format\&n=U-7FfmJOCeYvTynD\&q=85\&s=5c8aa170f255ed8ba24e74b44c3969f1)

#### Import bots

* Open any bot in **Bot Builder**, or select **Create a bot from scratch**.
* Click the **bot name** and select **Import**.

![Download (25) 1](https://mintcdn.com/wotnot/U-7FfmJOCeYvTynD/images/download-\(25\)-1.png?fit=max\&auto=format\&n=U-7FfmJOCeYvTynD\&q=85\&s=93f4c58e71e2da03b5071d3d25b5e09a)

* Upload the export file and follow the on-screen instructions.

![Download (26)](https://mintcdn.com/wotnot/U-7FfmJOCeYvTynD/images/download-\(26\).png?fit=max\&auto=format\&n=U-7FfmJOCeYvTynD\&q=85\&s=237c49e6f528575ca2d5cf27c5b99876)

* Review the imported bot's configuration before publishing it.

> [!CAUTION]
>
> Only **JSON** files are supported.

## Managing edit access

Bot Builder supports read-only access so that multiple users can view a bot while edit access is controlled. By default, the initial user has **EDIT** access, while additional users have **READ-ONLY** access.

* If you are in read-only mode, click **Read Only** in the Bot Builder.
* Your request is submitted and is sent to the current editor for approval.
* If you are the current editor, review the request and choose whether to **Approve** or **Decline** it.
* If approved, the requester receives confirmation and the page reloads with edit access. If declined, the requester remains in read-only mode.

![54bb2861 21e7 41cd B4f0 0169306b5895 Blurred](https://mintcdn.com/wotnot/U-7FfmJOCeYvTynD/images/54bb2861-21e7-41cd-b4f0-0169306b5895_blurred.gif?s=370fe6d9357be8ec8a92e0b1c627d1f5)

> [card] NOTE:
>
> * Only one user can have edit access to the Bot builder at a time.
> * If the current editor does not approve or decline the request, edit access is automatically granted after 30 seconds.
> * Before transferring edit access, save important changes because unsaved changes may not be retained when editing control changes.


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