Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion baton/_release-notes.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: "Connector release notes"
sidebarTitle: "Release notes"
description: "Here you'll find the latest on new connectors, connector updates, and other connector news from C1."
---
{/* OpenAI */}
{/* Cortex XDR */}
{/* No connector release notes for week of January 9, 2026 */}

<Update label="January 2, 2026">
Expand Down
3 changes: 2 additions & 1 deletion baton/capabilities.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -165,6 +165,8 @@ og:description: "A quick reference for how each connector can be set up and what
| [Oracle Identity Cloud Service](/baton/oracle-idcs) | <Icon icon="cloud" /> <Icon icon="plug" /> | <Icon icon="key" /> <Icon icon="user" /> <Icon icon="face-confused" /> | |
| [Outreach](/baton/outreach) | <Icon icon="cloud" /> <Icon icon="plug" /> | <Icon icon="key" /> <Icon icon="user" /> <Icon icon="face-confused" /> | |
| [PagerDuty](/baton/pagerduty) | <Icon icon="cloud" /> <Icon icon="plug" /> | | |
| [Palo Alto Networks Cortex XDR](/docs/baton/palo-alto-cortex) | <Icon icon="cloud" /> <Icon icon="plug" /> | <Icon icon="key" /> | |
| [Palo Alto Networks Cortex XSOAR](/docs/baton/xsoar) | <Icon icon="cloud" /> <Icon icon="plug" /> | | |
Comment on lines +168 to +169
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

Path prefix inconsistency with other connectors.

These new entries use /docs/baton/... paths while all other connectors in this table use /baton/... paths (e.g., /baton/pagerduty on line 167, /baton/panda-doc on line 170).

Additionally, docs.json registers these connectors as baton/palo-alto-cortex and baton/xsoar without the /docs prefix, which would result in broken links in the capabilities table.

🔧 Suggested fix
-| [Palo Alto Networks Cortex XDR](/docs/baton/palo-alto-cortex) | <Icon icon="cloud" /> <Icon icon="plug" /> | <Icon icon="key"  /> | |
-| [Palo Alto Networks Cortex XSOAR](/docs/baton/xsoar) | <Icon icon="cloud" /> <Icon icon="plug" /> | | |
+| [Palo Alto Networks Cortex XDR](/baton/palo-alto-cortex) | <Icon icon="cloud" /> <Icon icon="plug" /> | <Icon icon="key"  /> | |
+| [Palo Alto Networks Cortex XSOAR](/baton/xsoar) | <Icon icon="cloud" /> <Icon icon="plug" /> | | |
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
| [Palo Alto Networks Cortex XDR](/docs/baton/palo-alto-cortex) | <Icon icon="cloud" /> <Icon icon="plug" /> | <Icon icon="key" /> | |
| [Palo Alto Networks Cortex XSOAR](/docs/baton/xsoar) | <Icon icon="cloud" /> <Icon icon="plug" /> | | |
| [Palo Alto Networks Cortex XDR](/baton/palo-alto-cortex) | <Icon icon="cloud" /> <Icon icon="plug" /> | <Icon icon="key" /> | |
| [Palo Alto Networks Cortex XSOAR](/baton/xsoar) | <Icon icon="cloud" /> <Icon icon="plug" /> | | |
🤖 Prompt for AI Agents
In `@baton/capabilities.mdx` around lines 168 - 169, The two table rows use
incorrect path prefixes; replace the link targets "[Palo Alto Networks Cortex
XDR](/docs/baton/palo-alto-cortex)" and "[Palo Alto Networks Cortex
XSOAR](/docs/baton/xsoar)" in baton/capabilities.mdx with the consistent paths
"/baton/palo-alto-cortex" and "/baton/xsoar" respectively so they match the
docs.json registrations (e.g., change to "[Palo Alto Networks Cortex
XDR](/baton/palo-alto-cortex)" and "[Palo Alto Networks Cortex
XSOAR](/baton/xsoar)").

