# Kiantu — integration docs (full) Work intelligence for humans and AI agents. Humans connect tools in two clicks; agents connect over MCP or REST and get first-class identity with cost attribution. This file is generated from the same source as https://www.kiantu.com/docs — cite individual pages at /docs/integrations/ where possible. ## Slack Run /kiantu commands from Slack, assign work to teammates, and receive session nudges as bot DMs. ### What it does - Inbound: /kiantu slash commands and button clicks (signature-verified webhooks). - Outbound: bot DMs for notifications (inactivity nudges, assignments, budget alerts). - Kiantu never reads your Slack messages — no message-history scopes are requested. ### Setup 1. In Kiantu, open Settings → Connectors → Chat integrations and click “Add to Slack” (admin/owner only). 2. Approve the Slack consent screen. Requested bot scopes: commands, chat:write, im:write, users:read, users:read.email. 3. Your Slack account links automatically when your Slack profile email matches your Kiantu email. Teammates link the same way on their first /kiantu command. 4. Type /kiantu help in any channel to confirm the install. ### Commands - `/kiantu start ` — start a work session - `/kiantu stop` — close your current session - `/kiantu pause · /kiantu resume` — pause / resume - `/kiantu status` — what’s running right now - `/kiantu assign @teammate ` — put an item on their plate (capacity-aware — overflows to the next day when full) ### Data & privacy - Metadata-only posture: commands you type are processed; channel traffic is never read. - The workspace bot token is envelope-encrypted at rest with the workspace key. - One Slack workspace maps to one Kiantu workspace. ## Discord /kiantu slash commands in your Discord server plus bot DMs for notifications. ### What it does - Inbound: slash-command interactions on an Ed25519-verified HTTP endpoint — no gateway connection, no message reading. - Outbound: bot DMs for notifications. - Discord does not expose member emails to bots, so account linking is an explicit, code-based ceremony. ### Setup 1. In Kiantu, open Settings → Connectors → Chat integrations and click “Add to Discord” (admin/owner only). 2. Pick the server to install into and approve. Requested scopes: bot, applications.commands. 3. Each member runs /kiantu link in Discord, then enters the 8-character code in Kiantu → Settings → Connectors. 4. Type /kiantu help in the server to confirm. ### Commands - `/kiantu start intent:<text>` — start a work session - `/kiantu stop` — close your current session - `/kiantu pause · /kiantu resume` — pause / resume - `/kiantu status` — what’s running right now - `/kiantu assign teammate:@user title:<text>` — put an item on their plate - `/kiantu link` — mint the account-linking code ### Data & privacy - The bot has no message-content access — only the commands addressed to it. - Link codes are single-use and expire in 10 minutes. - One Discord server maps to one Kiantu workspace. ## Microsoft Teams Message the Kiantu bot in Teams to start/stop sessions; get proactive notifications back. ### What it does - Inbound: messages to the bot (personal chat or @mention), authenticated via the Bot Framework. - Outbound: proactive bot messages for notifications. - Channel-message signals are deliberately out of scope — Microsoft gates them behind protected-API approval, and Kiantu doesn’t need them. ### Setup 1. Install the Kiantu bot app in your Teams organization (sideload the app package or deploy via your admin center). 2. Message the bot once — it replies with an 8-character connect code for your organization. 3. A Kiantu admin enters the code in Kiantu → Settings → Connectors → Microsoft Teams. 4. Your account links automatically by matching your Teams email to your Kiantu email. ### Commands - `start <intent>` — start a work session (DM the bot, or @Kiantu in a channel) - `stop` — close your current session - `pause · resume` — pause / resume - `status` — what’s running right now ### Data & privacy - The bot sees only messages sent to it directly — never channel traffic. - Notifications require that you have messaged the bot at least once (Bot Framework rule, not ours). - One Microsoft tenant maps to one Kiantu workspace. ## WhatsApp Text your work to Kiantu like you'd text a colleague — start, stop, and check sessions from the app half the world already runs its business on. ### What it does - Plain-text commands to the Kiantu WhatsApp number — no app to install, no slash-command syntax to learn. - Replies arrive in the same conversation, within WhatsApp's service window your own message opens. - Kiantu never messages you first: no marketing templates, no notification spam. You text, it answers. ### Setup 1. Text "link" to the Kiantu WhatsApp number. 2. Enter the 8-character code it replies with in Kiantu → Settings → Connectors → WhatsApp. 3. Text "start invoicing clients" — your session is running. That's the whole integration. ### Commands - `start <what you're working on>` — start a work session - `stop` — close your current session - `pause · resume` — pause / resume - `status` — what's running, and for how long - `link` — connect this phone to your Kiantu account ### Data & privacy - Kiantu reads only messages sent to its own number — it has no access to your chats. - Every session you start from WhatsApp lands in the same reports as everything else — invoicing becomes a lookup, not archaeology. - Webhooks are HMAC-verified; the phone→account link is an explicit code ceremony you can undo any time. ## Terminal (CLI) kiantu start / stop / status from any shell — the fastest path from "I'm coding" to "it's on the record". ### What it does - Five human commands on the same binary that serves the MCP tools: start, stop, pause, resume, status. - Authenticates with a kt_ API token from your environment — works in dotfiles, tmux, CI, anywhere. ### Setup 1. Download the CLI from kiantu.com/download/cli (macOS universal; Windows/Linux builds on request while in beta). 2. Create a token in Settings → Security → API tokens (or reuse your agent registration). 3. export KIANTU_API_TOKEN=kt_… 4. kiantu start "fixing the login redirect" — and kiantu stop when you're done. ### Tools - `kiantu start <intent>` — start a work session - `kiantu stop` — close your current session - `kiantu pause · kiantu resume` — pause / resume - `kiantu status` — what's running right now - `kiantu mcp` — serve Kiantu as an MCP server for your agents ### Quickstart (Shell) ``` export KIANTU_API_TOKEN=kt_… kiantu start "shipping the pricing page" ``` ### Data & privacy - The CLI holds no state and no secrets beyond the token in your environment. - Same scoping rules as every kt_ token — report_only tokens can write their own work and read nothing. ## Jira Issues assigned to you in Jira Cloud become Kiantu tasks — status stays in sync on every poll. ### What it does - Pull-based: Kiantu polls Jira for issues assigned to you that changed since the last sync (15-minute cycle, plus manual “Sync now”). - Issues materialize as Kiantu tasks (with their Jira project as a Kiantu project); re-syncs update, never duplicate. - Status maps by Jira status *category* (To Do / In Progress / Done), so custom workflows like “In Review” or “QA” map correctly. ### Setup 1. In Kiantu, open Settings → Connectors, find Jira and click Connect. 2. Approve the Atlassian consent screen. Requested scopes: read:jira-work, read:jira-user, offline_access — read-only. 3. Kiantu resolves your Jira Cloud site automatically and runs the first import (last 30 days of assigned issues). 4. Imported tasks carry their Jira issue key (e.g. KAN-12) and deep-link back to Jira. ### Data & privacy - Read-only scopes — Kiantu never writes to your Jira instance. - Only issues assigned to the connected user are imported. - OAuth tokens are envelope-encrypted at rest; Atlassian’s rotating refresh tokens are handled automatically. ## GitHub Commits, pull requests, reviews, and branch activity correlate with your sessions automatically. ### What it does - Pull-based polling of your public event stream plus optional org webhooks. - Events land on your activity timeline and link to the session you were running when they happened. - Commit *contents* are never read — only event metadata (repo, branch, PR number, titles). ### Setup 1. Sign in to Kiantu with GitHub, or link GitHub from Settings → Connectors. 2. Click Connect on the GitHub card. Requested scopes: read:user, user:email, repo:status, read:org. 3. Events appear within one sync cycle (15 minutes) or immediately via webhooks. ### Data & privacy - No code, no diffs, no file contents — event metadata only. - Disconnect any time; previously synced events remain in your timeline. ## Google Calendar Meetings become reactive sessions and land on your plate — your calendar is half your work record. ### What it does - Read-only pull of your calendar events (rolling window, reschedule-aware). - Meetings are classified (meeting / focus time / out-of-office) and can auto-start reactive sessions. - Today’s meetings appear on your plate with their real duration weighted against capacity. ### Setup 1. Sign in to Kiantu with Google, or link Google from Settings → Connectors. 2. Click Connect on the Google Calendar card. Requested scope: calendar.events.readonly. 3. Meetings sync within one cycle; cancellations propagate automatically. ### Data & privacy - Read-only scope — Kiantu never modifies your calendar. - Event descriptions and attendee lists are processed for classification, not stored as message content. ## Outlook Calendar The same calendar intelligence as Google Calendar, for Microsoft 365 accounts. ### What it does - Read-only pull via Microsoft Graph (calendarView, rolling window). - Classification and plate sync identical to Google Calendar. ### Setup 1. Sign in to Kiantu with Microsoft, or link Microsoft from Settings → Connectors. 2. Click Connect on the Outlook Calendar card. Requested scopes: Calendars.Read, offline_access. ### Data & privacy - Read-only — Kiantu never modifies your calendar. - Cancelled meetings are tombstoned locally so derived items disappear with them. ## MCP for AI agents One MCP server turns Claude Code, Cursor, Codex CLI — any MCP client — into a tracked Kiantu worker with cost attribution. ### What it does - The `kiantu mcp` stdio server exposes Kiantu as MCP tools: sessions, token-usage reporting, activity logging, tasks, and the plate. - Agents report tokens; Kiantu computes dollars from its server-side rate card and rolls cost up into sessions, goals, and reports. - Registered agents are first-class workspace members: their sessions, activity, and spend all attribute to them. ### Setup 1. In Kiantu, open Settings → Agents and click “Register agent” (admin/owner; Intelligence tier). 2. Choose the token scope: report_only (default — write its own work, read nothing) or workspace (needed for the task/plate tools). 3. Copy the kt_ token — it is shown exactly once. 4. Add the server to your agent runtime (see snippet). Tools appear immediately. ### Tools - `whoami` — confirm the actor + workspace behind the token - `start_session / close_session` — bracket a piece of work - `report_usage` — per-model token counts — Kiantu prices them - `log_activity` — discrete events (opened_pr, ran_tests, deployed) - `list_my_plate` — today’s committed work (workspace scope) - `get_task / update_task_status / create_task` — task workflow (workspace scope) ### Quickstart (Claude Code) ``` claude mcp add kiantu -e KIANTU_API_TOKEN=kt_… -- kiantu mcp ``` ### Data & privacy - report_only tokens cannot read teammates’ data — a leaked agent token cannot exfiltrate your workspace. - Monthly budgets (workspace-wide and per-agent) alert admins on breach; ingestion never drops data. - Every agent write is tagged at the database layer as agent-initiated. ## REST API Everything the app does, over REST with kt_ token auth — activity ingestion, session control, plate assignment. ### What it does - Bearer auth with kt_ tokens (Settings → Security → API tokens, or minted at agent registration). - Batch activity ingestion with idempotent external_id dedup (at-least-once safe). - Machine-readable spec at /openapi.yaml. ### Setup 1. Create a token in Settings → Security → API tokens. 2. Send it as Authorization: Bearer kt_… — any endpoint that works in the app works with a token. 3. For agents, prefer POST /v1/agents registration: it creates the agent identity and the token in one call. ### Quickstart (Log an event) ``` curl -X POST https://api.kiantu.com/v1/activity/events \ -H "Authorization: Bearer $KIANTU_TOKEN" \ -d '{"source_type":"custom","event_type":"deploy_finished","external_id":"deploy-42","payload":{"repo":"acme/api"}}' ``` ### Data & privacy - Tokens act as the member who created them — same role, same workspace, never operator privileges. - report_only scope restricts a token to writing its own sessions/usage/activity. - Rate limit: 600 requests/minute per member. --- API spec: https://www.kiantu.com/openapi.yaml · Contact: hello@kiantu.com