Integrations Setup
Kindo supports integrations using Nango for authentication and the MCP protocol for agent access to external systems. Most MCP servers are built in-house and run by the customer as part of a self-managed installation, though a growing number of official hosted MCPs can be accessed directly.
Nango Setup
Connecting Nango to Your Installation

1. Set Environment Variables in Kindo
| Variable | Description | Required Services |
|---|---|---|
NANGO_SECRET_KEY | Obtain from the Nango dashboard | api, task-worker-ts |
NANGO_URL | Host on the Ingress pointing to the nango service (must match your Nango dashboard URL) | api, task-worker-ts |
API_INTEGRATION_WEBHOOK_BASE_URL | The URL of your API service with /webhook/integration-connection appended (e.g., https://<API_HOST>/webhook/integration-connection). This is where third-party services (Linear, Jira, etc.) send webhook events. | task-worker-ts |
NEXT_PUBLIC_NANGO_API_URL | Same as NANGO_URL | next |
NEXT_PUBLIC_NANGO_CONNECT_URL | Host on the Ingress pointing to the nango-connect-ui service | next |
2. Set Environment Variables in Nango
-
Set the Callback URL to
${NANGO_URL}/oauth/callback. -
Configure the webhook:
- In the Nango dashboard, go to Environment Settings > Webhook URLs.
- Set Primary URL to
${API_BASE_URL}/webhook/nango(whereAPI_BASE_URLmatches the API service environment variable). - Select the Prod environment.
- Toggle ON
Auth: new connection webhooks. All other toggles can be OFF.
Configuring New Integrations
In the Nango dashboard: Integrations > Configure New Integration > Select the desired integration and auth method.

Supported Integrations
| Integration | Auth Method | Notes |
|---|---|---|
| Azure DevOps | BASIC | |
| Box | OAUTH2 | |
| Cisco Catalyst | BASIC | |
| Cisco FMC | BASIC | |
| Cofense Triage | OAUTH2_CC | |
| CrowdStrike Falcon | OAUTH2_CC | |
| Datadog | API_KEY | |
| Dropbox | OAUTH2 | Requires file and account scopes |
| GitHub | OAUTH2 | Scopes: repo, read:org, user |
| GitLab | OAUTH2 | Scopes: api |
| Google Docs | OAUTH2 | Requires documents and drive scopes |
| Google Drive | OAUTH2 | Requires userinfo and drive scopes |
| Google SecOps | OAUTH2 | Configured per connection |
| Grafana | API_KEY | |
| Graylog | BASIC | |
| Jira | OAUTH2 | Requires Jira API and User Identity API scopes |
| Linear | OAUTH2 | Scopes: admin, read, write |
| Microsoft Entra ID | OAUTH2 | |
| Microsoft Teams | OAUTH2 | Requires Teams and Chat scopes |
| Neo4j | BASIC | |
| NVD | API_KEY | |
| OneDrive | OAUTH2 | Requires Files scopes |
| SailPoint | OAUTH2_CC | |
| SAP S/4HANA | BASIC | OData and RFC variants |
| ServiceNow | OAUTH2_CC | |
| Slack | OAUTH2 | Requires channels, chat, and users scopes |
| Smartsheet | OAUTH2 | Requires sheets, folders, and workspaces scopes |
| Sourcegraph | API_KEY | |
| Splunk | API_KEY | |
| Sumo Logic | BASIC | |
| Tenable | API_KEY |
OAUTH2 Integrations
For OAUTH2 integrations, first create an OAuth app within the target integration. The callback URL should be <NANGO_URL>/oauth/callback. Then configure the Client ID and Client Secret in Nango with the values from the integration provider.

BASIC, API_KEY, and OAUTH2_CC Integrations
No modification to integration configurations is necessary — all required credentials are specified when creating the connection in the Kindo platform.
Integration Webhooks
Integration webhooks are required for using Integration Event triggers. Direct Webhook URL triggers do not require this configuration.
Linear Webhooks
-
In Linear, go to Settings > API and select the OAuth app created earlier.
-
Click the three dots > Edit Application.
-
Enable the Webhooks toggle.
-
Enter
<API_SERVICE_URL>/webhook/integration-connection/linearas the webhook URL. -
Select Issues under “Data change events”.
-
Copy the webhook signing secret.
-
In Nango, paste the secret into the Webhook Secret input and save.

Jira Webhooks
No additional setup is needed for Jira webhooks.
Syncing Integrations with Kindo
After configuring integrations in Nango, sync them with your Kindo application:
-
In the Hatchet dashboard, go to Activity > Runs.
-
Click Trigger Run.
-
Under Task or Workflow, select
sync-all-integration-configs-workflow. -
Click Run Task.


Verify the sync completed successfully:

Then confirm in the Kindo app under Settings > Integrations > Available Integrations:

MCP Server Setup
After syncing Nango integrations, connect MCP servers:
- Verify the integration configs appear in the
IntegrationConfigdatabase table. - Update the
mcpServerUrlfield for each integration you want to enable. - For integrations with webhook support (Jira, Linear), set
supportsWebhookstotrue.
Example MCP server URLs (adjust for your namespace):
http://mcp-slack.mcp:80http://mcp-jira.mcp:80http://mcp-linear.mcp:80The exact URL format depends on your Kubernetes namespace configuration and service naming conventions.