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
      • 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
  • 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 Microsoft Teams with Cortex
  • Step 1: Configure the integration in Cortex
  • Step 2: Install the Cortex app for Teams through Microsoft AppSource
  • Step 3: Configure a setup policy for Cortex in Teams
  • Limitations
  • How to connect Cortex entities to Microsoft Teams
  • Editing the entity descriptor
  • Using the Microsoft Teams integration
  • Viewing Microsoft Teams information across Cortex
  • Managing Microsoft Teams notifications
  • Scorecards and CQL
  • Privacy Policy
  • Still need help?​

Was this helpful?

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

Microsoft Teams

Last updated 17 days ago

Was this helpful?

is a communication and collaboration platform designed to promote greater productivity through messaging and file-sharing tools.

Integrating Microsoft Teams with Cortex allows you to:

  • Quickly find the relevant MS Teams channel to communicate with the right team, allowing for easier collaboration on projects and faster communication during an incident

    • MS Teams channels appear in the "Owners" block on .

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

  • Create that enforce standards such as having an MS Teams channel set for projects

How to configure Microsoft Teams with Cortex

If you're using a self-managed Cortex instance, you'll need to follow a manual configuration process to use Cortex's app for Microsoft Teams. Follow the .

Step 1: Configure the integration in Cortex

  1. In Cortex, navigate to the .

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

    2. Under "Integrations", click Microsoft Teams.

  2. Click Add configuration.

  3. In the side panel, click Connect account via Microsoft Teams OAuth. A popup window will appear.

  4. In the pop-up window, follow the prompts to log in to your Microsoft account. The user configuring the integration must accept the permissions listed below:

Permission
Requirements
Description

Organization.Read.All Directory.Read.All Organization.ReadWrite.All Directory.ReadWrite.All

Enables Cortex to get all organizations and fetch all repos for the import page

User.Read.All User.ReadWrite.All Directory.Read.All Directory.ReadWrite.All

Pulls Teams users into Cortex

ChannelSettings.Read.Group

Enables notifications

Team.ReadBasic.All

Enables notifications to teams

TeamMember.Read.Group

Enables Scorecard rule for Teams

Teamwork.Migrate.All

Enables notifications for users/team channels

After authenticating, you will be redirected to the Microsoft Teams integration settings page in Cortex. In the upper right corner of the page, click Test configuration to ensure Microsoft Teams was configured properly.

Step 2: Install the Cortex app for Teams through Microsoft AppSource

  1. In AppSource, click Get it now. You will be redirected to a page where you can choose whether to download a desktop app or use the web app.

Step 3: Configure a setup policy for Cortex in Teams

MS Teams admins can configure a setup policy for Cortex, can choose whether to automatically download the Cortex app into the personal Teams environments for users, and can choose to pin the app to make it more easily accessible.

If admins do not add a policy to install the Cortex app, then users will need to download the app during setup.

  1. Click Add to start configuring a setup policy for the Cortex app.

  2. After configuring a policy, navigate to the Installed apps section. Add the Cortex app here.

    • This will automatically download the app in users' personal Teams environments.

    • MS Teams admins can also apply the policy to specific users in the Teams admin center under Users > Manage Users.

Limitations

How to connect Cortex entities to Microsoft Teams

Editing the entity descriptor

x-cortex-microsoft-teams:
    channels:
    - name: team-engineering
      teamName: engineering
      description: This is a description for the engineering channel in Teams.
      notificationsEnabled: true
Field
Description
Required

name

Microsoft Teams channel name (exact match)

✓

teamName

Team name (exact match)

✓

description

Description for the Teams channel

notificationsEnabled

Boolean to enable/disable notifications

Using the Microsoft Teams integration

Viewing Microsoft Teams information across Cortex

Managing Microsoft Teams notifications

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

Team, user, and entity MS Teams notifications

  • User-based notifications are sent to users via a DM from the Cortex app.

  • Team-based notifications are sent to the MS Teams channel associated with a team.

  • Entity-based notifications are sent to the MS Teams channel associated with an entity.

Scorecards and CQL

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

Check if Microsoft Teams channel is set

Checks if a given entity has a registered Teams channel in its entity descriptor.

Definition: microsoftTeams (==/!=) null

Example

For a Scorecard focused on team operations, you can make sure that each team entity has registered a Microsoft Teams channel:

microsoftTeams != null
Number of Microsoft Teams channels

Counts the number of Microsoft Teams channels for a given entity.

  • Channel name

  • Team name

Definition: microsoftTeams.channels().length

Example

You can use this expression in the Query builder to identify teams missing a Microsoft Teams channel:

microsoftTeams.channels().length < 1

Total number of members across Microsoft Teams channels registered for the entity

Counts the total number of members across all Microsoft Teams channels registered for a given entity.

  • Channel name

  • Member name

  • Team name

Definition: microsoftTeams.members().length

Example

For a Scorecard focused on team operations, you can verify that the Microsoft Teams channel has at least one member in it:

microsoftTeams.members().length > 0

Privacy Policy

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.

On the in Cortex, click the link.

Navigate to the Teams under Teams app > Setup policies.

To pin the app, follow .

Cortex does not automatically discover MS Teams channels based on an entity tag, so you must as described below.

In order to use this integration's functionality, your MS Teams channels need to be associated with entities in Cortex. Cortex does not automatically discover channels for MS Teams, so you must define them in the .

To associate a Microsoft Teams channel with an entity, define a x-cortex-microsoft-teams block in an as shown in the example below.

Defining a Teams channel will provide in Cortex.

: After MS Teams channels are defined in an entity's YAML, MS Teams channels will appear at the top of an entity's overview page in the MST channels block. Channels are also listed in the "Owners" page in an entity's sidebar. You can click any channel name to go directly to that channel in Microsoft Teams.

You can write CQL queries and Scorecard rules based on Microsoft Teams 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 MS Teams for each type of notification. Users can also adjust their to control which notifications they receive via MS Teams.

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

Learn more about notifications in the .

See more examples in the in Cortex.

We will retain basic Microsoft Teams 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

Microsoft Teams settings page
Microsoft AppSource
admin center
Microsoft's instructions on pinning apps
Entity details page
Notifications docs
CQL Explorer
Privacy Policy
​
help@cortex.io
Microsoft Teams
entity details pages
Scorecards
self-managed Teams guide here
Microsoft Teams settings page
notifications
define channels for each entity
entity descriptor
direct access to the channel via the entity page
Scorecards and CQL
Get organizations
Get users
Get channels
Get teams
Get team members
Send messages
entity descriptor
The MS Teams channels appear in the upper right side of an entity details page.
A notification in MS Teams includes actionable information.
personal notification settings
user-based, team-based, or entity-based