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

# Bot Behaviors

> Configure how your bot interacts with users

Bot behaviors control how your chatbot interacts with users across different messaging platforms. These settings determine the user experience during conversations.

<Frame caption="Bot behavior settings">
  <img src="https://mintcdn.com/chatbotplatform/m9EKNkCA4uJJkC_D/images/screenshots/05-behavior/01_behavior_settings.png?fit=max&auto=format&n=m9EKNkCA4uJJkC_D&q=85&s=9ad47e1b87532879d4c06d3bacf6b728" alt="Behavior settings page" width="1920" height="941" data-path="images/screenshots/05-behavior/01_behavior_settings.png" />
</Frame>

## Available Behaviors

<CardGroup cols={3}>
  <Card title="Response Timing" icon="clock" href="/bots/behaviors/response-timing">
    Control response delays for natural conversation flow
  </Card>

  <Card title="Typing Indicators" icon="message-dots" href="/bots/behaviors/typing-indicators">
    Show visual feedback while generating responses
  </Card>

  <Card title="Should Respond" icon="robot" href="/bots/behaviors/should-respond">
    Detect when your bot should reply to messages
  </Card>
</CardGroup>

## Why Behaviors Matter

Behaviors significantly impact user experience:

### User Expectations

Users expect chatbots to behave like human conversation partners:

* **Natural Timing**: Responses that don't feel instant or robotic
* **Visual Feedback**: Typing indicators show the bot is "thinking"
* **Smart Responses**: Bot knows when to respond and when to stay silent

### Platform Differences

Different platforms have different capabilities:

* **Native Support**: Some platforms (Telegram, Slack) have built-in typing indicators
* **Group Behavior**: Bots need to know when they're being addressed in group chats
* **Threading**: Slack threads vs. Telegram groups require different response strategies

## Configuration

Behaviors are configured per bot in the bot settings page:

<Steps>
  <Step title="Navigate to Bot Settings">
    From your bot overview, click on the **Behaviors** tab.
  </Step>

  <Step title="Configure Each Behavior">
    * **Response Timing**: Set delays for natural conversation feel
    * **Typing Indicators**: Enable visual feedback during processing
    * **Should Respond**: Configure when bot should reply in groups
  </Step>

  <Step title="Save Changes">
    Click **Save** to apply the new behavior configuration. Changes take effect immediately.
  </Step>
</Steps>

## Behavior Interactions

Behaviors work together to create natural conversations:

### Complete Flow

1. User sends a message
2. **Should Respond** checks if bot should reply (mentions, DMs, etc.)
3. If yes, **Typing Indicator** shows immediately
4. AI generates response
5. **Response Timing** adds natural delay if response was too fast
6. Bot sends reply

### Example: Group Chat

```
User: @SupportBot what's my order status?
       ↓
[Should Respond: Yes - bot was mentioned]
       ↓
[Typing Indicator: Shows "typing..."]
       ↓
[AI generates response in 1.2 seconds]
       ↓
[Response Timing: No delay needed - processing took enough time]
       ↓
Bot: Your order #12345 shipped yesterday and arrives tomorrow!
```

## Platform-Specific Behavior

### Telegram

* Native typing indicators via `sendChatAction`
* Group-aware should respond (mentions and replies)
* Per-user conversation contexts in groups

### Slack

* Native typing indicators
* Thread-aware detection
* App mentions trigger responses

### Discord (Coming Soon)

* Native typing indicators
* @mention and reply detection
* Slash command support

## Best Practices

<Callout type="tip">
  **Start with defaults**: The platform's default behavior settings work well for most use cases. Only customize if you have specific requirements.
</Callout>

<CardGroup cols={2}>
  <Card title="Enable Typing Indicators" icon="check">
    Visual feedback improves perceived responsiveness
  </Card>

  <Card title="Use Should Respond in Groups" icon="users">
    Prevent bot from interrupting conversations
  </Card>

  <Card title="Test Natural Feel" icon="flask">
    Verify conversations feel natural, not robotic
  </Card>

  <Card title="Review Conversations" icon="messages">
    Check conversation logs for behavior issues
  </Card>
</CardGroup>

## Next Steps

<CardGroup cols={3}>
  <Card title="Response Timing" icon="clock" href="/bots/behaviors/response-timing">
    Configure response delays
  </Card>

  <Card title="Typing Indicators" icon="message-dots" href="/bots/behaviors/typing-indicators">
    Set up visual feedback
  </Card>

  <Card title="Should Respond" icon="robot" href="/bots/behaviors/should-respond">
    Control when bot replies
  </Card>
</CardGroup>
