A Kelu bot answers questions in Slack or Microsoft Teams from one or more knowledge bases, with citations. People mention the bot, message it directly, or use a slash command, and the answer arrives in a thread.

Before you start

  • A Pro or Enterprise plan.
  • You are a workspace owner or admin.
Bots answer from restricted documents, to everyone in the channel. There is no per-person check. Add bot lists only external knowledge bases, so you can’t pick an internal knowledge base there. But a knowledge base you switch to internal later keeps its bots, and they share that knowledge with everyone who can post in the channel. The bot’s card then shows Internal.

Set up Slack

1

Add the bot

Go to Integrations → Chat bots, click Add bot and choose Slack. Pick the knowledge bases it answers from. Optionally pick Source groups, or enter a Channel ID to switch it on in that one channel only.
2

Approve it in Slack

Click Add to Slack, choose your Slack workspace and approve. Without a channel ID, the bot answers in no channel yet.
3

Switch it on in a channel

In each channel where it should answer, a Slack workspace owner or admin runs the command shown on the bot’s card: /kelu-enable-channel <integration-id>. The bot joins public channels by itself. In a private channel, run /invite @Kelu first. Direct messages need no setup.
Inviting the bot to a channel does not switch it on. Anyone in your Slack workspace can invite a bot, so only a Slack admin’s command decides where it answers.

Ask in Slack

HowWhat happens
@Kelu how do I rotate a client key?Answers in a thread under the question
A direct message to KeluAnswers privately
/kelu how do I rotate a client key?Posts the question and the answer for the whole channel
A new post in a channel with Forum auto-reply mode onAnswers without a mention
Mention @Kelu again in the thread to ask a follow-up; it remembers the conversation. Mentioned in someone else’s thread, it first reads up to 20 earlier messages (4,000 characters). Files attached to a question are used for that answer only and are never indexed: up to 3 files, 5 MB each, 12,000 characters of text in total, in the upload formats. Images (.png, .jpg, .gif, .webp) are read too.

Channels and a second bot

Once a Slack bot is installed, its card shows the command under Switch on in a channel. Run these in Slack. They need a Slack workspace owner or admin.
CommandEffect
/kelu-enable-channel <integration-id>Answer in this channel with this bot
/kelu-enable-workspace <integration-id>Answer in every channel the bot is in, including any it is invited to later
/kelu-disableStop answering in this channel
/kelu-disable allStop answering in every channel
Each channel answers from the bot enabled in it, so you can run several bots in one Slack workspace, each with its own knowledge bases or source groups. A channel setting beats the workspace-wide one. To find a channel ID, right-click the channel, choose Copy link, and take the part after /archives/ (it starts with C).

Set up Microsoft Teams

1

Register a bot in Azure

Create a bot registration in Azure and note its App ID and App password.
2

Add the bot

Go to Integrations → Chat bots, click Add bot and choose Microsoft Teams. Pick the knowledge bases, enter the App ID and App password, and click Add bot.
3

Point Teams at Kelu

Copy the Webhook URL from the bot’s card and paste it as the Messaging Endpoint of your Azure bot.
Mention the bot in a channel or chat with it directly. Answers arrive as a card with 👍/👎 buttons, and a follow-up in the same chat continues the conversation.

Settings

Click Configure on a bot’s card (older Slack and Discord bots have none; see the note below). Changes apply to the next question. The knowledge bases are chosen when you add the bot.
SettingPlatformsDefaultWhat it does
Channel IDSlackBlankAnswer in this channel only. A bot limited to one channel does not answer DMs
Forum auto-reply modeSlackOffAnswer every new top-level post in the channel without a mention
Answer @ mentionsSlack, TeamsOnAnswer when mentioned
Answer slash commandsSlack, TeamsOnAnswer /kelu
Answer direct messagesSlack, TeamsOnAnswer 1:1 messages
Show feedback controlsSlack, TeamsOn👍/👎 buttons under each answer
User trackingSlackAnonymousRecord the Slack user ID, or the person’s email address, with each conversation
VoiceSlack, TeamsKnowledge base’s own personaAnswer in a customization
Source groupsSlack, TeamsAllAnswer only from these source groups
MessagesSlack, TeamsBuilt-in textYour own wording for Acknowledgment, Acknowledgment in forum mode, Acknowledgment in a DM, Follow-up, No answer found, Error, Withheld for personal data, Footer, Final note and Final note in a DM. Post no acknowledgment turns the acknowledgment off. Teams has Error message only

Ratings

The 👍/👎 buttons record one vote per answer. The chosen thumb is highlighted and no count is shown. Press your highlighted thumb again to withdraw the vote. On Slack, a 👍 or 👎 reaction on an answer counts as a vote too. Votes appear in Analytics. Bot answers count toward the workspace’s monthly question allowance and appear under Conversations. With zero data retention they still count, but nothing is stored: they do not appear under Conversations, a follow-up does not see the earlier answer, and there are no rating buttons.
Discord bots cannot be added from the dashboard at the moment. A Discord bot you already have keeps working, and one on the shared Kelu app can still be configured. Slack and Discord bots created before the shared Kelu app keep working on their own app. Their card has no Configure: it shows only the Webhook URL to paste into that app, and the delete button.

Troubleshooting

  • The bot ignores mentions in a channel. A Slack admin has not switched it on there. Run /kelu-enable-channel <integration-id> in that channel. In a private channel, also run /invite @Kelu. The bot’s Home tab in Slack lists the channels it answers in.
  • “Kelu is not enabled in this channel yet.” Run /kelu-enable-channel <integration-id> there, or clear the bot’s Channel ID.
  • “Only Slack workspace owners and admins can change where Kelu answers.” Ask a Slack admin to run the command.
  • A new bot answers nowhere. Expected. Switch it on in a channel with /kelu-enable-channel <integration-id>.
  • /kelu-disable says the bot still answers in this channel. It is switched on for every channel. Run /kelu-disable all, then enable the channels you want one by one.
  • No answer in Teams. Check that the Messaging Endpoint is the bot’s Webhook URL, and that the App ID and password match the Azure registration.