# Chatbot settings

> How the Chatbots tab organizes an agent's deployments, and what each connection's Connection, Trigger, Preferences and Activities tabs control.

Source: https://docs.runbear.io/channels/chatbot-settings

Last updated: 2026-09-30

The **Chatbots** tab is where an agent is deployed. Each deployment is a
**connection**: one agent in one place, such as a Slack channel, a direct-message
bot, a Microsoft Teams team or chat, a Discord server, a HubSpot account or a
Zendesk account. An agent can have many connections, and each one keeps its own
triggers and preferences, so the same agent can answer every message in a support
channel while waiting for an @mention everywhere else.

This page covers what you can configure on a connection. For the install steps of
each channel, see [Slack](/channels/slack.md), [Microsoft Teams](/channels/microsoft-teams.md),
[Discord](/channels/discord.md), [HubSpot](/channels/hubspot.md) and [Zendesk](/channels/zendesk.md).

## Adding a connection

Open the agent's **Chatbots** tab and click a channel's tile. Which tiles you can
use depends on two things:

- **The agent's runtime.** Agents on the Claude Agent SDK runtime deploy to Slack
  and Microsoft Teams only, so the other tiles aren't shown. See
  [Runtimes](/agents/runtimes.md).
- **Your plan.** A channel your plan doesn't include shows a lock. Clicking it
  opens the plan picker instead of the setup flow. See
  [channels by plan](/administration/billing-and-credits.md#channels-by-plan).

Once an agent has connections, the selector at the top of the tab switches between
them, and its **Connect New Channel** option adds another.

## Connection tabs

Selecting a connection opens its tabs:

| Tab             | What it holds                                                                         | Where it appears                                                      |
| --------------- | ------------------------------------------------------------------------------------- | --------------------------------------------------------------------- |
| **Connection**  | Where the agent is deployed, such as which Slack channels or which Teams team or chat | Every channel except Zendesk                                          |
| **Trigger**     | What makes the agent respond                                                          | Every channel                                                         |
| **Preferences** | How replies look and what context the agent receives                                  | Slack, Microsoft Teams and Zendesk, except on Claude Agent SDK agents |
| **Activities**  | The runs this connection started, with the trace behind each one                      | Every agent except OpenAI Responses agents                            |

The **Preferences** tab is hidden for agents on the Claude Agent SDK runtime,
because that runtime doesn't read these options yet.

### Restricting who can use a Slack connection

> **Note**
>
> **Limited availability.** This feature is being rolled out gradually. Contact [support@runbear.io](mailto:support@runbear.io) to enable it for your organization.

Where it is enabled, a Slack connection's **Connection** tab has a **Restrict to
specific users** switch ("Control which Slack users can interact with this bot").
While it is off, everyone in the workspace can use the agent in the channels it has
access to. Turn it on and pick users, and only those users' messages, mentions,
reactions and slash commands start the agent on that connection; the same events
from anyone else are ignored.

> **Warning**
>
> On agents that run on the Claude Agent SDK runtime, the list
> doesn't cover replies in a thread the agent is already part of (**Continue in threads
> (after first reply)**): anyone in that thread can keep the conversation going without
> mentioning the agent. The list does apply to starting a conversation.

The agent's [Access control](/agents/settings.md#access-control) setting governs the
dashboard only; it doesn't change who can talk to the agent in Slack.

## Triggers

### Slack triggers

| Trigger                                     | What it does                                                                                                                                                                                                                                   |
| ------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Always replies to @mentions and DMs**     | Always on, with no switch. The agent replies whenever someone @mentions it in a channel or sends it a direct message                                                                                                                           |
| **Continue in threads (after first reply)** | Once the agent has joined a thread, it keeps responding there without another @mention. Choose **AI-powered smart replies** (Experimental), which answers only when it has something useful to add, or **Respond to all replies** (Deprecated) |
| **Trigger on a schedule**                   | The agent posts on its own at a time or interval you choose, with the prompt you give it. Not offered on a direct-message connection or one that covers all channels                                                                           |
| **Reply without @mention**                  | The agent also replies to every new message in the channel. High traffic, so use it sparingly                                                                                                                                                  |
| **Trigger by keyword**                      | The agent replies when a message contains one of your keywords                                                                                                                                                                                 |
| **Trigger by emoji reaction**               | The agent replies when someone reacts to a message with one of your chosen emoji                                                                                                                                                               |
| **Trigger by sender**                       | The agent replies whenever a specific user or bot posts, for example to follow up on an alerting bot                                                                                                                                           |

