Slack
Slack is a messaging and collaboration platform that makes it easy to communicate with your team and work together efficiently on projects.
Integrating Cortex with Slack allows you to:
Quickly find the relevant Slack channel to communicate with the right team, allowing for easier collaboration on projects and faster communication during an incident
Slack channels appear in the "Owners" block on entity details pages.
Receive notifications directly in Slack for Scorecard changes, upcoming Initiatives, weekly summaries of entity performance, and more
If you use the On-call Assistant, receive notifications when an incident is triggered
Interact with the Cortex Slack Bot to query entity metadata and Scorecard scores
Create Scorecards that enforce standards such as having Slack channels set for projects
How to configure Slack with Cortex
Prerequisites
To configure this integration:
Your Cortex user must have the
Configure integrations
permissionYou must be an administrator in your Slack account
The Slack account must not be linked to another Cortex tenant
If you're using a self-managed Cortex instance, you'll need to follow a manual configuration process to use Cortex's app for Slack. Follow the self-managed Slack guide here.
Step 1: Configure the integration in Cortex
In Cortex, navigate to the Slack settings page:
In Cortex, click your avatar in the lower left corner, then click Settings.
Under "Integrations", click Slack.
Click Add configuration.
In the side panel, click Add to Slack. A pop-up window will appear.
In the pop-up window that appears, sign in to your Slack workspace.
After signing in, a permission page will load in the pop-up window.
On the permission page, click Allow.
After signing in to Slack and granting permission for Cortex to access the Slack workspace, you are redirected to the Slack integration settings page in Cortex. In the upper right corner of the page, click Test configuration to ensure Slack was configured properly.
Step 2: Configure Slack app settings
On the Slack settings page, you can configure additional options:
Require Cortex account to use Cortex's Slack app: Enable this setting if you want Cortex's Slack app to only work for users who have Cortex accounts.
Slack notifications: You can configure notifications to be sent via Slack for your organization. Click Notification settings to go directly to the notification configuration page for your workspace.
Learn more about notifications below, under Managing Slack notifications.
Identity mappings: You can map email addresses from your Slack workspace to email addresses of team members in Cortex, making sure the integration works as expected for users. Click Identity mappings to go directly to the Identity mapping configuration page for your workspace.

