> For the complete documentation index, see [llms.txt](https://docs.cortex.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.cortex.io/ingesting-data-into-cortex/integrations.md).

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

#### **Adding an integration**

Users with the `Configure Integrations` permission can install 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 by integration.

#### **Modifying an integration configuration**

You can edit an existing configuration directly, including credentials, without deleting and re-adding it. This applies to both single and multi-configuration integrations.

Users with the `Configure Integrations` permission can modify 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.

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

1. From the main sidebar, select **Integrations**.
2. Locate the integration you want to edit, then click **Settings**.
3. Find the configuration you want to edit, then click the **pencil icon**.
4. Make your changes, then click **Save**.

**A note about deleting and re-installing integrations**

If your third-party integration can't be modified in Cortex, you'll need to delete and re-install it.

Helpful tips include:

* Use the same alias name. Delete the old integration configuration in Cortex and re-install using the same alias, e.g. `cortex-github`.
* If you had multiple configurations for this integration, and the integration with the expired key was set as the default, set the new configuration as the default. This helps avoid disruptions to dependent workflows or entities, as entities will fall back to the default configuration if their YAML file references an alias that doesn't exist.
* Monitor the new integration configuration.

#### **Removing an integration configuration**

Users with the `Configure Integrations` permission can remove an integration configuration.

1. From the main sidebar, select **Integrations**.
2. Locate the integration you want to remove, then click **Settings**.
3. Find the configuration you want to edit, then click the **trash icon**.\
   The **Confirm configuration removal** window opens.
4. Click **Delete**.

#### **Managing integrations via the API**

You can also manage integration configurations programmatically using the Cortex API which is useful for codifying integration setup, syncing configurations across environments, or automating credential rotation.

The API supports listing, creating, updating, and deleting configurations for the following integrations:

* AWS, Azure DevOps, Azure Resources, Bitbucket, Buildkite, CircleCI, Coralogix, Datadog, Entra ID, GitHub, GitLab, incident.io, Jira, LaunchDarkly, Mend, New Relic, PagerDuty, Prometheus, Semgrep, SonarQube, and Wiz.

For all other integrations—including OAuth-based ones like the GitHub App, Bitbucket Atlassian App, Microsoft Teams, and Slack—use the UI to install and configure.

See the [Cortex API reference](https://docs.cortex.io/api/readme/integrations) for endpoint details and authentication.

## 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
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
