> ## Documentation Index
> Fetch the complete documentation index at: https://botpress-charmenta-pr-700.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Workflows

export const GoodToKnow = ({children}) => {
  return <Callout icon="notebook-pen" color="#65d15a" iconType="regular">
      {children}
    </Callout>;
};

So far, we've only had our bot generate responses using AI. In practice, though, you might run into situations where you want your bot to perform some hard-coded logic.

In Studio, you can do this using *Workflows*. A Workflow is a drag-and-drop canvas that represents the steps your bot follows during a conversation with a user.

## Nodes

Each step in a Workflow is represented by a *Node*. Let's open the Main Workflow and take a look at its Nodes:

1. Go to the **<Icon icon="workflow" /> Workflows** section in the left sidebar.
2. Select your **Main** Workflow. It should look something like this:

<Frame>
  <img alt="Main Workflow" className="block dark:hidden" src="https://mintcdn.com/botpress-charmenta-pr-700/MARvjyf1O9JTt73h/tutorial/basics/custom-logic/assets/main-workflow.png?fit=max&auto=format&n=MARvjyf1O9JTt73h&q=85&s=05fe6c2000374a0f8945a07bfbf51be3" width="1312" height="562" data-path="tutorial/basics/custom-logic/assets/main-workflow.png" />

  <img alt="Main Workflow" className="hidden dark:block" src="https://mintcdn.com/botpress-charmenta-pr-700/MARvjyf1O9JTt73h/tutorial/basics/custom-logic/assets/main-workflow-dark.png?fit=max&auto=format&n=MARvjyf1O9JTt73h&q=85&s=f4465c4401762f0787d052fe182081b7" width="1312" height="562" data-path="tutorial/basics/custom-logic/assets/main-workflow-dark.png" />
</Frame>

The Main Workflow contains the main logic for your bot—it executes as soon as a user starts a new conversation. By default, it contains:

* A *Start Node*, which starts the conversation
* An *Autonomous Node*, which generates AI responses
* An *End Node*, which ends the conversation

<GoodToKnow>
  You may have noticed the Autonomous Node has an **Instructions** field with the same instructions we provided earlier. This is no coincidence! The settings on Studio's home screen are shortcuts to configure the Autonomous Node.
</GoodToKnow>

## Transitions

Notice the path connecting the Start Node and the Autonomous Node:

<Frame>
  <img alt="Transition" className="block dark:hidden" src="https://mintcdn.com/botpress-charmenta-pr-700/MARvjyf1O9JTt73h/tutorial/basics/custom-logic/assets/transition.png?fit=max&auto=format&n=MARvjyf1O9JTt73h&q=85&s=cd122f2f4059915bd473a16fa04306a6" width="1230" height="408" data-path="tutorial/basics/custom-logic/assets/transition.png" />

  <img alt="Transition" className="hidden dark:block" src="https://mintcdn.com/botpress-charmenta-pr-700/MARvjyf1O9JTt73h/tutorial/basics/custom-logic/assets/transition-dark.png?fit=max&auto=format&n=MARvjyf1O9JTt73h&q=85&s=afa9904f844c18ba47c428d504992370" width="1230" height="408" data-path="tutorial/basics/custom-logic/assets/transition-dark.png" />
</Frame>

This is a *transition*. It tells your bot:

> "When the conversation starts, go directly to the Autonomous Node."
