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

# Concepts

> Understanding Chatbots in PySpur

# Chatbot Concepts

PySpur allows you to create two types of Spurs: standard workflows and chatbots. This guide explains what chatbots are in PySpur, how they differ from standard workflows, and why you might want to use them.

## What Are Chatbots in PySpur?

In PySpur, a chatbot is a special type of workflow designed to handle conversational interactions. Unlike standard workflows that process data in a one-time execution flow, chatbots:

* Maintain conversation history across multiple interactions
* Process user messages and generate assistant responses
* Handle user sessions to keep conversations separate
* Support conversational context and state management

## How Chatbots Differ from Standard Workflows

| Feature                | Standard Workflow           | Chatbot                              |
| ---------------------- | --------------------------- | ------------------------------------ |
| Input/Output Structure | Flexible, user-defined      | Fixed structure with specific fields |
| Session Management     | Not built-in                | Automatic session tracking           |
| Message History        | Not available               | Automatically maintained             |
| Execution Model        | One-time processing         | Conversational, multi-turn           |
| Primary Use Case       | Data processing, automation | User interactions, conversations     |

### Required Input/Output Fields

Chatbots in PySpur have a predefined structure to support conversations:

**Required Input Fields:**

* `user_message` (string): The message from the user
* `session_id` (string): A unique identifier for the conversation session
* `message_history` (array): Previous messages in the conversation (automatically managed)

**Required Output Fields:**

* `assistant_message` (string): The response message from the chatbot

## When to Use Chatbots

Choose a chatbot Spur when you need to:

* Create conversational interfaces for your users
* Build customer support or information retrieval systems
* Develop virtual assistants that remember context
* Design interactive Q\&A systems

Choose a standard workflow when you need to:

* Process data in a one-time operation
* Build automation pipelines without conversation
* Create custom data transformations with flexible inputs/outputs

In the next section, we'll walk through how to create and configure a chatbot in PySpur.
