Integrations
Slack
Route Kaiten lifecycle events into your Slack channels with a Slack App or a Slack Workflow.
A Slack integration notifies your team whenever a lifecycle event occurs, such as a customer being onboarded, a License being modified, or a release being deployed. The integration is a webhook endpoint whose URL is a Slack incoming webhook — managed webhook delivery is part of Kaiten Cloud, served where your organization's License includes it. Any event in the event catalog can be routed this way.
Depending on your Slack plan, you can choose between two setup methods:
Step 1: Choose your Slack routing method
Select the tab that matches your Slack workspace plan to get your connection URL.
Method A: using a custom Slack app
This method works on the free Slack plan. Kaiten formats the alerts itself: an endpoint whose URL is a Slack incoming webhook (https://hooks.slack.com/services/…) receives a ready-made Slack message instead of the raw event — see Slack formatting.
1. Create a Slack Application
- Navigate to the Slack API Console.
- Click the Create New App button in the top-right corner.
- Select From scratch.
- Name your app (e.g.,
Kaiten Alerts) and select your target workspace. - Click Create App.
2. Enable Incoming Webhooks
- In the left sidebar under Features, click on Incoming Webhooks.
- Toggle Activate Incoming Webhooks to On.
3. Generate the Webhook URL
- Scroll down and click Add New Webhook to Workspace.
- Choose the channel where Kaiten alerts should land (e.g.,
#engineering-alerts). - Click Allow.
- Scroll down to find your new URL under Webhook URL for Your Workspace and click Copy.
(The URL will look like:
https://hooks.slack.com/services/T.../B.../X...)
Method B: using Slack Workflow Builder
If your workspace is on a paid Slack plan, you can use Workflow Builder to ingest raw JSON from Kaiten and build custom alert layouts inside Slack. Kaiten does not format deliveries to a workflow URL: the workflow receives the event as published.
1. Create a New Webhook Workflow
- Inside your Slack desktop app, open your workspace menu and select Tools > Workflow Builder.
- Click Create Workflow (or New Workflow).
- Select From a webhook as your workflow trigger.
2. Define Kaiten Data Variables
To use Kaiten data inside your Slack message steps, you must declare the properties Kaiten sends. Click Set up variables and add the following keys exactly as written:
name(Type: Text) — The event name (e.g., CUSTOMER_CREATED)type(Type: Text) — The technical namespace (e.g., com.kaiten.customer.v1.created)
3. Publish and Copy URL
- Add a Send a message step to your workflow, using the variables defined above to build your notification template.
- Click Publish in the top right.
- Copy the unique Webhook URL generated by the workflow.
(The URL will look like:
https://hooks.slack.com/workflows/T.../V.../X...)
Step 2: Paste the webhook URL into Kaiten
With the connection URL from either method, complete the link in Kaiten.
- Open the Kaiten console and go to Integrations → Webhooks.
- Click New Webhook to open the configuration modal.
- Select the events you want to track (e.g.,
CUSTOMER_CREATED,INSTANCE_ENTITLEMENT_USAGE_REACHED, orLICENSE_UPDATED— the full list is in the event catalog). - Paste the Slack URL into the Webhook URL field.
- Click Create Webhook.
Slack formatting
Kaiten formats a delivery for Slack when the endpoint's URL is a Slack incoming webhook — a URL that contains hooks.slack.com/services/, the one Method A produces. In place of the raw event, the channel receives a message with a colored bar and three lines:
- a title naming the entity, the action and the record —
Customer Created • Sakura Tokyo; - the event name —
CUSTOMER_CREATED; - the record's id, slug and status, where the payload carries them.
The color follows the action: green for a creation, amber for an update, red for a deletion or a refusal.
Three things to know before relying on it:
- The formatting is decided when the endpoint is created, from its URL at that moment. Updating the endpoint over the API changes its URL and its event types and leaves the formatting as it was. To move an existing endpoint to or from a Slack incoming webhook, delete it and create it again.
- Workflow URLs are not formatted. A URL under
hooks.slack.com/workflows/— Method B — receives the delivery as published:name,type,data, and the optionalheaders. The workflow builds its own message from the variables you declared. - Trust the event name, not the title. The title has a wording for most events and falls back to "Updated" for the others — the usage warning-threshold and cap-exceeded events and the License lifecycle events among them. The event name on the second line is always exact.
Verifying the setup
The integration is live. Trigger an action in Kaiten, such as creating a test Instance or a new Customer.
If you used Method A (Free), a structured alert, color-coded by action, arrives in your channel.
If you used Method B (Paid), your Slack Workflow receives the payload and runs your message steps.
Attio
Mirror Kaiten customers and instances into Attio — connect with an API token, choose a sync policy, map fields onto attributes of your workspace, and follow each record's sync state.
Overview
The exact references behind the concept pages — data model, credentials and scopes, API conventions — and the tooling that talks to the API, from the SDKs to the CLI.