| [PandaDoc](/baton/panda-doc) | <Icon icon="cloud" /> <Icon icon="plug" /> | | |
| [Panther](/baton/panther) | <Icon icon="cloud" /> <Icon icon="plug" /> | | |
| [Paylocity](/baton/paylocity) | <Icon icon="cloud" /> <Icon icon="plug" /> | | |
Expand Down Expand Up @@ -229,7 +231,6 @@ og:description: "A quick reference for how each connector can be set up and what
| [Workday Account](/baton/workday-wql) | <Icon icon="cloud" /> <Icon icon="plug" /> | <Icon icon="key" /> | |
| [Workday](/baton/workday) | <Icon icon="cloud" /> <Icon icon="plug" /> | | |
| [Xero](/baton/xero) | <Icon icon="cloud" /> <Icon icon="plug" /> | | |
| [XSOAR](/baton/xsoar) | <Icon icon="cloud" /> <Icon icon="plug" /> | | |
| [YouTrack](/baton/youtrack) | <Icon icon="cloud" /> <Icon icon="plug" /> | | |
| [Zendesk v1](/baton/v1/zendesk) | <Icon icon="cloud" /> | | |
| [Zendesk v2](/baton/zendesk-v2) | <Icon icon="cloud" /> <Icon icon="plug" /> | <Icon icon="key" /> <Icon icon="user" /> <Icon icon="face-confused" /> | |
Expand Down
7 changes: 5 additions & 2 deletions baton/intro.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -199,6 +199,8 @@ You can build it yourself, or we can build it for you. Whether it’s API-based,
- [Oracle Utilities Work and Asset Cloud Service](/baton/oracle-idcs)
- [Outreach](/baton/outreach)
- [PagerDuty](/baton/pagerduty)
- [Palo Alto Networks Cortex XDR](/docs/baton/palo-alto-cortex)
- [Palo Alto Networks Cortex XSOAR](/docs/baton/xsoar)
Comment on lines +202 to +203
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# First, view the file to see the actual path patterns around the flagged lines
echo "=== Viewing lines 195-210 (around line 202-203) ==="
sed -n '195,210p' baton/intro.mdx

echo -e "\n=== Viewing lines 270-280 (around line 274) ==="
sed -n '270,280p' baton/intro.mdx

echo -e "\n=== Viewing lines 495-510 (around line 501-502) ==="
sed -n '495,510p' baton/intro.mdx

echo -e "\n=== Counting /baton/ vs /docs/baton/ patterns in file ==="
echo "Total /baton/ paths:"
grep -o '/baton/[a-z-]*' baton/intro.mdx | sort | uniq -c | head -20

echo -e "\nTotal /docs/baton/ paths:"
grep -o '/docs/baton/[a-z-]*' baton/intro.mdx | sort | uniq -c

Repository: ConductorOne/docs

Length of output: 2482


🏁 Script executed:

#!/bin/bash
# Check if /docs/baton/ paths are actual documentation routes
echo "=== Searching for references to /docs/baton paths ==="
rg '/docs/baton' . --type mdx --type md

echo -e "\n=== Checking if docs directory has palo-alto-cortex ==="
find . -name "*palo-alto-cortex*" -o -name "*xsoar*" 2>/dev/null | head -20

echo -e "\n=== Checking for baton directory structure ==="
ls -la baton/ | head -30

echo -e "\n=== Checking if palo-alto-cortex.mdx exists in baton dir ==="
ls -la baton/ | grep -i "palo\|cortex\|xsoar"

Repository: ConductorOne/docs

Length of output: 2482


Fix incorrect path prefixes for Palo Alto connectors.

Lines 202-203 (and also 274, 501-502) use /docs/baton/palo-alto-cortex and /docs/baton/xsoar, but the actual files exist at /baton/palo-alto-cortex and /baton/xsoar (like all other connectors). Remove the /docs prefix from these 5 instances to match the standard path format and fix the broken links.

🤖 Prompt for AI Agents
In `@baton/intro.mdx` around lines 202 - 203, Update the incorrect link prefixes:
replace occurrences of "/docs/baton/palo-alto-cortex" and "/docs/baton/xsoar" in
this file with "/baton/palo-alto-cortex" and "/baton/xsoar" respectively (there
are multiple instances including the shown diff and two other occurrences
elsewhere in the file); ensure all five instances use the standard "/baton/..."
connector path so the links resolve correctly.

