AI & automation
AI, MCP & safe sending
AI staging + drafting, the Claude / MCP connector, and the safe-sending rate governor.
AI pipeline classifier
Claude Haiku 4.5 runs server-side to stage the deeper parts of the funnel. It needs an Anthropic API key — without one, the deterministic pipeline still stands.
- Reads the recent thread tail plus your workspace ICP to assign business stages.
- Batched, budgeted, and cached — a shared system prompt with your per-user ICP riding in the request.
- Fit gate: Archives wrong-audience threads, spam/bots, reversed-direction (“they’re selling to you”), and peers/competitors.
- Direction floor & recency clamp: A thread with replies can’t regress below Chatting; the most-recent message wins; a soft decline (“I’m good”, “all set”) marks Lost.
- Structured output: A schema means a hallucinated stage can never be written.
Ideal Customer Profile (ICP)
- A free-form description of who you’re trying to reach — industry, roles, company size, geography, pain points.
- Captured during onboarding (via Claude or manually); it gates onboarding step 1.
- Used as the fit lens for every AI staging decision.
AI drafting
Ask your connected Claude to draft replies in your voice and stage threads, right from the inbox. Drafts are saved for your approval — the AI never auto-sends without going through the capped send lane.
Claude / MCP connector
Kanso is itself an MCP server — connect Claude (or any MCP client) to operate your LinkedIn CRM conversationally.
- 1
Copy your connector URL
From Settings → Account → Integration, or use the one-paste no-sign-in link during onboarding.
- 2
Add it in Claude
Create a custom connector and paste the URL. Standard MCP clients can use the full OAuth 2.1 flow — the app is an OIDC provider.
- 3
Approve
The connection is detected on first use; your tools appear in Claude.
What Claude can do
The MCP tool surface — every tool runs on your workspace data on your behalf.
| Tool | What it does |
|---|---|
| whoami | Signed-in user + active workspace. |
| set_icp_profile | Write the ideal-customer profile. |
| list_conversations / list_new_conversations | Browse threads by folder, search, unread, stage, and stage-source. |
| get_conversation | Full thread history. |
| get_pipeline_summary | Counts per stage. |
| get_action_queue | The prioritized daily worklist. |
| classify_conversations | Apply a batch of AI stage decisions (marks them AI-owned). |
| list_connections / get_person | Browse the CRM; fetch one contact + its linked thread. |
| enrich_connections / get_enrichment_status | Queue enrichment and poll progress. |
| draft_reply | Save a reply / follow-up / cold first-touch draft (does not send). |
| send_dm | Send the saved draft as a real DM (enforces cap + account health). |
| get_send_cap | Remaining daily send capacity + freeze state. |
| get_action_capacity | Per-account capacity, freeze state, warm-up position, and graduation date. |
| set / list / update / delete_reminder | Full reminders CRUD. |
Safe sending — the rate governor
A provider-agnostic throttle shared by the DM-send and profile-enrich lanes keeps accounts well inside LinkedIn's limits.
- Daily caps: DM send ~100/day; profile enrich ~90/day (config-driven and override-able).
- Pacing + jitter: A gap between actions (enrich: ~15–25s) avoids burst detection; a burst window lets the first ~10 items go back-to-back for responsiveness.
- Freeze conditions: Any unhealthy account state (connecting / needs-reconnect / restricted / unknown) freezes the lane with a reason.
- Native-send awareness: Manual sends you make outside the app count toward warm-up calibration but are never subtracted from your cap.
- Atomic counters: UTC-bucketed windows with check-and-increment, so a rolled-back send never advances the cap.
A fresh account with no history climbs over ~14 days — roughly 20% / 40% / 70% of the ceiling at days 3 / 7 / 14.
Looking for something specific in Kanso? Every feature area is covered in the sections on the left.