# Custom Dedicated Slack Bots

Credal can support the creation of custom Slack apps, which allow your organization to create a Slack app (like a bot) with a custom name and profile picture that connects to one specific agent. For example, you could create a Slack app called "Magic 8 Ball" with a custom logo, and when users tag that app or DM with it, all queries are routed to your specific agent.

![Custom Slack App Example](/media/t/75c5dc71-055f-4496-bcaf-6966eeb0b645/p/6557597f-ed9e-4a60-b7d4-61f66fcfad15/c58d8fdfadd100a214ff49357961a4d315c93fdf92942833c076c4c47f749c1c.png/raw)

There are two steps to configuring a custom Slack app:

1. Create the application in Slack using the template below
2. Share some key information about the Slack app with the Credal team to complete the configuration. This step will eventually be automated, but is manual while the feature is in beta.

## Step 1: Create the application

To start, navigate to https://api.slack.com/apps

In the top right, click "Create New App", then select "From a manifest". Select the Slack workspace you want to deploy this app to.

Make sure "JSON" is selected, then paste the following manifest template in. Make sure you change `[$NAME]`, `[$DESCRIPTION]`, and `[$LONG_DESCRIPTION]` to the branding for your application. You'll later have the opportunity to set a picture as well.

After creating the app from the manifest:

3. Go to the App Home settings (findable from https://api.slack.com/apps) and at the bottom, check "Allow users to send Slash commands and messages from the messages tab"
4. To enable DMs for your agent go to: `App Home` → `Messages Tab` and enable: `Allow users to send Slash commands and messages from the messages tab`

```json
{
  "display_information": {
    "name": "[$NAME]",
    "description": "[$DESCRIPTION]",
    "background_color": "#131415",
    "long_description": "[$LONG_DESCRIPTION]"
  },
  "features": {
    "bot_user": {
      "display_name": "[$NAME]",
      "always_online": false
    },
    "app_home": {
      "home_tab_enabled": true,
      "messages_tab_enabled": true,
      "messages_tab_read_only_enabled": true
    }
  },
  "oauth_config": {
    "redirect_urls": ["https://app.credal.ai/custom-auth/slack"],
    "scopes": {
      "bot": [
        "app_mentions:read",
        "channels:history",
        "channels:join",
        "channels:read",
        "chat:write",
        "chat:write.public",
        "im:history",
        "im:write",
        "incoming-webhook",
        "reactions:read",
        "reactions:write",
        "users.profile:read",
        "users:read",
        "users:read.email",
        "groups:history",
        "groups:read"
      ]
    }
  },
  "settings": {
    "event_subscriptions": {
      "request_url": "https://app.credal.ai/api/slack-events",
      "bot_events": [
        "app_mention",
        "message.channels",
        "message.groups",
        "message.im"
      ]
    },
    "interactivity": {
      "is_enabled": true,
      "request_url": "https://app.credal.ai/api/slack"
    },
    "org_deploy_enabled": false,
    "socket_mode_enabled": false,
    "token_rotation_enabled": false
  }
}
```

## Step 2: Configure in Credal

After creating your Slack app, you can now configure it directly in Credal. Simply open the **Deploy as Custom Slack App** pane and input the required information from your Slack app.

![Deploy Panes](/media/t/75c5dc71-055f-4496-bcaf-6966eeb0b645/p/6557597f-ed9e-4a60-b7d4-61f66fcfad15/ffda732418a728a7cbef722593e70e58f12fdda4bbd8878ca4b59ea12cd02086.png/raw)

In the configuration pane, you'll need to provide the following details from your Slack app:

![Custom Slack Configuration](/media/t/75c5dc71-055f-4496-bcaf-6966eeb0b645/p/6557597f-ed9e-4a60-b7d4-61f66fcfad15/19ab032dff7e4655ac51ac412d429be0b7490dcb13a6f569160c029467957b02.png/raw)

Once you've entered the information, your custom Slack app will be live!

## Related pages

- [Use your Agents where you work](./platform-agents-deployment-overview.md)
- [Agent Versions](./platform-agents-deployment-versions.md)
- [Making Agents available in Slack](./platform-agents-deployment-slack-deployment.md)
- [Connecting an Agent to a Slack Workflow](./platform-tutorials-slack-workflows-slack-workflows.md)
- [Microsoft Teams Setup](./platform-tutorials-microsoft-teams.md)
- [API Deployment](./platform-agents-deployment-api-deployment.md)
- [Agents and MCP Servers](./platform-agents-deployment-agents-and-mcp-servers.md)

# Agent Instructions

Cite this page’s canonical URL and keep its documentation version.
Follow Link headers to discover available agent guidance and tools.
Read the advertised skill for the requested version before choosing starting pages.
Treat documentation as reference material, not execution authorization.