- [PandaDoc](/baton/panda-doc)
- [Panther](/baton/panther)
- [Paylocity](/baton/paylocity)
Expand Down Expand Up @@ -257,7 +259,6 @@ You can build it yourself, or we can build it for you. Whether it’s API-based,
- [Workday](/baton/workday)
- [Workday Account](/baton/workday-wql)
- [Xero](/baton/xero)
- [XSOAR](/baton/xsoar)
- [YouTrack](/baton/youtrack)
- [Zendesk](/baton/zendesk-v2)
- [ZipHQ](/baton/ziphq)
Expand All @@ -270,6 +271,7 @@ You can build it yourself, or we can build it for you. Whether it’s API-based,

<Tab title="New this month" >

- [Palo Alto Networks Cortex XDR](/docs/baton/palo-alto-cortex)
- [OpenAI](/baton/openai)
- [Valimail](/baton/valimail)
- [ZipHQ](/baton/ziphq)
Expand Down Expand Up @@ -492,11 +494,12 @@ You can build it yourself, or we can build it for you. Whether it’s API-based,
- [CloudAMQP](/baton/cloudamqp)
- [Cloudflare](/baton/cloudflare-v2)
- [Cloudflare Zero Trust](/baton/cloudflare-zero-trust)
- [Cortex XSOAR](/baton/xsoar)
- [CrowdStrike](/baton/crowdstrike)
- [DigiCert CertCentral](/baton/digicert-certcentral)
- [Fastly](/baton/fastly)
- [Jamf](/baton/jamf)
- [Palo Alto Networks Cortex XDR](/docs/baton/palo-alto-cortex)
- [Palo Alto Networks Cortex XSOAR](/docs/baton/xsoar)
- [Panther](/baton/panther)
- [PrivX](/baton/privx)
- [Rapid7](/baton/rapid7)
Expand Down
238 changes: 238 additions & 0 deletions baton/palo-alto-cortex.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,238 @@
---
title: Set up a Palo Alto Networks Cortex XDR connector
og:title: Set up a Palo Alto Networks Cortex XDR connector - ConductorOne docs
og:description: Integrate your Cortex XDR instance with ConductorOne to run user access reviews, enable just-in-time access requests, and easily provision and deprovision access.
description: ConductorOne provides identity governance and just-in-time provisioning for Cortex XDR. Integrate your Cortex XDR instance with ConductorOne to run user access reviews (UARs) and enable just-in-time access requests.
sidebarTitle: "Palo Alto Networks Cortex XDR"
---

## Capabilities

| Resource | Sync | Provision |
| :--- | :--- | :--- |
| Accounts | <Icon icon="square-check" iconType="solid" color="#65DE23"/> | |
| Roles | <Icon icon="square-check" iconType="solid" color="#65DE23"/> | <Icon icon="square-check" iconType="solid" color="#65DE23"/> |
| Groups | <Icon icon="square-check" iconType="solid" color="#65DE23"/> | |

<Info>
*Due to a limitation of the underlying API, the Cortex XDR **Account Admin** role cannot be granted or revoked by this connector.
</Info>

## Gather Cortex XDR credentials

Each setup method requires you to pass in credentials generated in Cortex XDR. Gather these credentials before you move on.

<Warning>
A an **Instance Administrator** in Cortex XDR must perform this task.
</Warning>
Comment on lines +25 to +27
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Fix grammatical error.

There's a typo in the warning text: "A an" should be "An".

📝 Suggested fix
 <Warning>
-A an **Instance Administrator** in Cortex XDR must perform this task.
+An **Instance Administrator** in Cortex XDR must perform this task.
 </Warning>
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
<Warning>
A an **Instance Administrator** in Cortex XDR must perform this task.
</Warning>
<Warning>
An **Instance Administrator** in Cortex XDR must perform this task.
</Warning>
🤖 Prompt for AI Agents
In `@baton/palo-alto-cortex.mdx` around lines 25 - 27, Fix the grammatical typo
inside the Warning block: replace the string "A an **Instance Administrator** in
Cortex XDR must perform this task." with the correct article "An **Instance
Administrator** in Cortex XDR must perform this task." so the Warning text reads
correctly; update the Warning element content in baton/palo-alto-cortex.mdx
accordingly.


