# Integrations

Connect Bumpkit to the tools your team uses.

<div class="integration-grid">

- [Argo](/docs/argo)
- [Azure DevOps](/docs/azure-devops)
- [Bitbucket](/docs/bitbucket)
- [Claude](/docs/claude)
- [Codex](/docs/codex)
- [Confluence](/docs/confluence)
- [Cursor](/docs/cursor)
- [Datadog](/docs/datadog)
- [Discord](/docs/discord)
- [Drata](/docs/drata)
- [GitHub](/docs/github)
- [GitLab](/docs/gitlab)
- [Grok](/docs/grok)
- [Jira](/docs/jira)
- [Linear](/docs/linear)
- [Microsoft Teams](/docs/teams)
- [Notion](/docs/notion)
- [PagerDuty](/docs/pagerduty)
- [PostHog](/docs/posthog)
- [Railway](/docs/railway)
- [Sentry](/docs/sentry)
- [ServiceNow](/docs/servicenow)
- [Slack](/docs/slack)
- [Vanta](/docs/vanta)
- [Vercel](/docs/vercel)
- [Built into Bumpkit](/docs/built-in)

</div>

## Connect and manage

Connect on the dashboard's **Integrations** page, or from the CLI and API. Owners and admins connect, change, test and disconnect. Anything marked **Coming soon** can't be connected yet. Secrets are encrypted before they're stored (see [Data Handling](/docs/data-handling#secrets-encryption-at-rest)), and each change is written to the [audit log](/docs/compliance#audit-log) as `integration.connect` or `integration.disconnect`; tests and retries are logged as `integration.test`, `integration.test.failed` and `integration.retry`.

If a delivery fails, for example because a webhook was deleted or a key was revoked, the integration's card on the **Integrations** page turns amber and its page says what failed and how to fix it, with a **Reconnect** form. `bumpkit integrations list` prints the same reason.

```bash
bumpkit integrations list
bumpkit integrations connect slack
bumpkit integrations test slack
bumpkit integrations disconnect slack --yes
```

The CLI never takes a secret from your shell history: leave the secret flag out to be prompted, or pass `-` to read it from standard input. The `integrations_list`, `integrations_connect`, `integrations_test` and `integrations_disconnect` MCP tools do the same from your agent.

| Endpoint | Purpose |
|----------|---------|
| `GET /v1/integrations` | Each integration's `name`, `connected`, a masked `detail` and `last_error` when the last delivery failed; an integration with several parts also lists its `capabilities`, each with `key`, `name`, `connected` and `coming_soon` |
| `PUT /v1/integrations/{name}` | Connect: `url`, `api_key`, `team`, `host`, `project_id` (and `settings` for change management) |
| `DELETE /v1/integrations/{name}` | Disconnect |
| `POST /v1/integrations/{name}/test` | Send a test message or check the connection |
