# Tutorial Structure

This tutorial will help you get started with pro config and enable you to build workflows that utilise powerful functionality, such as using LLM or complex widgets available on the [MyShell widget centre](https://app.myshell.ai/robot-workshop). The following are the tutorial chapters and what you can expect from each.

## Chapter 1: Hello World with Pro Config

In this chapter, you will learn to do the following:

* Creating a basic "Hello World" bot using pro config.
* Various types of input/output methods.
* Creating buttons for user interactivity.
* Enabling users to chat with your bot.
* Converting text sent by users to voice.

## Chapter 2: Building Workflow

In this chapter, you will learn to do the following:

* Building workflows using modules.
* Using widgets from the widget centre as a part of your workflow tasks.

This chapter should allow you to utilise the power of modules like LLM and widget modules to add related features to your bot.

## Chapter 3: Transitions

In this chapter, you will learn to do the following:

* Transitioning between different states in your bot workflow.
* Using events like `CHAT`, `ALWAYS`, and `DONE` that can trigger transitions.
* Implementing conditional transitions.

This chapter should allow you to manage the flow of your bot's different states effectively.

## Chapter 4: Expressions and Variables

In this chapter, you will learn to do the following:

* Using variables to store data that can be used later by the same/another state.
* Using JavaScript expressions to perform different operations such as mathematical operations, equality checks, generating random numbers, etc.
* Enabling `LLMModule` to have a memory using variables that store the conversation between the user and the bot.

This chapter should allow you to build a complex bot with memory retention and conditional execution.

## Chapter 5: An Advanced Example

In this chapter, you will use everything you learnt in this tutorial. You will build a bot that assesses the user's pro config skills and transitions to different states based on the user's score. They will be presented with a pro config tutorial chatbot if the score is too low.

This bot uses transitions, modules, variables, expressions and a new concept for button ID. You will also learn about advanced concepts such as nested routes and recursion.


---

# Agent Instructions: 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://myshell-wiki.gitbook.io/proconfig-tutorial/tutorial-structure.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.