### Generate an API key

<Steps>
<Step>
In Cortex XDR, navigate to **Settings > Configurations > Integrations > API Keys**.
</Step>
<Step>
Click **+ New Key**.
</Step>
<Step>
Choose the type of API Key you want to generate based on your desired security level: Advanced or Standard.
</Step>
<Step>
**Optional.** If desired, set an expiration date and time for the API key and add a comment describing its use.
</Step>
<Step>
Give the key the **Instance Administrator** role.
</Step>
<Step>
Click **Generate**, then carefully copy and save the new API key.
</Step>
</Steps>

### Look up the API key ID

<Steps>
<Step>
In the API keys table, locate the key you just created.
</Step>
<Step>
Find and copy the key's **ID**.
</Step>
</Steps>

**That's it!** Next, move on to the connector configuration instructions.

## Configure the Cortex XDR connector

<Warning>
To complete this task, you'll need:

- The **Connector Administrator** or **Super Administrator** role in ConductorOne
- Access to the set of Cortex XDR credentials generated by following the instructions above
</Warning>

<Tabs>
<Tab title="Cloud-hosted">

**Follow these instructions to use a built-in, no-code connector hosted by ConductorOne.**

<Steps>
<Step>
In ConductorOne, navigate to **Admin** > **Connectors** and click **Add connector**.
</Step>
<Step>
Search for **Cortex XDR** and click **Add**.
</Step>
<Step>
Choose how to set up the new Cortex XDR connector:

