Start and End Nodes (JSON Schema)
Each flow works like a function with a defined input and output. The Start Node defines the inputs of the Flow, and the End Node defines the output.
Here is an example of a simple flow that calls an LLM. The input is the question, and the output is the answer.
For a ChatBot, the input is typically the user's message (text), and the output is the bot's response (text), but it can also accept files and images.
A flow isn't limited to just text. BotDojo defines Inputs/Outputs using JSON schema. Here is an example of a Flow with a more complicated input and output definition.
Chat Compatible Schemas
Flows with a StartNode schema of a single string property and optionally a file property are compatible with Chat Interfaces.
Only flows with a compatible chat schema will be available for integrations like Slack, Microsoft Teams, and BotDojo Chat.
In BotDojo, you can test a flow by pressing the Play icon.
A chat input will be displayed if the flow is compatible with chat.
If the Start Node has a schema that isn't compatible with chat, you will see a JSON/YAML editor.