# Integrations

**Seamlessly Connect Your Entire Stack**

Cortex supports a broad set of [third-party](#third-party-integrations), [internally hosted](#internally-hosted-integrations), and [custom webhook](#custom-webhook-integration) integrations designed to meet your engineering organization where it already works. Whether you're connecting source control, CI/CD pipelines, incident management tools, or cloud infrastructure providers, Cortex fits into your existing workflows without significant setup overhead or custom development.

**Key Benefits**

* **Centralized data synchronization**. Aggregate data from across your toolchain into a single, unified view. Eliminate the need for manual data collection and reduce the risk of fragmented or inconsistent reporting.
* **Flexibility at scale**. Cortex supports organizations of all sizes, offering both out-of-the-box integrations and extensible configurations for teams with more specialized tooling requirements.
* **Minimal operational overhead**. Once configured, integrations run continuously in the background, keeping your platform data fresh and reliable without ongoing maintenance from your team.
* **Secure and compliant by design**. All integration connections are established using industry-standard authentication protocols, ensuring your data is transmitted and stored in accordance with your organization's security requirements.

<div align="left" data-with-frame="true"><figure><img src="/files/41GhSHvaQzG0ST1reCOc" alt=""><figcaption></figcaption></figure></div>

Users can view the Integrations page to check which integrations are configured and monitor their health status. To install, uninstall, or modify integrations, users must have the `Configure Integrations` permission.

{% hint style="info" %}
Integration sync times vary and are subject to scheduling overrides and timing variance.
{% endhint %}

## Third-party integrations

Cortex connects to each tool via its official API, pulling live data directly from your systems. When viewing an entity, the information displayed reflects the current state of your tools—no manual syncing or stale data to manage.

Cortex integrates with tools across the core domains of engineering operations, including:

### Essentials

<details>

<summary>Version control</summary>

* [Azure DevOps](/ingesting-data-into-cortex/integrations/azuredevops.md)
* [Bitbucket](/ingesting-data-into-cortex/integrations/bitbucket.md)
* [GitHub](/ingesting-data-into-cortex/integrations/github.md)
* [GitLab](/ingesting-data-into-cortex/integrations/gitlab.md)

</details>

<details>

<summary>Team/Ownership</summary>

* [Azure DevOps](/ingesting-data-into-cortex/integrations/azuredevops.md)
* [BambooHR](/ingesting-data-into-cortex/integrations/bamboohr.md)
* [Entra ID (formerly Azure Active Directory)](/ingesting-data-into-cortex/integrations/entraid.md)
* [GitHub](/ingesting-data-into-cortex/integrations/github.md)
* [GitLab](/ingesting-data-into-cortex/integrations/gitlab.md)
* [Google](/ingesting-data-into-cortex/integrations/google.md)
* [Okta](/ingesting-data-into-cortex/integrations/okta.md)
* [Opsgenie](/ingesting-data-into-cortex/integrations/opsgenie.md)
* [ServiceNow](/ingesting-data-into-cortex/integrations/servicenow.md)
* [Workday](/ingesting-data-into-cortex/integrations/workday.md)

</details>

<details>

<summary>On-call</summary>

* [PagerDuty](/ingesting-data-into-cortex/integrations/pagerduty.md)
* [Opsgenie](/ingesting-data-into-cortex/integrations/opsgenie.md)
* [Splunk On-Call (formerly VictorOps)](/ingesting-data-into-cortex/integrations/splunk-oncall.md)
* [xMatters](/ingesting-data-into-cortex/integrations/xmatters.md)

</details>

<details>

<summary>Project management</summary>

* [Azure DevOps](/ingesting-data-into-cortex/integrations/azuredevops.md)
* [ClickUp](/ingesting-data-into-cortex/integrations/clickup.md)
* [GitHub](/ingesting-data-into-cortex/integrations/github.md)
* [GitLab](/ingesting-data-into-cortex/integrations/gitlab.md)
* [Jira](/ingesting-data-into-cortex/integrations/jira.md)

</details>

<details>

<summary>Communication</summary>

* [Slack](/ingesting-data-into-cortex/integrations/slack.md)
* [Microsoft Teams](/ingesting-data-into-cortex/integrations/microsoftteams.md)

</details>

<details>

<summary>Code quality</summary>

* [Codecov](/ingesting-data-into-cortex/integrations/codecov.md)
* [SonarQube](/ingesting-data-into-cortex/integrations/sonarqube.md)

</details>

### Extended

<details>

<summary>CI/CD</summary>

* [ArgoCD](/ingesting-data-into-cortex/integrations/argocd.md)
* [Azure DevOps](/ingesting-data-into-cortex/integrations/azuredevops.md)
* [Buildkite](/ingesting-data-into-cortex/integrations/buildkite.md)
* [CircleCI](/ingesting-data-into-cortex/integrations/circleci.md)
* [GitHub](/ingesting-data-into-cortex/integrations/github.md)
* [Jenkins](/ingesting-data-into-cortex/integrations/jenkins.md)

You can also use Cortex's [deploys API](/api/readme/deploys.md) to send deployment data from other services to Cortex.

</details>

<details>

<summary>Cloud</summary>

* [AWS](/ingesting-data-into-cortex/integrations/aws.md)
* [Azure Resources](/ingesting-data-into-cortex/integrations/azureresources.md)
* [Google](/ingesting-data-into-cortex/integrations/google.md)
* [Kubernetes](/ingesting-data-into-cortex/integrations/kubernetes.md)
* [Syntasso Kratix Enterprise (SKE)](/ingesting-data-into-cortex/integrations/syntasso.md)

</details>

<details>

<summary>Error tracking</summary>

* [BugSnag](/ingesting-data-into-cortex/integrations/bugsnag.md)
* [Rollbar](/ingesting-data-into-cortex/integrations/rollbar.md)
* [Sentry](/ingesting-data-into-cortex/integrations/sentry.md)

</details>

<details>

<summary>Feature flags</summary>

* [LaunchDarkly](/ingesting-data-into-cortex/integrations/launchdarkly.md)

</details>

<details>

<summary>Incidents</summary>

* [FireHydrant](/ingesting-data-into-cortex/integrations/firehydrant.md)
* [Incident.io](/ingesting-data-into-cortex/integrations/incidentio.md)
* [PagerDuty](/ingesting-data-into-cortex/integrations/pagerduty.md)
* [Rootly](/ingesting-data-into-cortex/integrations/rootly.md)

</details>

<details>

<summary>Observability</summary>

* [Coralogix](/ingesting-data-into-cortex/integrations/coralogix.md)
* [Datadog](/ingesting-data-into-cortex/integrations/datadog.md)
* [Dynatrace](/ingesting-data-into-cortex/integrations/dynatrace.md)
* [Google Observability Cloud](/ingesting-data-into-cortex/integrations/google.md)
* [Instana](/ingesting-data-into-cortex/integrations/instana.md)
* [New Relic](/ingesting-data-into-cortex/integrations/newrelic.md)
* [Prometheus](/ingesting-data-into-cortex/integrations/prometheus.md)
* [ServiceNow Cloud Observability (formerly Lightstep)](/ingesting-data-into-cortex/integrations/lightstep.md)
* [Splunk Observability Cloud (formerly SignalFX)](/ingesting-data-into-cortex/integrations/splunk-observability.md)
* [Sumo Logic](/ingesting-data-into-cortex/integrations/sumologic.md)

</details>

<details>

<summary>Security</summary>

* [Apiiro](/ingesting-data-into-cortex/integrations/apiiro.md)
* [Checkmarx](/ingesting-data-into-cortex/integrations/checkmarx.md)
* [GitHub](/ingesting-data-into-cortex/integrations/github.md)
* [GitLab](/ingesting-data-into-cortex/integrations/gitlab.md)
* [Mend](/ingesting-data-into-cortex/integrations/mend.md)
* [Semgrep](/ingesting-data-into-cortex/integrations/semgrep.md)
* [Snyk](/ingesting-data-into-cortex/integrations/snyk.md)
* [Veracode](/ingesting-data-into-cortex/integrations/veracode.md)
* [Wiz](/ingesting-data-into-cortex/integrations/wiz.md)

</details>

<details>

<summary>ITSM</summary>

* [ServiceNow](/ingesting-data-into-cortex/integrations/servicenow.md)

</details>

### Configuring third-party integrations

Cortex integrates with a wide range of third-party tools to surface relevant data across your workspace. Users with the `Configure Integrations` permission can install, uninstall, or modify integrations.

1. From the main sidebar, select **Integrations**.
2. Locate the integration you want to set up, then click **Install**. Specific configuration steps and required credentials vary depending on the integration.

### Modifying an existing integration configuration

Users with the `Configure Integrations` permission can install, uninstall, or modify integrations.

In Cortex, you can modify an existing integration configuration directly, without needing to delete and re-add it. This applies to all editable fields, including credentials, and is supported for both single and multi-configuration integrations.

{% hint style="info" %}
**The following third-party configurations cannot be modified**

OAuth-based configurations cannot be directly modified. To make changes, you'll need to delete and re-install the integration, since setup requires a third-party redirect. This applies to: Bitbucket Atlassian App, GitHub App, Kubernetes (which uses its own unique flow), Microsoft Teams, and Slack.&#x20;

Additionally, configuration management isn't available for ArgoCD, Humanitec, and Syntasso.
{% endhint %}

1. From the main sidebar, select **Integrations**.
2. Locate the integration you want to edit, then click **Settings**. \
   The integration page is displayed.
3. Locate the configuration you want to edit, then click the **pencil icon**.
4. Make your edits, then click **Save**.

## Internally hosted integrations

If your tooling is hosted within your own infrastructure rather than the cloud, Cortex can still connect to it. Internally hosted integrations allow you to source data from systems running behind your firewall or private network and reflect that data in Cortex, giving you the same visibility and platform functionality without requiring your tools to be publicly accessible.

**Example use case**

If your team runs tools like GitLab, Jenkins, or Jira on private infrastructure rather than in the cloud, or relies on proprietary internal tooling for tracking services, deployments, or ownership, internally hosted integrations allow Cortex to pull in that data without requiring those systems to be publicly accessible.

See [Internally hosted integrations](/ingesting-data-into-cortex/integrations/axon-relay.md) for more information.

## Custom webhook integrations

Custom webhook integrations allow you to send data to Cortex from virtually any source, including internal tooling or systems that don't have a native Cortex integration. Each webhook generates a unique URL that accepts arbitrary JSON payloads via `POST`—no authentication headers or Cortex entity tags required. This makes custom webhooks a flexible option for teams that need to pipe in data from homegrown tools, scripts, or automated workflows that fall outside Cortex's standard integration offerings.

**Example use case**

If your team uses an internal deployment tool that isn't supported as a native integration, you can configure it to `POST` deployment events directly to your custom webhook URL, making that data available within Cortex without any additional middleware.

See [Custom webhook integrations](/ingesting-data-into-cortex/integrations/webhook.md) for more information.

## SSO integrations for Cortex workspace access

Single sign-on (SSO) allows users to authenticate with Cortex using the same credentials they already use across your organization's other tools and systems. Rather than managing a separate set of login credentials, users sign in once through your identity provider—such as Okta, Google, or Microsoft Entra ID—and gain access automatically. For organizations with strict security or compliance requirements, SSO also provides centralized control over user access, making it easier to provision and deprovision accounts as team members join or leave.

Cortex supports the following SSO integrations:

* [Microsoft Entra ID](/configure/settings/managing-users/configuring-sso/entraid.md)
* [Google](/configure/settings/managing-users/configuring-sso/google.md)
* [Okta](/configure/settings/managing-users/configuring-sso/okta.md)
* [Other OIDC providers](/configure/settings/managing-users/configuring-sso/oidc.md)

## SCIM integrations for provisioning users

System for Cross-domain Identity Management (SCIM) is an open standard protocol that automates the exchange of user identity information between an identity provider (IdP)—such as Microsoft Entra ID or Okta—and a target application like Cortex. It defines a standard schema and REST API for creating, updating, and deprovisioning user accounts, eliminating the need for manual account management.

Cortex supports the following SCIM integrations:

* [Microsoft Entra ID](/configure/settings/managing-users/provisioning-users-with-scim/entraid-scim.md)
* [Okta](/configure/settings/managing-users/provisioning-users-with-scim/okta-scim.md)

See [Provisioning users with SCIM](/configure/settings/managing-users/provisioning-users-with-scim.md) for more information.

## Integration rate limiting

Cortex has built a distributed self-throttling system to ensure that certain functionality, such as CQL evaluations or background syncs to pull data from integrations, are not going over the rate limit thresholds for specific vendors. It handles different rate limit thresholds for different APIs within the same integration, which is common for git APIs such as Bitbucket.

The system is designed to proactively throttle before hitting a 429 from the vendor, and it works regardless of how many evaluators are trying to access that integration. Note that this system does not track other requests with the same token or undocumented limits set by vendors.

## Troubleshooting with integration logs

{% hint style="info" %}
This feature is available in Cortex cloud.
{% endhint %}

While viewing an integration's settings page, click the **Logs** tab to view error logs from the last 7 days. You can filter the logs list by configuration and by operation (for example, you could filter to view errors surfaced only via Scorecards).

<div align="left" data-with-frame="true"><figure><img src="/files/HIwqrjNekko0ilzNA66d" alt="Click the Logs tab on an integration to view integration logs and errors."><figcaption></figcaption></figure></div>

Click into a log to get more information, including time stamp, status code, full error, and request path.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.cortex.io/ingesting-data-into-cortex/integrations.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