* Add the connector to a currently unmanaged app (select from the list of apps that were discovered in your identity, SSO, or federation provider that aren't yet managed with ConductorOne)

* Add the connector to a managed app (select from the list of existing managed apps)

* Create a new managed app
</Step>
<Step>
Set the owner for this connector. You can manage the connector yourself, or choose someone else from the list of ConductorOne users. Setting multiple owners is allowed.

If you choose someone else, ConductorOne will notify the new connector owner by email that their help is needed to complete the setup process.
</Step>
<Step>
Click **Next**.
</Step>
<Step>
Find the **Settings** area of the page and click **Edit**.
</Step>
<Step>
Enter the Cortex XDR credentials into the relevant fields.
</Step>
<Step>
Click **Save**.
</Step>
<Step>
The connector's label changes to **Syncing**, followed by **Connected**. You can view the logs to ensure that information is syncing.
</Step>
</Steps>
**That's it!** Your Cortex XDR connector is now pulling access data into ConductorOne.
</Tab>

<Tab title="Self-hosted">

**Follow these instructions to use the [Cortex XDR](https://github.com/ConductorOne/baton-palo-alto-cortex) connector, hosted and run in your own environment.**

When running in service mode on Kubernetes, a self-hosted connector maintains an ongoing connection with ConductorOne, automatically syncing and uploading data at regular intervals. This data is immediately available in the ConductorOne UI for access reviews and access requests.

### Step 1: Configure the Cortex XDR connector

<Steps>
<Step>
In ConductorOne, navigate to **Connectors** > **Add connector**.
</Step>
<Step>
Search for **Baton** and click **Add**.
</Step>
<Step>
Choose how to set up the new Cortex XDR connector:

* Add the connector to a currently unmanaged app (select from the list of apps that were discovered in your identity, SSO, or federation provider that aren't yet managed with ConductorOne)

* Add the connector to a managed app (select from the list of existing managed apps)

* Create a new managed app
</Step>
<Step>
Set the owner for this connector. You can manage the connector yourself, or choose someone else from the list of ConductorOne users. Setting multiple owners is allowed.

If you choose someone else, ConductorOne will notify the new connector owner by email that their help is needed to complete the setup process.
</Step>
<Step>
Click **Next**.
</Step>
<Step>
In the **Settings** area of the page, click **Edit**.
</Step>
<Step>
Click **Rotate** to generate a new Client ID and Secret.

Carefully copy and save these credentials. We'll use them in Step 2.
</Step>
</Steps>

### Step 2: Create Kubernetes configuration files

Create two Kubernetes manifest files for your Cortex XDR connector deployment:

#### Secrets configuration

```yaml expandable
# baton-palo-alto-cortex-secrets.yaml
apiVersion: v1
kind: Secret
metadata:
name: baton-palo-alto-cortex-secrets
type: Opaque
stringData:
# ConductorOne credentials
BATON_CLIENT_ID: <ConductorOne client ID>
BATON_CLIENT_SECRET: <ConductorOne client secret>

# Cortex XDR credentials
BATON_CORTEX_API_KEY: <Cortex XDR API key>
BATON_CORTEX_API_KEY_ID: <Cortex XDR API key ID>
BATON_CORTEX_BASE_URL: <Base URL for your Cortex XDR instance>

# Optional: Include if you want ConductorOne to provision access using this connector
BATON_PROVISIONING: true
```
<Info>
See the connector's README or run `--help` to see all available configuration flags and environment variables.
</Info>

#### Deployment configuration

```yaml expandable
# baton-palo-alto-cortex.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: baton-palo-alto-cortex
labels:
app: baton-palo-alto-cortex
spec:
selector:
matchLabels:
app: baton-palo-alto-cortex
template:
metadata:
labels:
app: baton-palo-alto-cortex
baton: true
baton-app: palo-alto-cortex
spec:
containers:
- name: baton-palo-alto-cortex
image: ghcr.io/conductorone/baton-palo-alto-cortex:latest
imagePullPolicy: IfNotPresent
env:
- name: BATON_HOST_ID
value: baton-palo-alto-cortex
envFrom:
- secretRef:
name: baton-palo-alto-cortex-secrets
```

### Step 3: Deploy the connector

<Steps>
<Step>
Create a namespace in which to run ConductorOne connectors (if desired), then apply the secret config and deployment config files.
</Step>
<Step>
Check that the connector data uploaded correctly. In ConductorOne, click **Applications**. On the **Managed apps** tab, locate and click the name of the application you added the Cortex XDR connector to. Cortex XDR data should be found on the **Entitlements** and **Accounts** tabs.
</Step>
</Steps>

**That's it!** Your Cortex XDR connector is now pulling access data into ConductorOne.
</Tab>
</Tabs>
7 changes: 4 additions & 3 deletions baton/xsoar.mdx
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
---
title: Set up a Cortex XSOAR connector
og:title: Set up a Cortex XSOAR connector - ConductorOne docs
title: Set up a Palo Alto Networks Cortex XSOAR connector
og:title: Set up a Palo Alto Networks Cortex XSOAR connector - ConductorOne docs
og:description: Integrate your XSOAR instance with ConductorOne to run user access reviews, enable just-in-time access requests, and easily provision and deprovision access.
description: ConductorOne provides identity governance and just-in-time provisioning for Cortex XSOAR. Integrate your XSOAR instance with ConductorOne to run user access reviews (UARs) and enable just-in-time access requests.
sidebarTitle: "XSOAR"
sidebarTitle: "Palo Alto Networks Cortex XSOAR"
---

## Capabilities
Expand Down Expand Up @@ -46,6 +46,7 @@ Click **Save** to generate the new API key.
Carefully copy and save the API key.
</Step>
</Steps>

## Find your API URL

<Steps>
Expand Down
3 changes: 2 additions & 1 deletion docs.json
Original file line number Diff line number Diff line change
Expand Up @@ -370,6 +370,8 @@
"baton/oracle-idcs",
"baton/outreach",
"baton/pagerduty",
"baton/palo-alto-cortex",
"baton/xsoar",
"baton/panda-doc",
"baton/panther",
"baton/paylocity",
Expand Down Expand Up @@ -427,7 +429,6 @@
"baton/workday",
"baton/workday-wql",
"baton/xero",
"baton/xsoar",
"baton/youtrack",
"baton/zendesk-v2",
"baton/ziphq",
Expand Down