The Support Bot is a Slack integration designed to simplify and automate support workflows directly within your workspace.
You can:
π§Ύ Create tickets from Slack messages in dedicated channels.
π View and track ticket statuses.
βοΈ Update and manage ticket states (open, closed).
π¨ Mark tickets as escalated when requiring specialist attention.
β Collect instant feedback on support threads β upon ticket closure, the thread creator can rate their support experience directly in Slack.
π Store support metrics in a database for dashboards and analytics.
π Browse and filter tickets from the in-Slack Bot Homepage β view a dashboard of tickets and quickly filter by status, impact, or assigned team, all without leaving Slack.
Already deployed? See the user guides for role-specific walkthroughs (support engineers, leadership, escalation teams).
We welcome contributions! Please read the CONTRIBUTING guide before submitting issues or pull requests.
To run the Support Bot locally, please refer to the service README for instructions.
Optional OpenLDAP and Dex live under ldap/ and dex/. When you use Dex with LDAP, start services in order so each dependency is ready before the next: LDAP β Dex β API β UI (and PostgreSQL before the API). See the auth Dex/LDAP runbook for the full checklist, integration deploy order, and troubleshooting (redirect_uri, user_not_allowed, JWT group mapping).
- LDAP (local Docker):
ldap/README.mdβ Helm:api/k8s/ldap/README.md - Dex (local Docker):
dex/README.mdβ Helm:api/k8s/dex/README.md
Follow these steps to deploy the Support Bot in a Kubernetes environment:
You can reference the official Support Bot image directly in your deployment:
ghcr.io/coreeng/support-bot:<latestVersionFromRegistry>
- Replace
<latestVersionFromRegistry>with the latest version - For a full list of available versions, see the package registry
If you need to customize the image (e.g., add extra config, commands, or scripts), create a Dockerfile based on the base image:
# Dockerfile example
FROM ghcr.io/coreeng/support-bot:0.0.48
# Optional: add custom config/commandsA Postgres database is required for the application to function. Ensure your cluster has a running
Postgres instance and that the Support Bot can connect to it.
Note: The Support Bot will run database migrations on startup
We recommend mounting your custom configuration as a Kubernetes ConfigMap.
- The default config can be found here
- An example of custom config definition can be found here
- An example of how the config is mounted can be found here
For example, to override the enums configuration, replace the enums block in your custom config.
For a more detailed explanation of all configuration options see the Configuration Documentation
We've built a helm chart that you can use to make the deployment easier. Find the documentation for it here. Dex and LDAP deploy as separate platform-chart modules; see api/k8s/dex/README.md and api/k8s/ldap/README.md. For apply order and ops notes, use docs/runbooks/auth-dex-ldap.md.
How to use the helm chart:
helm install support-bot oci://ghcr.io/coreeng/charts/support-botFor the application to function correctly, you will need to set the following environment variables:
| Variable | Description |
|---|---|
SLACK_TOKEN |
Slack bot token |
SLACK_SOCKET_TOKEN |
Websocket token for Slack events |
SLACK_SIGNING_SECRET |
Slack signing secret |
SLACK_TICKET_CHANNEL_ID |
Slack channel ID where queries arrive |
The Support Bot can integrate with an Identity Provider(E.g: Azure) to fetch real organisational user details, so we are able to associate support tickets with teams.
For local runs or testing, you can define a static list of users and groups instead.
If you want to use real users in Slack, configuring an Identity Provider is recommended.
More details under platform-integration in the configuration docs.
Dex + LDAP: tenant membership from LDAP groups is configured with platform-integration.jwt-groups (see the same docs and docs/runbooks/auth-dex-ldap.md).
If you have questions, need assistance, or want to provide feedback, feel free to reach out at info@cecg.io
This project is licensed under the Apache 2.0 License. See LICENSE for details.
Developer & Maintained with π by CECG π