Plugs into the stack you already run on.
Read-only by default. ACL-mirrored at retrieval. The same permission scope you grant in Slack or Notion is the scope Pulse uses, and never one byte more.
Day-one connectors. Read-only, ACL-mirrored.
Each connector ingests a defined event stream, never the full export. Confidence-scored extraction lifts decisions, commitments, and features into the process graph.
Pulse, in every AI client you already use.
Two paths into every AI client. Today: download a SKILL.md tarball and load it in any Skills-compatible tool. Next: Pulse-as-MCP for live queries, same permission scope, no bundle to refresh.
Your company’s pulse, portable.
Every recurring procedure compiles to a SKILL.md file. Load the bundle in Claude Desktop or Cursor today. Pulse-as-MCP is also live at /api/mcp— nine read-only tools (search, get_decision, find_expert, list_recent_decisions, get_pulse and friends) callable from any spec-compliant MCP client. Same tenant scope; bearer auth via your existing API key.
// claude_desktop_config.json
{
"mcpServers": {
"pulse": {
"url": "https://YOUR_PULSE_HOST/api/mcp",
"headers": {
"Authorization": "Bearer pk_live_..."
}
}
}
}
// generate the bearer token at /app/admin/api-keys
// then restart Claude Desktop. nine tools appear in the picker.
// or grab the SKILL.md tarball:
// curl -fsSL https://YOUR_PULSE_HOST/api/skills/export \
// -H "Authorization: Bearer pk_live_..." -o pulse-skills.tar.gzTenant-scoped, ACL-enforcing tools.
The AI client sees only what the workspace it’s scoped to can see. SKILL.md bundles compile per-viewer with binary redaction; the MCP server enforces ACLs on every tool call. Bearer auth via your existing pk_live_*API key — same token your other integrations use, with the read scope.
Two ways to wire Pulse into your own systems.
REST API + webhooks for programmatic actions. BYOK for the privacy-first. Two paths to wire Pulse into the systems you already run.
REST API + webhooks
Fire a playbook, draft a Slack DM, request a search, get notified when an action executes. OpenAPI schema; SDKs in TypeScript and Python.
View API docs →BYOK · Bring your own LLM key
Route every Claude call through your own Anthropic API key. Encrypted at rest with AES-256-GCM, decrypted only at request time. AWS Bedrock and Azure OpenAI are on the roadmap.
Configure BYOK →Cross-tenant insight, without cross-tenant data.
Pulse Network is opt-in benchmarking. Owners turn it on per scope. Each tenant’s metric is computed locally, perturbed via the Laplace mechanism (ε = 1.0), and only the noisified number flows into the cross-tenant aggregate. Raw data never leaves your tenant.
You ship at 9w. Companies your size ship at 7w. The number you see is your workspace’s real number; the comparison is the only cross-tenant value rendered.
Opt in per scope.
Owner toggles each scope (shipping, decision cadence, support) independently. Without an opt-in row, your tenant doesn't participate.
Differential privacy by default.
Laplace noise (ε = 1.0) is applied per tenant before aggregation. Sensitivity is bounded so a single tenant can't move the aggregate more than a few percentile points.
Percentile bands only.
FederatedBenchmark rows store p25/p50/p75/p90 + sample count. No tenantId on those rows. The aggregator can't reverse-engineer one tenant's true value.
Auto-pause when too few opt in.
A scope only renders comparisons when at least 5 workspaces have opted in. Until then, the network page shows your own number with a 'pending join' badge.
Connect three tools. Get a working brain by lunch.
Slack, GitHub, Notion is enough to bootstrap. The rest fills in over the first week.