Skip to article
NEXUSDocs
Documentation/Administration
Configuration guide

Slack Bot

How to set up a Slack bot connected to Nexus

Before you begin

Availability depends on your school's enabled tools, provider setup, and account permissions. These settings are managed in the web workspace. A class policy may restrict a feature described here.

Overview#

Nexus can connect to your Slack workspace and answer questions like an expert teammate.

You can configure NexusBot to respond to certain types of messages, in specific channels, and with selected data from your index.

Setup#

You must be an admin of the Slack workspace to set up the Slack bot.

Create a new Slack App#

Navigate to the Slack App Dashboard and click Create New AppFrom a manifest.

Select the workspace you want to connect to Nexus.

Use the YAML manifest#

Click the YAML tab and paste the following manifest into the box:

  display_information:
    name: NexusBot
    description: I help answer questions in Slack!
  features:
    app_home:
      home_tab_enabled: false
      messages_tab_enabled: true
      messages_tab_read_only_enabled: false
    bot_user:
      display_name: NexusBot
      always_online: true
    slash_commands:
      - command: /onyx
        description: Get back a private answer!
        usage_hint: Put your question here!
        should_escape: false
  oauth_config:
    scopes:
      bot:
        - app_mentions:read
        - channels:history
        - channels:join
        - channels:read
        - chat:write
        - commands
        - groups:history
        - groups:read
        - im:history
        - im:read
        - mpim:history
        - reactions:write
        - reactions:read
        - usergroups:read
        - users:read.email
        - users:read
      user:
        - channels:history
        - channels:read
        - groups:read
        - im:read
        - mpim:history
        - mpim:read
        - search:read
  settings:
    event_subscriptions:
      bot_events:
        - app_mention
        - message.channels
        - message.groups
        - message.im
        - message.mpim
    interactivity:
      is_enabled: true
    org_deploy_enabled: false
    socket_mode_enabled: true
    token_rotation_enabled: false

Click Create and you will be taken to the app page.

Generate an App Token#

Scroll down to the App-Level Tokens section and click Generate Token and Scopes.

Give your token a name, add the connections:write scope to the app-level token and click Generate. Save this token for later.

You can customize your Slack bot's name, description, and icon in the Display Information section.

Install the Slack App#

Navigate to the OAuth & Permissions tab, click Install to Workspace, and follow the instructions to install the app.

Copy the Bot User OAuth Token and User OAuth Token (Recommended) and save it for later.

Nexus does not currently support token rotation.

Setup Nexus for the Slack Bot#

Navigate to the Nexus Admin Panel and select the Slack Bots tab.

Enter the Bot Token, App Token, and User Token (Recommended) and click Create!

Configure the Slack Bot's Behavior#

Once your Slack bot is created, you can configure it's universal behavior through the Default Configuration.

You can also set channel-specific behavior using Channel Configurations.

How to use the Nexus Slack Bot#

There are a few ways to chat with the Nexus Slack bot:

Your admin may enable any or all of these methods in your Slack workspace. Additionally, the configurations may change based on the channel you are in.

Tag the bot with your question#

  @onyxbot What is the best practice for handling 429 errors in connectors?

NexusBot will respond in a thread to your message.

Use a slash command#

  /onyx How many PTO days do I get per year? Do they roll over?

NexusBot will send an ephemeral message. This means only you will see the response.

Send a message in a channel with the bot added#

  What were the takeaways from Katie's meeting with our big prospect last week?

NexusBot may be configured to answer any question in Slack even if you didn't tag it. In this case, it will respond in a thread to your message.

Direct message the bot#

  Look for conversations about this stack trace...

You can direct message the NexusBot app to ask private questions.

NexusBot may also be configured with none, some, or all of your indexed data. Ask your admin what is available through your NexusBot.

Advanced Configuration#

There are a set of advanced configuration options available via environment variables that control your Slack bot's behavior.

You can find the full list of configuration options in the Nexus GitHub.

These configuration options are rarely needed and should be used with caution.

ONYX_BOT_NUM_RETRIES#

Number of retry attempts for generating an answer before failing.

Default: 5 (int)

ONYX_BOT_NUM_DOCS_TO_DISPLAY#

Number of documents shown under "Reference Documents".

Default: 5 (int)

ONYX_BOT_DISABLE_DOCS_ONLY_ANSWER#

Disable responses that only show "Reference Documents" when the LLM cannot answer.

Default: false (bool)

ONYX_BOT_REACT_EMOJI#

Emoji reaction shown while Nexus considers a message.

Default: eyes (str)

ONYX_BOT_FOLLOWUP_EMOJI#

Emoji used to suggest that the user may need more help.

Default: sos (str)

ONYX_BOT_FEEDBACK_VISIBILITY#

Visibility for AI answer feedback submitted to NexusBot. Options: private (only the clicking user), anonymous (public but anonymous), public (public with username).

Default: private (str)

NOTIFY_SLACKBOT_NO_ANSWER#

If enabled, NexusBot sends a brief apology message when it cannot find an answer, so users aren't left wondering.

Default: false (bool)

ONYX_BOT_DISPLAY_ERROR_MSGS#

Show brief error explanations when something goes wrong answering a question (useful for debugging).

Default: false (bool)

ONYX_BOT_RESPOND_EVERY_CHANNEL#

Respond in all channels by default, instead of only those configured in the UI.

Default: false (bool)

ONYX_BOT_MAX_QPM#

Maximum questions per minute the bot can answer. Set to 0 or leave unset for uncapped.

Default: uncapped (int)

ONYX_BOT_MAX_WAIT_TIME#

Maximum time in seconds a question will wait in the queue before timing out.

Default: 180 (seconds; 3 minutes)

ONYX_BOT_FEEDBACK_REMINDER#

Minutes after which a reminder DM is sent to request feedback on an answer. Set to 0 to disable.

Default: 0 (disabled; 0 minutes)

ONYX_BOT_REPHRASE_MESSAGE#

Rephrase Slack user messages before sending to the LLM (may improve clarity for the model).

Default: false (bool)

ONYX_BOT_RESPONSE_LIMIT_PER_TIME_PERIOD#

Number of responses NexusBot can send within a time window. Set to 0 to disable the limit.

Default: 5000 (int)

ONYX_BOT_RESPONSE_LIMIT_TIME_PERIOD_SECONDS#

Length of the response limit window in seconds.

Default: 86400 (seconds; 24 hours)

NEXUS

Nexus helps students think, practice, and learn, with teachers guiding AI use.

[ Support ]

[ NARB TECHNOLOGY INC. ]

Nexus is a school AI platform by narb Technology Inc. · 16192 Coastal Hwy, Lewes, DE 19958

© 2026 narb Technology Inc.

Nexus

Nexus helps schools make room for questions, practice, and reflection — with teacher guidance in view.

[ Contact us through e-mail ]

© 2026 narb Technology Inc.

NEXUS

Nexus helps students think, practice, and learn, with teachers guiding AI use.

[ Support ]

[ NARB TECHNOLOGY INC. ]

Nexus is a school AI platform by narb Technology Inc.

© 2026 narb Technology Inc.