If the Slack installation lacks the permissions the emoji or sender trigger needs,
turning it on asks you to reinstall the app from **Settings → Integrations →
Slack** first. Only the person who installed it can reinstall it.

Agents on the Claude Agent SDK runtime offer only **Always replies to @mentions and
DMs**, **Continue in threads (after first reply)**, which uses AI-powered smart
replies, **Reply without @mention** and **Trigger by keyword**.

### Microsoft Teams triggers

- **Always replies to @mentions and DMs** (always on)
- **Continue in threads (every reply)**: once a thread has started, the agent
  keeps responding to new messages in it
- **Reply without @mention**: the agent also replies to every new message in the
  channel
- **Trigger by keyword**

### Discord triggers

- **Always replies to @mentions and DMs** (always on)
- **Continue in threads (every reply)**

### HubSpot trigger

The agent runs when a ticket is created and writes its answer to a Runbear card on
the ticket. This trigger is always on. See [HubSpot](/channels/hubspot.md).

### Zendesk triggers

Enable one or both:

- **Trigger by ticket creation.** The agent responds when a new ticket is
  created. Narrow it with **Tag filters** (only tickets with those tags) and
  **Agent filters** (only tickets assigned to those Zendesk agents), and optionally
  give it a **Custom prompt** of up to 1,024 characters that replaces the default
  instruction for this trigger.
- **Trigger by internal comment.** The agent responds to an internal comment that
  starts with the **Trigger word**, which defaults to `@Runbear`. For example, an
  internal note starting with `@Runbear summarize this ticket`.

## Preferences

### Slack preferences

| Preference                                 | What it does                                                                                                                                                                 |
| ------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **App icon**                               | The bot's profile image. For the shared Runbear bot, upload an image here. For a custom bot, the row links to the bot's settings on api.slack.com, where the icon is managed |
| **Use full thread as context**             | On: the agent reads every message in the thread. Off: only the message that triggered it                                                                                     |
| **Only visible to selected users**         | Replies as a Slack ephemeral message. Pick the **Audience**; leave it empty to show the reply only to the person who triggered the agent                                     |
| **Hide Runbear links in error messages**   | Strips links to Runbear from error messages                                                                                                                                  |
| **Custom error message**                   | Replaces the agent's default error message with your text                                                                                                                    |
| **Hide source references**                 | Omits citation markers and the source list from replies                                                                                                                      |
| **Send username with each request**        | Passes the Slack user's name to the agent so it can personalize replies                                                                                                      |
| **Custom message template**                | Wraps each user message before it reaches the agent, using variables such as `{message}` and `{user_id}`                                                                     |
| **Reply as new channel message**           | Posts replies as new channel messages instead of in a thread. A checkbox extends this to messages that triggered the agent inside a thread                                   |
| **Welcome new users on first interaction** | Sends a greeting the first time a Slack user triggers the agent                                                                                                              |

### Microsoft Teams preferences

Teams offers **Use full thread as context**, **Hide Runbear links in error
messages**, **Hide source references**, **Send username with each request**,
**Custom message template** and **Reply as new channel message**, which work as in
Slack, plus **Hide agent name in replies**, which omits the agent's name from the
responses it posts.

### Zendesk preferences

- **Reply as public ticket comment.** By default the agent posts private internal
  notes that only your support team sees. Turn this on to post customer-facing
  replies instead. The connection form calls it **Reply as public comment**.
- **Hide source references.** Omits citation markers and the source list.
- **Reply only when knowledge base has an answer.** The agent stays silent unless
  it finds supporting information in the agent's knowledge sources. The connection
  form calls it **Reply only with knowledge base**.

## Deleting a connection

In the **Chatbots** tab, select the connection, click the trash icon (**Delete the
selected connection**), and confirm with **Delete**. The agent stops responding
there, and the connection's configuration is deleted. The agent itself and its
other connections are unchanged.

To remove a bot or workspace from your whole organization instead, see
[Integrations](/administration/integrations.md).

## Related

- [Runtimes](/agents/runtimes.md)
- [Integrations](/administration/integrations.md)
- [Testing and improving](/agents/testing.md)
