Elementary Slack integration includes sending Slack alerts on failures in dbt tests and models, and the option to distribute the data observability report as a message attachment.
There are two integration options: Token or Webhook.
Both methods let you receive alerts from Elementary, but there are several features that are only supported in one of the two.
Below is features support comparison table, to help you select the integration method.
If possible, Token is the preferred way. It allows more flexibility and
supports more features than Webhook.
Go to the "OAauth & Permissions" page for your newly-created app, and add the following scopes under "Bot Token Scopes":
channels:join - Join public channels in a workspace
channels:read - View basic information about public channels in a workspace
chat:write - Send messages as <app>
files:write - Upload, edit, and delete files as <app>
users:read - View people in a workspace
users:read.email - View email addresses of people in a workspace
groups:read - View basic information about private channels that your slack app has been added to
2. Install app at your Workspace
At the "OAuth & Permissions" page, press on "Install to Workspace" in order to generate Slack token:
Create a webhook
Go to the 'Incoming Webhooks' page for your newly-created app and toggle 'Activate Incoming Webhooks' to turn it on. Then click on 'Add New Webhook to Workspace':
Select the channel that the notifications will be posted to:
Lastly, pass the token / webhook to the CLI as a param or in the config.yml file:
Token:
Use the Slack token when you execute edr monitor using the option -st, --slack-token and -ch, --slack-channel-name:
This flag workflows: true changes the format in which edr sends Slack alerts to the key-value pairs format supported by Slack Workflows.
The alert keys can be used to build a Slack workflow.