Using the Slack integration
Viewing Slack information across Cortex
Slack channels associated with teams or entities will appear in several places across Cortex:
Entity details page: Slack channels will appear at the top of an entity's overview page in a Slack channels block, and in the "Owners" page in the entity's sidebar. You can click any channel name to go directly to that channel in Slack.
You can write CQL queries and Scorecard rules based on Slack channels. Learn more under Scorecards and CQL.
Managing Slack notifications
After configuring the Slack integration, you can choose whether to allow Slack notifications for your workspace.
In Cortex under Settings > Notifications, an admin or a user with the Configure workspace notification settings
permission can enable or disable the option to receive notifications via Slack for each type of notification. Users can also adjust their personal notification settings to control which notifications they receive via Slack.
Team, user, and entity Slack notifications
Notifications are user-based, team-based, or entity-based. DMs and channel notifications are sent from the Cortex Slack Bot.
User-based notifications are sent to users via a Slack DM.
Team-based notifications are sent to the Slack channel associated with a team.
Entity-based notifications are sent to the Slack channel associated with an entity.
Note that notifications can be sent to private Slack channels, but the Cortex Slack Bot must be a member of the channel in order for the notification to be delivered to the channel.
Learn more about notifications in the Notifications docs.
Using the Cortex Slack bot
After configuring the Slack integration, you can use commands to interact with the Cortex Bot in your Slack workspace. The Cortex Bot also powers notifications that are sent via Slack.
The Cortex Bot is a Slack app called "Cortex."
Cortex Bot notifications
The Cortex Bot sends you notifications based on which notifications are configured for your workspace (and based on your personal notification settings).
In addition, the Cortex bot will send based and team-based weekly reports. The weekly report for users summarizes how their entities are tracking against Scorecards and Initiatives; the report for teams delivers the same summary for entities owned by that team.
Add the Cortex Slack Bot to a private channel
To ensure you receive notifications to a private channel, make sure you have added it to that channel:
Open the Slack channel where you want to add the bot.
Type and enter
@Cortex
.Slack will prompt you to take an action. Click Add them.
Cortex Bot Commands
Using the below commands in Slack, you can quickly query entity metadata and Scorecard scores. The <tag>
refers to the entity tag.
Command
Result
/cortex dependencies <tag>
List all incoming and outgoing first-level dependencies
/cortex deploys <tag>
List recent deploys
/cortex docs <tag>
List all documentation links
/cortex domain <tag>
List domain information, such as owners, on-call, links, and timeline events
/cortex entity <tag>
List information for any entity, combining the behavior of service
, team
, domain
and resource
/cortex help <tag>
Display the full list of commands
/cortex links <tag>
List all links
/cortex links [type] <tag>
List all links of a type parameter, such as metrics or openapi
/cortex logs <tag>
List all logs links
/cortex oncall <tag>
Find current on-call info
/cortex owners <tag>
List all owners and their email addresses
/cortex resource <tag>
List resource information, such as owners, on-call, links, and timeline events
/cortex runbooks <tag>
List all runbook links
/cortex scores <tag>
List all Scorecard scores
/cortex search <tag>
Query for entities using Lucene queries
/cortex sentry <tag>
List recent Sentry issues
/cortex service <tag>
List service information, such as owners, on-call, links, and timeline events
/cortex team <tag>
List team information, such as owned entities, links, and timeline events
/cortex timeline <tag>
List recent timeline events
Using AI assistant in Slack
The Cortex AI assistant is a conversational interface that helps you navigate Cortex. You can ask the AI assistant questions such as "Which entities do I own?"
Use it with Slack in the following ways:
In a public channel: Tag Cortex (type
@Cortex
) and ask a question.In a DM: Message the Cortex app directly and ask a question.
How to connect Cortex entities to Slack channels
In order to use this integration's functionality, your Slack channels need to be associated with entities in Cortex. You can connect Slack channels to teams and other entities in an entity descriptor when following a GitOps approach, or you can connect them in the Cortex UI.
Without configuring the Slack integration, you can also add a Slack channel as an external documentation link on an entity.
Editing the entity descriptor
You can define Slack channels by name or ID, and enable or disable notifications to the channel, in an entity descriptor for any entity type. Defining a Slack channel will enable direct access to the channel from the entity's page in Cortex.
When to define by name vs. channel ID
When you define by name, it is more easily recognizable to users when viewing the entity's YAML. However, if a Slack channel's name is likely to change, it's better to define by ID as it won't break the entity's Slack link in Cortex.
Defining by channel IDs
We recommend registering Slack channels by ID, as channel names may change.
x-cortex-slack:
channels:
- id: ABCDEF123
notificationsEnabled: true
description: This is a description for this Slack channel
id
Slack channel ID
✓
notificationsEnabled
Boolean to enable/disable notifications in Slack
✓
description
Description for the Slack channel
Defining by channel names
x-cortex-slack:
channels:
- name: team-engineering
notificationsEnabled: true
description: A description for this Slack channel.
name
Slack channel name
✓
notificationsEnabled
Boolean to enable/disable notifications in Slack
✓
description
Description for the Slack channel
Connect channels to entities without configuring the Slack integration
You can connect Slack channels to entities without configuring the Slack integration. Note that this method will only provide a link to Slack from the entity; it will not include any features of the Slack integration, such as ownership tracking, notifications, Slack Bot, and the ability to use CQL to query Slack data.
Use Slack's redirect link format, https://slack.com/app_redirect?channel={channel_name}
, to add the link to an entity YAML, under the x-cortex-slack
block. Make sure to replace channel_name
with your Slack channel's name.
x-cortex-slack:
channels:
- name: https://slack.com/app_redirect?channel=channel_name
Identity mappings
Cortex maps email addresses in your organization's Slack workspace to email addresses that belong to team members, so you never need to define email addresses in the entity descriptor.
You can confirm that users' Slack accounts are connected from the Onboarding management tool or from the identity mappings section in settings.
Scorecards and CQL
With the Slack integration, you can create Scorecard rules and write CQL queries based on Slack channels.
See more examples in the CQL Explorer in Cortex.
Background sync
Cortex conducts a background sync of Slack identities every day at 10 a.m. UTC.
FAQs and troubleshooting
Can users access information via the Slack Bot if they haven't logged in to our Cortex instance?
Yes, this is possible, depending on the settings you configured for the Slack Bot in your workspace. To allow users to use the Slack Bot without logging in to Cortex, navigate to the Slack integration settings page in Cortex and disable the toggle next to Require Cortex account to use Cortex's Slack app.
Can I disable some of the notifications I receive in Slack?
You can adjust your personal notification settings, but note that some types of notifications cannot be disabled.
Is the Slack integration required to add Slack channels to a team?
No, the Slack integration is not required to add channels to Cortex teams. You can manually add any Slack channels without setting up the Slack integration via the entity descriptor or via the API for a team’s metadata.
Privacy policy
Cortex retains basic Slack metadata like user IDs for the period necessary to fulfill the purposes outlined in our Privacy Policy unless a longer retention period is required or permitted by law, or where the Customer Agreement requires or permits specific retention or deletion periods.
To request to access, transfer, or delete data, you can reach out to the Cortex support team.
Still need help?
The following options are available to get assistance from the Cortex Customer Engineering team:
Email: [email protected], or open a support ticket in the in app Resource Center
Chat: Available in the Resource Center
Slack: Users with a connected Slack channel will have a workflow added to their account. From here, you can either @CortexTechnicalSupport or add a
:ticket:
reaction to a question in Slack, and the team will respond directly.
Don’t have a Slack channel? Talk with your Customer Success Manager.
Last updated
Was this helpful?