Skip to content

coreeng/support-bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

644 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Support Bot

Build Status License Version


πŸš€ Introduction

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.


Using the bot

Already deployed? See the user guides for role-specific walkthroughs (support engineers, leadership, escalation teams).


🀝 Contributing

We welcome contributions! Please read the CONTRIBUTING guide before submitting issues or pull requests.


πŸ“¦ Installation

Running locally

To run the Support Bot locally, please refer to the service README for instructions.

Auth modules (Dex / LDAP) and start order

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).

Running within a Kubernetes Cluster

Follow these steps to deploy the Support Bot in a Kubernetes environment:

1️⃣ Image

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/commands

2️⃣ Database

A 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

3️⃣ Application Configuration

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

Helm Chart

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-bot

4️⃣ Environment Variables

For 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

5️⃣ Identity Provider Integration (Optional)

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).

6️⃣ Feedback & Support

If you have questions, need assistance, or want to provide feedback, feel free to reach out at info@cecg.io


πŸ“„ Licence

This project is licensed under the Apache 2.0 License. See LICENSE for details.


Developer & Maintained with πŸ’™ by CECG πŸš€

About

Support bot

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors