LogoLogo
Login to CortexBook a DemoCortex Academycortex.io
  • Cortex Docs
  • Cortex Quick Start
  • Ingesting data into Cortex
    • Managing Entities
      • Adding entities
        • Add services
        • Add domains
        • Add teams
        • Add custom entity types
        • Defining dependencies
      • Entity details page
      • Defining ownership
      • Defining relationship types
      • Grouping entities
      • Adding external documentation
      • Adding Deploy data
      • Adding custom data
      • Viewing discovered entities
      • Archiving entities
      • Relationship graph
      • Using On-call Assistant for incidents
      • Managing Terraform infra in Cortex
    • Managing Catalogs
    • Integrations
      • Internally hosted integrations
      • ArgoCD
      • AWS
      • Azure DevOps
      • Azure Resources
      • BambooHR
      • Bitbucket
      • BugSnag
      • Buildkite
      • Checkmarx
      • CircleCI
      • ClickUp
      • Codecov
      • Coralogix
      • Custom webhook integrations
      • Datadog
      • Dynatrace
      • Entra ID (Azure AD)
      • FireHydrant
      • GitHub
      • GitLab
      • Google
      • Grafana
      • incident.io
      • Instana
      • Jenkins
      • Jira
      • Kubernetes
      • LaunchDarkly
      • Lightstep
      • Mend
      • Microsoft Teams
      • New Relic
      • Okta
      • Opsgenie
      • PagerDuty
      • Prometheus
      • Rollbar
      • Rootly
      • Sentry
      • ServiceNow
      • Slack
      • Snyk
      • SonarQube
      • Splunk Observability Cloud (SignalFx)
      • Splunk On-Call (VictorOps)
      • Sumo Logic
      • Veracode
      • Wiz
      • Workday
      • xMatters
  • Scorecards
    • Initiatives and Action items
      • Creating issues based on Initiatives
    • Scorecard rule exemptions
    • Scorecard rule filters
    • Scorecard examples
    • Scorecards as code
  • Reports
    • Executive report
    • All Scorecards report
    • Bird's eye report
    • Progress report
    • Report card
  • Eng Intelligence
    • Custom Metrics
    • Jira Metrics
    • Metrics Explorer (Beta)
  • Cortex Query Language (CQL)
    • Using CQL reports
    • Using JQ in Cortex
  • Workflows
    • Creating a Workflow
      • Workflows as code
    • Blocks
    • Running a Workflow
    • Registering a Scaffolder template
      • Scaffolder advanced usage
    • Using a Workflow to sync in ArgoCD
    • Kicking off a Jenkins pipeline in a Workflow
    • Calling internal service endpoints in a Workflow
  • Plugins
    • Creating a plugin
      • Creating a plugin proxy
    • Migrating Backstage plugins to Cortex
  • Engineering homepage
  • Workspace Settings
    • Using GitOps for Cortex
      • GitOps logs
    • Managing users
      • Roles and permissions
        • Custom roles
        • Team ownership entity editing
      • Configuring SSO
        • Microsoft Entra ID
        • Google
        • Other OIDC providers
        • Okta
          • Okta SCIM
      • Configuring identity mappings
      • Onboarding management
    • API keys, secrets, and tokens
      • Secrets
      • Personal tokens
    • Audit logs
    • Entity settings
      • Data verification
      • Auto archiving entities
    • IP allowlist
    • Notifications
      • Notification logs
    • Customizing your workspace
    • Using search in Cortex
  • Cortex API
    • REST API operations
      • API Keys
      • Audit Logs
      • Catalog Entities
      • Custom Data
        • Custom Data (Advanced)
      • Custom Events
      • Custom Metrics
      • Dependencies
      • Deploys
      • Discovery Audit
      • Docs
      • Eng Intel: User Labels
      • Entity Relationship Types (Beta)
      • Entity Relationships (Beta)
      • Entity Types
      • GitOps Logs
      • Groups
      • Initiatives
      • Integrations APIs
        • Azure Active Directory (Entra ID) API
        • Azure Resources API
        • AWS API
        • Azure DevOps API
        • CircleCI API
        • Coralogix API
        • Datadog API
        • GitHub API
        • GitLab API
        • incident.io API
        • LaunchDarkly API
        • New Relic API
        • PagerDuty API
        • Prometheus API
        • SonarQube API
      • IP Allowlist
      • Notification Logs
      • On call
      • Packages
      • Plugins
      • Queries
      • SCIM
      • Scorecards
      • Secrets
      • Team Hierarchies
      • Teams
      • Workflows
Powered by GitBook
On this page
  • How to configure Slack with Cortex
  • Prerequisites
  • Step 1: Configure the integration in Cortex
  • Step 2: Configure Slack app settings
  • Using the Slack integration
  • Viewing Slack information across Cortex
  • Managing Slack notifications
  • Using the Cortex Slack bot
  • How to connect Cortex entities to Slack channels
  • Identity mappings
  • Scorecards and CQL
  • Background sync
  • FAQs and troubleshooting
  • Privacy policy
  • Still need help?​

Was this helpful?

Export as PDF
  1. Ingesting data into Cortex
  2. Integrations

Slack

Last updated 4 days ago

Was this helpful?

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 .

  • Receive directly in Slack for Scorecard changes, upcoming Initiatives, weekly summaries of entity performance, and more

  • If you use the , receive notifications when an incident is triggered

  • Interact with the to query entity metadata and Scorecard scores

  • Create 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 permission

  • You must be an administrator in your Slack account

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 .

Step 1: Configure the integration in Cortex

    1. In Cortex, click your avatar in the lower left corner, then click Settings.

    2. Under "Integrations", click Slack.

  1. Click Add configuration.

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

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

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

  • 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:

Managing Slack notifications

After configuring the Slack integration, you can choose whether to allow Slack notifications for your workspace.

Team, user, and entity Slack notifications

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

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

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:

  1. Open the Slack channel where you want to add the bot.

  2. Type and enter @Cortex.

  3. Slack will prompt you to take an action. Click Add them.

Cortex Bot Commands

Command

Result

/cortex dependencies <tag>

List all incoming and outgoing first-level dependencies

/cortex deploys <tag>

List recent deploys

/cortex docs <tag>

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

/cortex links [type] <tag>

List all links of a type parameter, such as metrics or openapi

/cortex logs <tag>

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

/cortex scores <tag>

List all Scorecard scores

/cortex search <tag>

/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 AI assistant is in private beta. Please contact your Cortex Customer Success Manager if you are interested in participating in the public beta.

As with all Large Language Models (LLM), the AI Assistant may not provide accurate responses. Please reach out to Cortex Customer Engineering if you encounter any issues.

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

Editing the entity descriptor

When to define by name vs. channel ID

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
Field
Description
Required

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.
Field
Description
Required

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.

x-cortex-slack:
  channels:
  - name: https://slack.com/app_redirect?channel=channel_name
  1. In the upper right corner, click Configure entity.

  2. Click the Slack channels tab, then click +Add.

  3. In the side panel, configure the Slack channel details:

    • Channel name: Type in or select your Slack channel's name.

    • Description: Add a description to help others understand the purpose of the Slack channel.

  4. At the bottom of the side panel, click Add.

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.

Scorecards and CQL

With the Slack integration, you can create Scorecard rules and write CQL queries based on Slack channels.

Check if Slack channel is set

Checks if an entity has a registered Slack channel in its entity descriptor.

Definition: slack (==/!=) null

Example

For a Scorecard focused on onboarding entities, you can define a rule to make sure each entity has a registered Slack channel:

slack != null

Defining a rule to make sure a Slack channel is set is a good way to make sure that users can reach out to entity owners for more information or if an issue arises.

Number of Slack channels

Counts the number of Slack channels registered for a given entity.

Definition: slack.channels().length

Example

Similar to slack != null, you can use this expression to write a rule checking that entities are linked to a Slack channnel:

slack.channels().length > 0

This rule makes sure that there is at least one Slack channel set.

Total number of members across Slack channel

Counts the total number of members across all registered Slack channels.

Definition: slack.numOfMembers()

Example

You can use this expression in the Query Builder to find entities linked to empty Slack channels:

slack.numOfMembers() < 1

If an entity is linked to an empty Slack channel, it might indicate a gap in your notification process.

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?

Can I disable some of the notifications I receive in Slack?

Is the Slack integration required to add Slack channels to a team?

Privacy policy

To request to access, transfer, or delete data, you can reach out to the Cortex support team.

The following options are available to get assistance from the Cortex Customer Engineering team:

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

In Cortex, navigate to the :

In the side panel, click Add to Slack. A pop-up window will appear.

On the , you can configure additional options:

Learn more about notifications below, under .

.

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

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 to control which notifications they receive via Slack.

Notifications are . DMs and channel notifications are sent from the .

Note that notifications can be sent to private Slack channels, but the in order for the notification to be delivered to the channel.

Learn more about notifications in the .

The Cortex Bot sends you notifications based on (and based on your ).

Using the below commands in Slack, you can quickly query entity metadata and Scorecard scores. The <tag> refers to the .

List all

List all

List all

List all

Query for entities using

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 when following a approach, or you can connect them in the Cortex UI.

Without configuring the Slack integration, you can also add a Slack channel as an on an entity.

You can define Slack channels by name or ID, and enable or disable 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 you , 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 as it won't break the entity's Slack link in Cortex.

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

Navigate to an in Cortex.

Notifications: If enabled, you will receive to this Slack channel.

You can confirm that users' Slack accounts are connected from the tool or from the .

See more examples in the in Cortex.

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 in Cortex and disable the toggle next to Require Cortex account to use Cortex's Slack app.

You can adjust your , but note that .

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 or for a team’s metadata.

Cortex retains basic Slack metadata like user IDs for the period necessary to fulfill the purposes outlined in our unless a longer retention period is required or permitted by law, or where the Customer Agreement requires or permits specific retention or deletion periods.

Still need help?

Email: , or open a support ticket in the in app Resource Center

Slack settings page
Slack settings page
Learn more about identity mapping in the docs
Entity details page
Notifications docs
external documentation link
notifications
Slack's redirect link
entity's details page
Onboarding management
identity mappings section in settings
CQL Explorer
Slack integration settings page
Privacy Policy
​
help@cortex.io
Slack
On-call Assistant
Scorecards
self-managed Slack guide here
entity details pages
notifications
Cortex Slack Bot
Managing Slack notifications
Scorecards and CQL
Cortex Slack Bot must be a member of the channel
define by name
define by ID
notifications
documentation links
links
logs links
runbook links
Lucene queries
GitOps
Cortex Slack Bot
via the entity descriptor
personal notification settings
user-based, team-based, or entity-based
which notifications are configured for your workspace
personal notification settings
personal notification settings
some types of notifications cannot be disabled
via the API
entity tag
entity descriptor
In the Slack permission page, click Allow.
You can configure additional settings for Slack after setting up the integration.
Slack channels appear in the top of an entity details page.
When Slack prompts you to add the Cortex bot, click "Add them."
In the upper right side of an entity, click "Configure entity."
Click the Slack Channels tab, then click +Add.