This page covers setting up Slack alerting for fully self-hosted Chalk deployments. For standard Chalk deployments, see the Slack integration guide.

If you are running Chalk as a fully self-hosted deployment, you will need to create your own Slack app and configure its credentials in the metadata plane Helm chart.


1. Create a Slack app

  1. Go to api.slack.com/apps and click Create New App → From scratch.
  2. Name your app (e.g. Chalk Monitoring) and select the Slack workspace where it will be installed.

2. Configure OAuth scopes

Under OAuth & Permissions → Scopes → Bot Token Scopes, add the following scopes:

ScopePurpose
chat:writePost alert messages to channels
chat:write.publicPost to public channels without being a member
channels:readList available channels
team:readRead workspace metadata

3. Set the redirect URL

Under OAuth & Permissions → Redirect URLs, add:

https://<your-chalk-frontend-host>

Replace <your-chalk-frontend-host> with the hostname of your Chalk dashboard.


4. Get your credentials

From the Basic Information page of your app, copy for the next step:

  • Client ID
  • Client Secret

You will also need your app’s display name (the name you chose in step 1, e.g. Chalk Monitoring).


5. Create a Kubernetes secret

Using whichever secrets workflow your team prefers (kubectl, Vault, External Secrets Operator, etc.), create a Kubernetes secret containing all three values:

KeyValue
SLACK_CLIENT_IDYour app’s OAuth client ID
SLACK_BOT_NAMEDisplay name shown to users in the Chalk dashboard
SLACK_CLIENT_SECRETYour app’s OAuth client secret

The key names must be exactly as shown — Chalk reads these env vars by name.

Note: This secret is not managed by Helm. Create it before or alongside your helm upgrade — the pods will pick it up on start.


6. Configure the Helm chart

In your values.yaml for the chalk-metadata-plane chart, reference the secret you created:

chalk:
  metadata:
    load_vars_from_secrets:
      - chalk-slack-credentials   # (or whatever name you used)

7. Deploy

helm upgrade <release-name> chalk-metadata-plane -f values.yaml

After the pods restart, reload the Slack settings page in the Chalk dashboard to connect your workspace.