Every feature that earns its keep. Nothing that doesn’t.
It comes down to five things: ask anything and trust the answer, never lose a decision, catch what's stuck before it bites, work with the AI tools your team already uses, and only ever show people what they're allowed to see.
Home
Daily context, calmly delivered. What changed since you looked, what's stuck, what's coming. Surfaced on a homepage you check, never as push notifications.
your listYour listlive
A private to-do you type or speak ("remind me to follow up with Trellis tomorrow"), merged into one view with the commitments Pulse already detects for you. Yours alone, never team-visible, never a metric.
open in the appshared remindersHand a reminder to a teammatelive
Some follow-ups aren't yours to do. Create a reminder and assign it to one or more teammates; it shows up next to their own list, notifies each of them, and either of you can mark it done. Editing and snoozing stay with the person who set it. Personal reminders stay personal; this is a separate, deliberately shared track.
open in the appcoming upComing up tablive
Home now has tabs. The Coming up tab is a date-ordered view of what's bearing down on you over the next 30 days: commitments you owe with a due date, plus customer renewals approaching. Overdue items sit at the top. It's your axis, not the team's, so it stays scoped to what you owe.
open in the appinbox snoozeSnooze an inbox itemlive
An action draft or captured session you can't deal with right now drops off your inbox until the time you pick, then comes back. Per-user, so snoozing something never hides it from anyone else. A sweep brings expired snoozes back on their own.
open in the apptoday agendaYour day, plannedlive
A Today view that lays out your meetings, what's due, and the open gaps between them, then suggests focus blocks sized to your working hours. One click drafts a hold onto your calendar through the approval queue, Pulse never writes to your calendar silently. Set your hours under Settings, Scheduling.
open in the apppromisesPromise trackinglive
Commitments you've made or are owed, surfaced as they approach due dates. Pulled from threads, not entered manually.
open in the appbriefingsPre-meeting briefingslive
Ask for it by voice or open the home page before any meeting. Pulse compiles last-1:1 commitments, recent blockers, and current PRs to ground the conversation.
open in the appOOOOOO awareness · stuck detectionlive
Pulse knows who's out, what their work blocks, and which items have been stuck on you for 18+ hours. Always you-owns or blocking-you, never both.
open in the appworkloadWorkload signal (you-only)live
A personal pulse on your in-flight commitments. Not surveillance, never a manager-visible metric. Designed to be ignored when busy.
open in the appdaily nudgeDaily suggestion enginelive
One nudge per day: your most time-sensitive commitment, overdue first, then whatever's due soonest. Shows who it's owed to or from and where it came from, so the next move is unambiguous.
open in the apppatternsPattern interruption alertslive
When you've broken your own cadence (a 1:1 missed for 14 days, a doc you usually open weekly untouched), Pulse calls it.
open in the appdelegationReverse delegationlive
Pulse spots when someone keeps asking you the same question. Usually it's permissions, not knowledge. Get them what they need once.
open in the apphandoffCross-timezone handoff briefingslive
Your APAC counterpart goes online in 2h. Here's what changed today, what they need to weigh in on, async-ready digest.
open in the appfatigueStakeholder fatigue detectionlive
Pulse warns when your outreach to one contact piles up (six or more Pulse-sent emails in a week). Saves relationships before they fray; Slack and Gmail message weighting arrives as those outbound events come online.
open in the appmeeting costTrue meeting costlive
Every meeting gets a $-cost badge based on attendee comp bands and length. RSVP-aware so declined attendees don't inflate the cost. Makes the recurring 7-VP standup visible before it's been running for a year.
open in the applearningLearning moments capturelive
When old work suddenly gets cited 8× in a week, Pulse nudges you to refresh it before the next round of citers misses the update.
open in the appengineering pulseEngineering pulse striplive
CI failure clusters, PR review backlog (PRs waiting on you >24h), recent commits across watched repos, Slack pinned highlights, and a meeting-attendance signal (3 of last 5 1:1s with X declined). Auto-hides on quiet workspaces.
open in the appteam briefingTeam-wide daily briefinglive
Auto-generated summary of what the team needs to know. Public-channel decisions, completed commitments, shipped features. Under 200 words. Delivered every weekday morning to the Digest Team tab and via email to opted-in members.
open in the appemail triageImportant-thread surfacing from your inboxlive
Pulse reads your own connected mail (Gmail, Outlook, Zoho Mail) and surfaces the threads that actually need you: a customer waiting two days, an exec on the thread, a question addressed to you directly. Rendered as a Home card. Your mail stays private to you; it never feeds team surfaces or extraction.
open in the app
Ask
Conversational Q&A across your work. Confidence scores, reasoning trails, conflict surfacing, and a memory that follows the thread.
entity cardsEntity cards in Ask answerslive
Type ‘tell me about Therese’ or ‘status of Project Athena’ and Pulse renders a card strip above the answer: people, customers, features, decisions, topics. Click through to the entity's detail page.
open in the applive dataSync-age + Fetch live on every citationlive
Each citation chip shows when Pulse last verified that source. Click any chip to re-fetch from Slack, GitHub, Linear, Jira, Notion, Confluence, Drive, or Calendar live. Structured fields animate a value-to-value diff; unchanged sources flash a green check. ACL-checked the same way cached retrieval is.
open in the appweb fallbackPublic-web fallback when the workspace can't answerlive
Off by default. Workspace admins opt in at /app/admin/research. Once enabled, an Ask answer with no workspace evidence shows a one-click 'Search the public web for this' CTA below the empty state. Click it and Pulse runs an OpenAI Responses-API search, synthesises one polished cited answer, and renders web sources with a globe icon so the boundary between your team's knowledge and the public web stays legible. Idempotent on replay; demo workspaces hard-blocked.
open in the approle-awareAnswers shaped to your rolelive
Tell Pulse you're on the marketing team and acronyms get expanded, technical details get filtered out. Tell it you're a backend engineer and prose stays crisp and code-aware. The hint is soft so the question itself still rules: an engineer asking for a marketing-shaped recap still gets one. Runs across web Ask, Slack /pulse, devil's advocate, slash rewrites, action drafts, counterfactuals, and weekly digests.
open in the appstale bannerBulk refresh when an answer leans on stale sourceslive
When two or more citations were last synced over six hours ago, a banner above the answer offers a one-click bulk refresh. Up to five sources fetched in parallel, each chip updating in place as results arrive.
open in the appbrainstormBrainstorm modelive
Fourth Ask mode: divergent, no verdict, no scoring. Just 5 to 7 distinct ideas. Different from counter-evidence (which argues against you); brainstorm is for opening up the option space.
open in the appsources onlySources-only modelive
Fifth Ask mode: retrieve the ranked evidence without synthesising an answer. Pulse streams the passages it would have read, spends no model tokens, and writes nothing to the calibration learner. For when you trust yourself to read the sources and just want them found fast.
open in the appjargonInline jargon hoverlive
Hover over team-specific terms in any Ask answer (ICP, RICE, project codenames) and Pulse explains using context from your workspace, so a new hire never has to ask what a codename means twice.
open in the appact from askTake action from inside Asklive
While reading an answer, ask Pulse to act on it and it drafts the real thing: a Linear ticket, a Slack DM, a Salesforce field update, a calendar invite, any of the 108 action kinds across 21 connected systems. Every draft lands in your /app/actions inbox for approval; nothing fires on its own.
open in the appconfidenceConfidence scores you can trustlive
Every answer carries a 0 to 100 confidence score plus an expandable reasoning trail. When Pulse says 87%, it's right about 87% of the time on this workspace.
open in the appconflictConflict surfacinglive
When sources disagree, Pulse shows both views with the recency-and-authority hierarchy that resolves them. Never silently picks one.
open in the appsecond opinionCross-model verification on shaky answerslive
When an answer comes back low-confidence or with a conflicting verdict, Pulse asks a second model from the other AI provider to judge the draft against the same sources. Agreement adds a 'verified by' badge; a partial or disagreeing check damps the confidence and flags the claim. The second pass pauses at the budget band, so it never holds up the primary answer.
open in the appexplainableWhy am I seeing this?live
Every result is explainable. One click reveals which sources got retrieved, which got weighted, and why this answer over alternatives.
open in the appself-flagHallucination self-flagginglive
Sentences are tagged ‘from sources’ (lime underline) or ‘inferred’ (iris dotted) with hover-to-see reasoning. Honest by default.
open in the appcounter-evidenceCounter-evidence modelive
Flip the question. ‘I want to renew Vendor X. What's the case AGAINST?’ Pulse searches for disconfirming evidence, weighted highest first.
open in the appweightingBehaviour-based source weightinglive
Sources weighted by who actually uses them. A doc opened weekly by the decision-maker beats one no one's touched in 6 months.
open in the appprovenanceProvenance chainslive
Every Ask answer exposes a 5-stage chain (query → retrieval → weighting → rank → synthesis) with boost/demote signals shown inline.
open in the apptopicsQuestion history per topiclive
Topics asked >3× this month get surfaced. Pulse promotes a canonical answer or flags a doc-update need.
open in the appdecayKnowledge decay curveslive
Pricing decays in 30 days. Mission decays in 5 years. Pulse weights freshness in retrieval per category half-life.
open in the appdevil's advocateDevil's advocate modelive
Draft a decision. Pulse argues the case against it, grounded in retrieval over your own org's history: past decisions, docs, and discussions that cut the other way.
open in the appadjacentAdjacent possible explorerlive
What companies in your shape have tried. Curated corpus of case studies, S-1s, founder posts, ranked by relevance to you.
open in the apptime-shiftTime-shifted Q&Alive
Ask ‘what would I have known on date X?’ Built for retros, decision audits, and onboarding context.
open in the appconstraintsConstraint relaxation thinkinglive
What changes if budget were unlimited? Time? Headcount? Pulse runs each relaxation against your decision and retrieved context and shows what it unlocks and what it costs.
open in the appexecution gapDecision-to-execution gaplive
Every decision links to the PRs and issues meant to execute it. Pulse computes the lag from decided to merged and flags decisions that quietly never got built.
open in the appdisagreementsDisagreement archivelive
When sustained back-and-forth resolves, Pulse captures the structure: position A, position B, evidence cited, who resolved it, rationale. Stops the same call from getting re-litigated 6 months later.
open in the appsearchCross-entity keyword searchlive
Pulse-themed search at /app/search across people, decisions, docs, customers, features, topics, playbooks. Intent-aware grouping with permission filtering so private channels stay private.
open in the appsaved alertsSaved-search alerts (social listening)live
Tap the bell on any query and Pulse re-checks every 6 hours, diffs against the last run, drops a notification on new matches. First-run is a silent baseline so subscribing doesn't spam you.
open in the appmodel pickerPick your model per questionlive
A dropdown above the Ask composer offers Auto, Claude Haiku 4.5, Sonnet 4.6, Opus 4.8, OpenAI GPT-5, GPT-5-mini, GPT-5.5, and Google Gemini 2.5 Flash + Pro. Auto means adaptive routing: Pulse classifies the question (length, entity count, reasoning markers like ‘compare’ / ‘plan’ / ‘evaluate’) and routes to Haiku for trivial lookups, Sonnet for synthesis, Opus for deep multi-hop reasoning. Override per question when you want a specific model. Per-user preference persists across sessions. Non-Anthropic models trade Anthropic's prompt cache and inline actions for cross-provider variety.
open in the appintent classificationIntent-aware retrievallive
The query planner now classifies every question into one of six intents: policy (favors verified Notion/Confluence), status (favors recent Slack/Linear), how-to (favors runbook/engineering category), who (also pulls People search results alongside docs), comparison (favors verified), or general. The classified intent nudges retrieval toward the right doc types without dominating ranking. Asking 'who knows about Postgres?' now surfaces ranked experts even when no Topic entity resolves.
open in the apptypo fallbackSpelling correction when a search comes up shortlive
Ask 'refnd policy' and Pulse usually catches the typo. When a search returns almost nothing, it checks your document titles for a close match, re-runs the query, and shows a 'Showing results for refund policy instead' note above the answer. Fast enough you barely notice.
open in the appexpert escalationAsk the right person (auto-escalation)live
When Pulse isn't confident (below 35%), it messages the top expert in Slack with the question. Their reply is saved as a new source, so next time someone asks, the answer is already there. A 30-day cooldown per topic prevents spam, and the message contains only the question, never document content.
open in the appworkspace metricsCounting questions answered from live metrics, not proselive
Ask 'how many customers do we have?' or 'what's our open commitment count?' and the answer comes from live workspace numbers (customers, ARR, renewals due, open commitments, recent decisions, meeting hours) counted at the moment you ask, not from whatever a retrieved document happened to say. Works in web Ask and over voice.
open in the app
Voice
A hands-free layer on every Pulse page. Ask, get briefings, and send actions out loud. Everything it does still respects ACLs, and every action still goes through approval. Text transcripts only; no audio is ever stored.
personalized greetingGreeting tuned to your daylive
Time-of-day, day-of-week, whether you already had a session today, and whether you have commitments due in the next few hours. Monday gets a weekly outlook; Friday gets a wrap-up. Returning twice the same day skips the briefing offer.
open in the appask via voiceAnything Ask can answer, voice can answerlive
Same retrieval pipeline as the text Ask: hybrid search, behaviour weighting, conflict surfacing. Citations spoken naturally ('Adekunle said this in the eng channel Friday') and rendered clickably in the transcript.
open in the appvoice web researchVerbal opt-in to a public-web fallbacklive
When the workspace can't answer, the agent doesn't dead-end. It says one line, 'I don't have anything in your workspace on that. Want me to check the public web?' and only calls out after a clear yes. Replies cite the source by publication name and close with one actionable next step. Admin-gated per tenant; hard-blocked on demo.
open in the app5 briefing typesMorning, evening, pre-meeting, topic, personlive
Morning: today's signals + due-today commitments. Evening: what closed + what's still open. Pre-meeting: the next upcoming meeting with attendees + a topic context brief. Topic: catch-up on a project. Person: what someone's been shipping.
open in the appactions over voiceDraft + execute actions across 20 connected systems by voicelive
Voice can draft nearly every action kind the platform ships (92 of the 108): Slack messages, Linear and Jira issues, Notion pages, calendar invites, GitHub PRs, Salesforce updates, Gmail drafts, Canva decks, and more. The agent reads the draft back, waits for a clear out-loud 'yes' / 'send it', and only then executes. Irreversible kinds (merging a PR, enrolling a contact in a sequence) stay web-only by design. 5-minute undo on most executed actions.
open in the appupdate ideasMove an idea, log progress, or capture a new one, out loudlive
Say "record progress on the importer idea" or "mark it shipping" and Pulse drafts the update, reads it back, and on your yes records a timestamped note on the idea. An idea that came from Linear writes back to Linear (the issue's status, a comment); a native Pulse idea updates in place. Works from Ask and agents too, not just voice.
open in the appskills via voiceRun compiled team Skills hands-freelive
Name a Skill ('refund_customer for Northwind') and Pulse walks you through the proposed steps. Per-step confirmation for every external write. Same skill-runner + calibration loop the web surface uses.
open in the appproduct helpAsk how Pulse itself workslive
Voice has a separate knowledge base built from the Pulse docs (Platform Handbook + Features Guide). Customer data and product help never share a retrieval pass: meta-questions hit a different vector store with no tenantId by design.
open in the apppost-turn nudgesHeads-up after the agent finishes, never mid-turn (opt-in)live
After each answer, voice checks if anything urgent is imminent: a meeting in seven minutes, a commitment due in the next half-hour. If so, the agent appends a one-sentence nudge. Off by default, web voice sessions today (iOS next). The agent never interrupts mid-sentence.
open in the appsilence + dismissalEnds cleanly: silence, dismissal, or Xlive
Five minutes of silence auto-ends the session. So does 'thanks, that's it' or any clear dismissal phrase. Tab close fires a beacon so the conversation finalizes server-side. A stale-cleanup cron catches the rare crash case after 30 minutes.
open in the appprivacy postureNo audio at rest, retention you controllive
Text transcripts only. Audio is never persisted. Default retention is 90 days; configurable per user from 7 / 30 / 90 / forever. One-click bulk purge any time. The first-use disclosure modal makes the contract explicit.
open in the appvoice historyYour record of every conversationlive
Every voice session lands at /app/voice/history with the full transcript, tool calls, citations, duration, and cost. Searchable like any Pulse content. Yours, not the team's.
open in the appACL + demo isolationVoice acts as you, never bypasses anythinglive
Voice acts as you and sees only what you can see. It has no system-level access. Demo workspaces show a teaser only. Every session, question, and action it takes is logged.
open in the app
Map
How you got here, and the shape of work. Pulse gives you a process graph: decisions, commitments, features, and bottlenecks as first-class entities.
counterfactualCounterfactual replaylive
What if we had decided differently? Pulse simulates the alternative timeline against your actual context: pre-mortem after the fact.
open in the appfailure casesFailure case librarylive
Patterns this team has been burned by (encoding bugs in CSV imports, cross-team auth dependencies that stall, customer-churn silences). Read once, internalize.
open in the appregretDecision regret trackinglive
Each decision has an outcome-check timestamp. Pulse re-evaluates at the right moment and surfaces ‘this aged badly’ so the lesson lands.
open in the apppre-mortemPre-mortem generationlive
Before you commit, Pulse asks ‘imagine this fails: why?’, drawing failure modes from your recorded failure cases and similar past features, ranked by likelihood.
open in the appcheckpointsProcess checkpointslive
Recurring multi-step workflows get checkpoints. When a stage stalls, Pulse asks ‘what's blocking?’ instead of letting it rot.
open in the appdependenciesMark what blocks whatlive
A feature or decision can be blocked by another, or block it. Add the dependency from the entity's page and it renders both directions: what's holding this up, and what's waiting on it. The links show on the entity page and in the Map, so a stalled chain is visible instead of buried in someone's head.
open in the apparcheologyWorkflow archeologylive
Trace any current state back through the decisions that created it. The CSV-format choice, the auth design, the pricing model: every ‘why is it this way’ answerable.
open in the appdedupeDuplicate detection across toolslive
A weekly similarity pass flags near-identical documents living in two places (the same runbook in Notion and Confluence, the same spec pasted into a wiki). Findings land on the Quality surface with both sources side by side, so an admin merges or retires one instead of letting them drift apart.
open in the appdisagreementsDisagreement archiveslive
When a disagreement is resolved, both positions + the resolution path get captured. Avoids re-litigating the same call six months later.
open in the appbottlenecksBottleneck detectionlive
Stages taking 2× or more vs baseline get surfaced. Always frames as the process, never the person. A nightly detector compares each process stage's dwell to its baseline and surfaces the laggards.
open in the appasync meetingsAsync meeting alternativelive
Post a question, route it to N attendees, gather responses on their schedule, AI synthesizes the agreement / disagreement / resolution.
open in the appknowledge treeKnowledge tree: browse Pulse's compiled understandinglive
The Knowledge tab in Workspace shows every topic Pulse has detected, the decisions that shaped each, the people who know each area best, the questions most often asked, and the sentiment trend over time. A direct window into the compiled process graph, not a search box, a map. Lives at /app/workspace/knowledge; shortcut card on Home when topics exist.
open in the appwikiA wiki Pulse writes itselflive
Every topic, decision, person, customer, skill, and project gets a short, cited article that rewrites as new evidence lands. Browse them all at /app/wiki, follow inline links from one entity to another inside the prose, and see a 'what links here' panel on every page. The encyclopedia builds itself as the workspace works.
open in the appconstellationConstellation graphlive
The whole workspace as one force-directed graph: topics, decisions, people, documents and the links between them, including note-to-note backlinks. Hover to trace a neighbourhood, search to find a node, click to open. A Constellation tab on Map.
open in the appcustom typesCustom entity typeslive
Pulse's seven built-in kinds don't fit every team, so define your own: a Vendor, an Incident, an Experiment, each with its own fields and an optional per-type extraction prompt. Admin-defined workspace types are shared and show up in Map and Ask; personal types stay private to you. Records get a compiled-truth page like the built-ins.
open in the appone-click templatesDeal, Release, Incident, Vendor as one-click templateslive
Four entity types most teams end up wanting, pre-built with sensible fields and extraction prompts. Install one from the admin and Pulse starts populating instances from connector documents automatically: deals from CRM records, releases from GitHub, incidents from postmortems, vendors from contracts and invoices.
open in the appproposed typesPulse proposes the types you didn't definelive
A nightly pass clusters your documents by structure, and when three or more share a shape no existing type covers, it drafts a candidate, its slug, fields, and extraction prompt, then queues it for review. Approve one and Pulse creates the type and backfills every matching document. Only workspace-visible docs ever seed a proposal, so nothing private leaks into a suggestion.
open in the app
Risks
Ten high-signal risk streams in one prioritised feed: CI failure clusters, stalled PR reviews, idle issues, unresolved Confluence comments, stakeholder fatigue, 1:1 cadence avoidance, plus the ops radars (overdue invoices, sprint slippage, quiet support cases, heavy meeting weeks). Reads from what Pulse already watches, no new manual triage.
pr stallingStalled PR reviewslive
PRs where reviewers have engaged but not acted in 3+ days. Distinct from generic stale PRs (caught earlier): this catches PRs being force-pushed without reviewer follow-up. Auto-proposes a Slack DM to pending reviewers.
open in the appidle issuesIdle Linear / Jira issueslive
Issues with no comments AND no status change in 7+ days, regardless of metadata churn. Authors get a notification; auto-proposes a check-in comment.
open in the appinline commentsUnresolved inline Confluence commentslive
Page-anchored comments older than 14 days with no resolution. Authors notified; auto-proposes a follow-up comment asking for resolution.
open in the appfatigueStakeholder fatiguelive
Trips when Pulse-sent outreach to one contact passes six messages in 7 days, surfacing who's being over-loaded before the relationship frays. The weighted Slack/Gmail message detection extends this as those outbound events come online.
open in the appcadence avoidance1:1 cadence avoidancelive
Decline-rate ≥50% over the last 6 instances of a recurring 1:1. Distinct from generic cadence drift (gap-based); this catches the avoidance pattern. Auto-proposes a reschedule DM.
open in the appinvoice overdueOverdue invoice radarlive
Open or past-due invoices from Stripe and Zoho Books surface as a daily notification with the customer named, before finance finds out at month close.
open in the appsprint slippageSprint slippage radarlive
When a sprint or cycle is past its midpoint with completion lagging well behind the calendar, Pulse flags it with the percentage done, early enough to cut scope instead of slipping the date.
open in the appcase SLAQuiet support case radarlive
Salesforce cases with no activity for a working day get flagged with the silence duration. Catches the ticket everyone assumed someone else was watching.
open in the appmeeting loadHeavy meeting week radarlive
When the team's meeting hours for the trailing week cross the threshold, Pulse says so with the number. Pairs with the per-meeting cost badge to make the calendar's weight visible.
open in the app
People
Expertise and context, where it lives. Living Context Cards, behavior-ranked Expert Finder, role inheritance briefings, knowledge transfer as a first-class workflow.
skill graphSkill graphlive
Inferred skill matrix from PR co-authoring, doc edits, meeting attendance, Slack answers. Updates without anyone filling out a form.
open in the appexpert finderExpert Finderlive
Describe a problem, get a ranked list of teammates who've worked on it. Ranked from decisions authored, docs written, and @-mentions answered, with a 30/90-day recency decay. You learn who to ask even when you don't have access to the underlying work; Pulse never discloses the docs themselves, just the name + topic. Confidential evidence is excluded at scoring time, so a marked-confidential doc cannot influence whose name surfaces.
open in the appmanagerManager second-brainlive
Per-direct-report work-state: what each report owns, owes, is blocked on, and is deciding, plus your own private 1:1 notes and a team roll-up. Gated to actual managers (set in Admin → People), scoped to what you can already see, and never a metric, score, ranking, or activity trend.
open in the appinheritanceRole inheritance briefinglive
When someone takes over (promotion, transfer, replacement), Pulse compiles a comprehensive context dump: ongoing work, key contacts, in-flight items, and a week-1 triage map drawn from the predecessor's last 90 days.
open in the appchampionsChampion trackinglive
Living context for every customer: sentiment trend, ticket volume, champion activity, renewal timing. Internal handoff when a champion leaves.
open in the appchampion alertsChampion-left alertslive
Daily watch fires the moment a customer's champion changes role or leaves, with an escalation alert to the account owners. Renewal risk surfaced before it bites.
open in the appdepartureDeparture modelive
When someone gives notice, a guided handoff captures their working surface and Pulse structures it into a clean note: channels, docs, decisions, frequent collaborators.
open in the app30/60/9030/60/90 onboarding curriculumlive
Personalized curriculum drawn from the departing employee's collaboration graph + the team's failure cases. Hire view ⇄ manager view. A manager generates it on demand from the Onboarding tab.
open in the appSkillsSkills from observed worklive
When the same multi-step workflow happens repeatedly, Pulse compiles it into a reusable skill in the Anthropic SKILL.md format. Browse, refine, and ship them from the skills surface.
open in the appQ&A · karmaCrowdsourced Q&A · karmalive
When Pulse can't answer, route to a likely expert. Karma + integration with daily workflow gives the structural incentive prior attempts missed.
open in the appcustomer voiceCustomer voice aggregatorlive
Synthesizes support tickets, sales calls, NPS comments, churn interviews, and social mentions into themes per quarter. Real visibility for product teams.
open in the appidentity confidenceIdentity confidence visible to userslive
When Pulse matches the same person across Slack, GitHub, and Linear, the People page shows how confident the match is (0-100%). Color-coded: lime above 85%, iris 70-84%, ember below 70%. Source breakdown visible on the person detail page.
open in the apporg chart syncReporting lines synced from Microsoft 365 and SCIMlive
Manager relationships flow in from the Microsoft Graph directory and SCIM provisioning, so the org chart reflects HR reality without anyone maintaining it. Synced edges never overwrite a manually corrected one, and reporting lines only ever scope the manager briefing; they never widen what anyone can see.
open in the app
Customers & revenue
Every account, compiled. CRM records, billing, support signals, call transcripts, and email resolve onto one customer entity, so health, churn risk, and what you promised them are answers, not archaeology.
research artifactsPersonas, ICP, segmentation, journeylive
Pulse synthesizes the whole customer-facing corpus into team-wide research: buyer personas, an ICP definition, account segmentation, the customer journey, and the recurring feature-request themes, each grounded in real signals and support threads rather than a generic template. Regenerate on demand; a weekly refresh keeps them current.
open in the appaccount resolutionOne account across every toollive
The same customer shows up as a Salesforce account, a Stripe customer, a #cust- Slack channel, and an email domain. Pulse joins them automatically on verified domain and name matches, with an admin review queue for the ambiguous ones. Built once, so every customer feature reads one resolved account.
open in the appaccount healthAccount health with a written rationalelive
Healthy, watch, or at-risk, with a short evidence-grounded explanation and the single metric to watch next. Computed by a learner over tickets, sentiment, usage, billing, and renewal timing; never a black-box number.
open in the appchurn radarChurn + renewal radarlive
Pulse walks every at-risk or renewing-soon account and decides the churn risk from concrete signals: three P1 tickets in two weeks, a champion who left, flat ARR with a renewal 30 days out. High-risk verdicts notify the workspace owners with the reasons attached.
open in the apppromisedWhat we promised this customerlive
Commitments resolved to the account, in one block on the customer page. The renewal call stops starting with 'wait, did we ever ship that?'
open in the appstakeholder mapChampion + stakeholder map per accountlive
Who actually shows up: the champion, the meeting regulars, the email senders, assembled from identity resolution and rendered on the customer page and in the Map.
open in the appupsell signalsUpsell + expansion signalslive
Seat growth, plan-limit pressure, and product asks pulled from calls and CRM notes surface on the account brief, so expansion conversations start from evidence.
open in the apppre-call briefPre-call + QBR brieflive
One click before the meeting: account context, open items and commitments you owe, recent sentiment, and the suggested ask, four short paragraphs, generated from the account's own evidence.
open in the appdeal risk · win/lossDeal risk and win/loss analysislive
An open opportunity gets a risk read (level, blockers, next step) from its account history and call notes. A closed one gets a win/loss debrief: outcome drivers, lessons, and the competitor if one was in play.
open in the appcall coachingSales-call coachinglive
Open any call transcript and Pulse debriefs the conversation, grounded in the transcript: what went well, what to improve, and the next step to lock.
open in the appbattlecardsCompetitor battlecardslive
A Competitor entity page can compile its own battlecard from internal mentions across calls, email, and CRM notes: their positioning, their strengths, your counters, every claim cited. Define a Competitor type under Admin → Entity types, then open any record.
open in the apprenewals + disputesContract renewals and dispute alertslive
Contract end dates mined from Drive and Dropbox documents become renewal notifications as the date approaches (within 60 days). A Stripe chargeback lands as a strongly negative signal on the account the same day, feeding the churn radar.
open in the app
Trust & calibration
Trust at the sentence level. Pulse marks each sentence with where it came from, scores every doc, and gives every employee a control panel for what's stored and what's forgotten.
compiled truthCompiled truth pageslive
Every Decision, Person, and Topic gets a synthesized narrative body that Pulse rewrites as evidence shifts, with an append-only timeline of the events that fed it below. Every claim traces back to those source events. Voice can read the body aloud via 'what do we know about X?'.
open in the appweekly digestWeekly digestlive
Friday afternoon summary of what shipped, what's stuck, what's worth knowing, plus a finance section (invoices, disputes, subscription movement from Stripe and Zoho Books) and a releases section (what went out this week) when those connectors have signal. Curated, not exhaustive. Opt-out, not opt-in.
open in the appsentimentSentiment pulse (team-only)live
Aggregate-only signal from Slack tone. Surfaces ‘something's off’ to managers without naming individuals, never an individual score.
open in the appdata dashboardPersonal data dashboardlive
Every employee sees what's indexed about them, what's been inferred, every AI decision involving their data. Self-service · no admin required.
open in the appforgetSelective amnesia · forgetlive
Right-to-be-forgotten built in. Forget a thread, a doc, a topic, and Pulse re-synthesizes around the gap. Required for GDPR, useful past it.
open in the appconfidentialConfidential modelive
Per-thread, per-doc opt-out from Pulse ingestion. The lawyer-with-Slack-channel scenario doesn't compromise the rest of the system.
open in the appcorrectionsFeedback-tuned confidencelive
Your thumbs up and down re-tune the workspace's confidence calibration weekly, per topic, so an 84% means 84% on your team's own questions. Per-user correction memory that re-applies your individual fixes is on the roadmap.
open in the apppersonal graphPersonal Graphlive
Tell Pulse what you own, lead, and care about. Curated beliefs (role, expertise, projects, team) feed retrieval weighting so answers tilt toward your context. Edit or remove any belief without losing the audit trail.
open in the appaccessRequest-access flowlive
When an answer would need restricted content, Pulse shows what's locked + a one-click request to the doc owner. Permissions never expand silently.
open in the appstalenessSmart staleness detectionlive
Pulse reads the content of each doc and flags time-sensitive claims that have aged out. Goes beyond last-edited-date.
open in the appqualityDocument quality scoringlive
Every doc gets a 0 to 100 score across clarity, completeness, freshness, and citations. Re-graded weekly.
open in the appverificationDocument verification badgeslive
Owners click ‘verified accurate as of today’ on a doc; a green ✓ badge appears in every Ask citation. Expires per category half-life so the badge stays honest.
open in the appoversightActive oversight scanninglive
Nightly scan flags accidental oversharing: credentials in public Slack channels, revenue forecasts in tenant-wide docs, NDA-marked content with anyone-with-link share. Never auto-remediates; surfaces for admin review.
open in the appmark outdatedMark facts as outdatedlive
Any team member can declare a document 'no longer true as of [date]' with a reason. Retrieval applies a 0.3x score penalty. Citation chips show an amber badge. Open stale claims auto-resolve. Reversible via unmark.
open in the appstewardshipStewardship: an owner per factlive
Capturing knowledge is a one-time job; keeping it correct as it ages is a permanent one. Stewardship gives each important decision, doc, or skill a single accountable owner. Pulse opens one task when a fact ages, drifts, or two sources disagree, and routes it to that owner. A human always decides what's true; nothing changes a fact's value on its own. Team-level health only, never a per-person score. Opt-in per workspace.
open in the appdoc-type packsDocument type packslive
Install-on-demand taxonomies (general, engineering, and a PM-artifacts pack) that classify every incoming document by how closely it matches each type's description: runbook, RFC, postmortem, user story, test scenarios. Types drive filter chips in search, retrieval weighting, and decay half-lives. Define your own types alongside the packs.
open in the appcontradictionsProactive contradiction findingslive
A weekly pass compares documents that cover the same ground and asks whether they state conflicting facts: two onboarding docs with different trial lengths, a deck contradicting the pricing page. Findings land on the Quality surface with both passages quoted, for a human to resolve.
open in the appnightly enrichmentA nightly self-maintenance runlive
Every night Pulse runs one enrichment cycle per workspace: consolidate repeated questions into canonical answers, scan for decisions that now contradict each other, and re-check verified sources for drift. Each phase records its own status and timing, and admins can read the log of last night's run at /app/admin/enrichment.
open in the appcoverage gapsCoverage-gap detectionlive
Topics well documented in one tool and absent in another, the spec that lives only in Slack, the runbook only in Notion while the team works from Confluence. Surfaced on the Quality dashboard so the gap gets closed deliberately.
open in the app
Knowledge discovery
The answers your team keeps re-asking, pinned and shareable. Discovery becomes a habit, not a search.
go linksGo Linkslive
Short URLs like pulsehq.tech/go/onboarding that resolve to important docs. Power-user staple. Once your team has 20 of them they start using them in Slack like punctuation.
open in the appskillifySkillify · turn confusion into capabilitylive
Daily clustering finds the questions your team keeps asking with low confidence and the failure patterns that keep recurring. Admins approve the cluster and Pulse drafts a SKILL.md procedure that flows through the existing DRAFT → SHADOW → ACTIVE gates. Threshold self-tunes within [0.78, 0.92] based on your approve/dismiss rate.
open in the app
Agent Actions
AI that does, not just suggests. Pulse drafts the actual action and waits for one click before sending. Read-only connectors never silently start writing. Every external write is undoable.
quotaVerified agent actions + quota meterlive
Every executed action counts toward your monthly quota. The marketing pricing line is now backed by a real meter, not a future promise.
open in the appundo5-minute undo windowlive
After an action runs, an Undo button appears for 5 minutes. Pulse retracts the external write: Slack chat.delete, Linear comment delete, GitHub DELETE, calendar DELETE, Notion archive, Drive trash.
open in the appoutboundOutbound writes to 21 source systemslive
Slack, GitHub, GitLab, Linear, Jira, Asana, Monday, Trello, Airtable, Notion, Confluence, Drive, Calendar, Gmail, Microsoft 365, Salesforce, Zoho, Miro, Zoom, Canva, Apollo: 108 action kinds in total. Each connector has an explicit one-time scope-upgrade consent step; read-only never silently becomes write.
open in the apppoliciesAction policieslive
Pre-approve recurring patterns: ‘DM stalled PR owners after 18h’, ‘schedule retro for decisions with regret ≥ 60’. Each has a rate limit + dry-run preview that replays last week's data.
open in the appplaybooksPlaybookslive
Bundle 3 to 5 actions to fire as one click. Built-ins: kickoff a feature (Linear epic + Slack post + calendar invite + Notion brief), champion-left response, decision-regret retro, onboarding day-1.
open in the appfeaturedFeatured playbookslive
Admins pin the 2 to 3 most useful playbooks to a Featured section so new users discover them first instead of staring at a flat list.
open in the approllbackOne-click rollbacklive
Every playbook edit snapshots the prior state. Bad edit? Restore last week's version with one click. Audit trail stays intact (rollback creates a new version, not a truncation).
open in the appREST APIProgrammatic actions via REST APIlive
Third-party integrations propose, list, approve, and reject agent actions via the existing public REST surface. POST /api/v1/actions with idempotency keys for retry-safe automation.
open in the appcronCron-style playbook schedulinglive
Weekly digest playbook every Monday at 9am? Cron picker on the editor with presets (every-15-min, hourly, daily-9am, weekly, monthly) plus custom-cron + IANA timezone. 5-minute minimum interval.
open in the appstartersConversation starters on playbookslive
Each playbook card shows 2 to 3 starter prompts. New users know exactly what the playbook does and what to type, instead of staring at a flat description.
open in the appfavoritesPer-user playbook favoriteslive
Star playbooks you use a lot. They pin to your personal ‘your pins’ section above Featured. Distinct from admin-curated Featured.
open in the appanalyticsPer-playbook analyticslive
Each playbook shows its run count, success rate, and top runners. Data-driven decisions about what's working and what's collecting dust.
open in the appallowlistsDomain allowlists for actionslive
Per-policy guardrails: ‘only DM @pulsehq.tech employees’, ‘only post to these Slack channels’, ‘only create Linear tickets in OPS team’. Blocked actions never fire and don't burn quota.
open in the appslash commandsSlash commands in decision draftslive
Type /pulse in /app/decisions/draft for inline AI: /rewrite, /evidence, /counter, /summarize, /tighten, /expand. /evidence pulls top-3 retrieval hits as inspiration.
open in the appAI playbook authorBuild playbooks with AIlive
Type a one-line description (‘alert me on critical Sentry errors in #incidents’) and Sonnet drafts a working playbook with steps, payload templates, and trigger. You tweak in the editor before enabling. Auto=false on every step so humans approve.
open in the appvisual canvasVisual playbook canvaslive
Form / Visual toggle on every playbook editor. Drag between node handles to set step dependencies; cycles are blocked client-side. Same step model under both views, lossless toggle.
open in the appbranch + loopConditional branching and looping in playbookslive
Steps form a tree, not a flat list. A playbook can branch ('if the customer is enterprise, escalate, otherwise auto-resolve') and loop ('message each on-call person'), instead of just running top to bottom. Loops are capped at 25 rounds by default.
open in the appcustom agentsBuild agents: any member, no codelive
Any workspace member can build an agent at /app/agents, not just admins. Pick a trigger (Slack channel, GitHub label, cron schedule), write a prompt, choose what action it proposes. Two-minute setup. The agent runs against the trigger context and proposes one Pulse action into the approval inbox; auto-execute stays owner-only. Test-fire runs the prompt in dry-run against sample JSON before you enable it.
open in the app20 templates20 proactive agent templates across 10 functionslive
Clone-and-customize starter agents: lead scoring, churn risk alert, NPS responder, T-60 renewal flag, content gap finder, weekly campaign perf, NDA expiry reminder, vendor renewal at T-45, new hire day-1 checklist, meeting-load watcher, deal stage advancer, onboarding nudge, daily standup digest, decision evidence tracker, weekly stale-doc sweep, plus five workflow starters (Slack channel watcher, PR review nag, meeting recap poster, customer-signal triage, Friday commitment reminder). Pick by function (sales, marketing, customer-success, hr, legal, ops, monitoring, digest, reminder, automation) and clone to a draft agent disabled by default.
open in the appagent read grantsAgents read only what you canlive
An agent reads only what its creator can see, set by an explicit grant: a team, a Slack channel, a source, or a single doc. Fail-closed, so an agent with no grant reads nothing, and a grant can never widen past your own access. Reads intersect each document's own permissions at read time, and a sub-agent inherits the intersection of the whole call chain. Scope filters still narrow which subject matter an agent searches, but they're topical, not the permission boundary.
open in the appskills compositionShared instructions via {{skill:slug}} placeholderslive
Reference a Skill in any agent prompt with {{skill:format-slack-dm}} (or any active or shadow skill name) and the runtime inlines that skill's instructionsMd before firing. Dedupe boilerplate (formatting rules, escalation logic, tone guides) across many agents so the same skill body powers all of them. Each composed run writes one SkillInvocation row so outcomes can be scored back to the composing skills.
open in the appopportunity assessmentAutomation opportunity finderlive
Pulse walks 30 days of skill-match gaps, bottlenecks, stuck work, and recurring failure clusters to find manual workflows the workspace could automate but hasn't yet. The top opportunities surface on the Opportunities admin with a one-click 'start from this' that pre-fills a draft agent with the suggested trigger + prompt.
open in the appper-kind benchmarksPerformance benchmarks per AgentAction kindlive
Per-kind success and reject rates across the whole workspace (slack.dm: 94% success / 6% reject, linear.create_issue: 91% / 9%, etc). Lets admins spot which action types are working, which are getting consistently rejected, and what to tune before flipping autonomy from suggest to execute.
open in the appROI attributionPer-agent ROI and workspace dashboardlive
Each agent gets an ROI score (time saved against token + plan cost) rolled up to a workspace dashboard. Surfaces the top-performing agents AND the ones costing more than they save. Recomputed live on every run against the previous 30 days; no manual instrumentation required.
open in the appversion historyAgent prompt history with diff + revertlive
Every prompt edit writes an AgentVersion row. Admin opens the History tab on any agent, diffs two versions, and reverts with one click. Pairs with the ROI dashboard so 'this prompt change dropped success rate by 12%' becomes a button, not a guess.
open in the appset up by describing itConfigure the workspace from chatlive
Type 'track vendors with annual spend and renewal date' or 'log a decision' on the admin home, or call the pulse_propose_config MCP tool from any agent. Pulse drafts the change (a custom entity type, decision, feature, glossary term, or process) as a proposal in the approval queue. Nothing is created until a human approves it.
open in the applifecycle7-stage agent lifecyclelive
Every agent moves through OPPORTUNITY → DESIGN → PERFORMANCE → CONTEXT → DEVELOP → LAUNCH → MONITORING. Most transitions are admin-driven, with a couple of auto-advances: LAUNCH → MONITORING after ten succeeded runs, and PERFORMANCE → CONTEXT once a second version and a benchmark exist. (The shadow → active → drifted, match-rate graduation loop is the separate Skill lifecycle.)
open in the appslack approvalApprove actions from Slacklive
When an agent drafts an action, the owner gets a Slack DM with Approve and Reject buttons. Click to act without leaving Slack. The original message updates with the result. Title and kind shown, never payload content.
open in the appexistence hintsDoes that ticket already exist?live
Before an agent's draft creates something, Pulse tags every entity the draft references as exists, probable, or unknown, by matching it against what's already in the workspace. Permission-aware, so a restricted match is never revealed. Advisory only: the hint informs your approval, it never blocks it.
open in the appApollo sequencesSequence enrollment, approval-gated and credit-cappedlive
Enroll contacts in an Apollo sequence as a proposed action. Hard-capped per proposal so a runaway agent can never spend your enrichment credits, and excluded from voice on purpose: enrolling a human in an outbound cadence deserves a screen.
open in the app
Skills
Pulse compiles your team's actual work into portable Skills. Every recurring procedure becomes a SKILL.md file, validated against drift, tuned against outcomes, rendered per-user with permission-aware redaction.
step provenancePer-step provenance graphlive
Each ## N. step carries a chip: ‘cites: 1 decision · 2 failure cases’. Click any chip to drill into the source entities. Built from SkillStepProvenance rows so the answer to ‘why does step 4 say check with finance?’ is one tap away.
open in the appdriftDrift detection nobody else shipslive
Daily cron embeds new entities, finds the nearest skill, scores divergence over 14 days. > 0.6 flips the skill to DRIFTED + writes a notification. < 0.3 auto-recovers. Drift score surfaces in the export frontmatter so AI clients loading a stale skill get a warning to verify with a human first.
open in the appself-optimizingSkills that propose their own improvementslive
Run Optimize on a skill and Pulse builds a small benchmark from its history, rewrites the instructions, and re-scores, proposing the rewrite only when it actually scores higher. An admin approves it as a new draft version through the same review path; nothing auto-promotes to active.
open in the apptrack recordEarns trust from real outcomeslive
Pulse tracks how well each skill actually does, weighted toward recent runs. An action policy can require a strong track record before a skill runs on its own instead of asking first. Honest routing, not vibes.
open in the appACL-awarePermission-aware compilation (the structural moat)live
Same skill, different SKILL.md per role. Pulse infers per-step required teams from the source entities and binary-redacts steps the viewer's teams can't cover. Compiled output respects every ACL the source data already has, no reverse engineering required.
open in the appshadow modeShadow-mode canary deploymentslive
DRAFT → SHADOW → ACTIVE lifecycle. Shadow skills don't execute; instead the harness observes humans on similar tasks and scores match-rate. ≥10 invocations + ≥85% match → auto-graduate. ≤50% kicks back to DRAFT. Canary deployments for organizational knowledge.
open in the appconflictsFlags two playbooks that overlaplive
When a new playbook is close to an existing one, Pulse flags the overlap so an admin can keep both (scoped per team), archive one, or defer. When the team has two ways to handle refunds, Pulse surfaces it instead of silently picking one.
open in the apptarballMarkdown + git portability (tarball export)live
GET /api/skills/export?format=tarball returns a USTAR archive: README + per-skill SKILL.md, ready to drop into a git repo. Per-user compiled (your ACLs apply). Live today, and so is the MCP server.
open in the appcode provenanceCode provenance + issue patternslive
Each skill detail page shows the commits, PR review threads, and Linear/Jira issues that informed how Pulse compiled it. Cosine-similarity match between observation embeddings and the skill body, threshold 0.5. The why-this-step-is-this-way answer is one tap away.
open in the applibrarySkills Library: 37 starter SKILL.md fileslive
Day-1 install across support, ops, sales, engineering, and security: refund handling, incident response, post-mortem, onboard new engineer, departure handoff, feature launch, pricing change, hiring loop, customer escalation, security disclosure, blocked PR, sprint planning, RFC review, bug triage, vendor decision, contract review, quarterly review, doc freshness audit, OOO handoff, champion changed, CRM hygiene sweep, tracker-to-tracker board migration, plus 15 more. Each lands in SHADOW status (visible to Ask, no auto-execution). Three are seeded at signup so a brand-new workspace has procedures to draw on from minute one. Upload your own at any time.
open in the appknowledge librariesKnowledge libraries: install a curated bundle in one clicklive
A library bundles the skills, playbooks, and document types a team needs for one job (Customer Support Essentials, Engineering Onboarding, Product Launch Kit) so a new workspace starts useful instead of empty. Install fans out to the existing idempotent installers and is safe to re-run; new workspaces seed a starter library automatically. Assemble your own from anything already installed.
open in the app
Outputs
Turn what Pulse knows about your team into something you can share. Decks for the board, dashboards for stakeholders, docs for handoffs. Backed by sources, editable, exportable.
dashboardsLive dashboardslive
Project, customer, person, topic, weekly-team. Per-section refresh policies (hourly / daily / weekly) keep the data current. Last-updated indicators on every section.
open in the appdocumentsLong-form documentslive
Handoff docs, meeting-prep notes, decision records. Markdown-rendered, editable section-by-section, exports to .docx with one click.
open in the appvoice triggerVoice: 'Pulse, make me a deck'live
Say it out loud and the generation enqueues in the background. Toast + home-rail notification when it's ready. Works for all three output types.
open in the appask save-asSave any Ask answerlive
Inline 'Save as' menu on every Ask result: presentation, dashboard, or document. The Ask question seeds the retrieval anchor so the output is biased toward what you were asking about.
open in the appeditingInline editing + regeneratelive
Edit any section in place, regenerate with a hint, revert to the originally-generated body. Per-section edit log retained for the full lifetime of the output.
open in the appexportsPDF · PPTX · DOCX · Google Slideslive
Four export formats. PDF via browser print. PPTX via pptxgenjs (3 themes: Pulse Calm, Pulse Dark, Founder Minimal). DOCX via the docx library. Google Slides via Drive REST auto-convert.
open in the appsharingPublic share URLlive
Mint a 22-character slug, set a password, set an expiry. Embeds in Notion (frame-ancestors *). View count tracked. One-click revoke.
open in the apptemplates17 built-in templateslive
Six presentations, five dashboards, six documents, the last three a product set (PRD, OKRs, outcome roadmap). Each template defines its retrieval entities, content rules, length bounds, and per-dimension quality weights.
open in the appquality gate6-dimension quality scoringlive
Specificity, source coverage, empty sections, generic phrases, length, tone. Sections below threshold flag for review; the worker regenerates up to twice before giving up.
open in the appanalyticsPer-template analyticslive
Generated, pass rate, avg quality, edit %, share %, export %, regenerate %, thumbs up/down. Drives template tuning so the worst-performing templates get rewritten first.
open in the appfeedbackSection-level feedbacklive
Thumbs up/down on every non-title section. Per-user vote state hydrates from the DB; aggregate counters surface in admin analytics.
open in the apptier limitsTier-aware quotalive
Starter meters output generation per calendar month; Pro and Enterprise are unlimited. White-label exports (no Pulse footer) on the paid tiers.
open in the apprelease notesRelease notes drafted from what actually mergedlive
One click in Present groups the week's merged PRs and closed issues into New / Fixed / Changed, each bullet concrete and user-facing. No invented features; if it didn't merge, it isn't in the notes.
open in the appCanva autofillQBR decks via Canva brand templateslive
Pulse fills your Canva brand template with the account's own numbers and narrative (an autofill job through Canva's API), proposed as an action you approve. The deck matches your brand because it IS your template.
open in the app
Setup & onboarding
Useful in week one. Calibrated by week two. A 30-minute conversational interview, five OAuth connectors, and Pulse is producing answers against your real data.
interviewConversational onboardinglive
A founder interviews the workspace owner about the company: key decisions in flight, who knows what, sensitive areas, process quirks. Eight questions, about 30 minutes, and the answers seed the workspace graph before the first sync finishes. In-product guided onboarding is where this is headed.
open in the appMCPMCP server · Pulse-as-MCPlive
Standardized Model Context Protocol exposing Pulse's data to any MCP-compatible AI client (Claude, Cursor, ChatGPT, Coworker). Per-user permission-checked.
open in the appmeetingsMeeting capture integrationlive
Direct integration with Granola, Fireflies, and Zoom cloud recordings (with the AI Companion summary attached when the host enabled it). Meeting transcripts feed Decision Memory and Briefing mode.
open in the appnotificationsNotification channel designlive
Granular categories spanning briefings, asks, stuck items, OOO, decisions, promises, meeting suggestions, access, plus the Phase A detector signals: CI failures, PR review stalling, Linear/Jira blocked issues, unresolved Confluence comments, cadence drift, cadence avoidance, decision-executed transitions, and topic spikes. Mute any category you don't want; Pulse picks the delivery channel (Slack, in-app, or email) per category.
open in the appquiet hoursQuiet hourslive
Set a local window, say 22:00 to 08:00, and Pulse holds non-urgent notifications until it closes, then delivers them. Urgent kinds (access requests, escalations, direct mentions) always come through. Held items release the moment your window ends, even if you extended it that evening.
open in the apppush APIPush API for custom datalive
Long-tail integrations without a native connector? POST /api/v1/documents pushes any doc into Pulse: search, Decision Memory, commitment extraction, and on-ingest sensitivity classification all wired automatically. Idempotent on retry.
open in the appGraphQLKnowledge graph as a queryable layerlive
POST /api/v1/graphql gives developers a real GraphQL endpoint over the workspace graph: decisions, features, commitments, topics, people, customers, disagreements. Read-only, depth-capped, with relationship traversal.
open in the appknowledge APIKnowledge & learnings API with CSV exportlive
GET /v1/documents filters on verified, outdated, type, and date range and streams a CSV export; GET /v1/learnings exposes the citation-burst signals. Both are keyset-paginated and ACL-filtered to the calling key's user, so an export never includes a document that user can't see. There's an Export CSV button on the Captured inbox too.
open in the appgovernanceWorkspace governance consolelive
One admin page gathers the controls that apply to everyone (PII redaction, document classification, web research, image generation, spend caps, and the agent-action approval policy), each labeled 'applies to all members'. Set the workspace's posture in one place instead of six, every change audited.
open in the appOAuth for MCPOAuth 2.0 for MCP clientslive
AI clients that speak OAuth connect without anyone pasting a key: dynamic client registration, PKCE required, refresh tokens that rotate on use. The consent screen a logged-in user approves is the real gate; registering a client grants nothing by itself. Tokens carry read/write scopes only, never capture.
open in the app
Workspace operations
Wired into every tool you already use. Connectors, BYOK, the individual tier: Pulse fits the way procurement, finance, and contractors actually buy.
initiativesInitiatives that roll up their own healthlive
A multi-quarter push usually spans several Goals, Features, and commitments, and answering 'how's it going?' means stitching them by hand. An Initiative groups them into one card: mean goal progress, where its Features sit across discovery to ship, and how many commitments are open or overdue. As a Feature changes stage or a tied commitment lands, a worker recomputes the key results automatically (a manual edit always wins). Initiative-level work state only, never a per-person score.
open in the appcustom rolesRoles with exactly the permissions you chooselive
The four built-in roles don't fit every workspace, so define your own from a closed list of permissions and assign it to members. The permission set is a strict subset: a custom role can grant Ask, capture, action approval, connector management, and the rest, but owner-tier powers (API keys, SSO, workspace lifecycle, role management itself) can never be handed out. Built on the same guards every privileged path already uses.
open in the appcross-teamCross-team meeting suggestionlive
When two teams have overlapping work but no joint touchpoint in 30 days, Pulse suggests a sync, with the participant list and proposed agenda. One click on 'Propose a time' checks everyone's calendar for the first common free slot and drafts the invite into your approval inbox.
open in the appBYOKBring your own Anthropic keylive
Pipe LLM traffic through your own Anthropic API key. Encrypted at rest, decrypted only at request time, tested before it goes live. Customer data never touches Pulse's shared key. Procurement-friendly, audit-ready.
open in the appBedrock · AzureBedrock & Azure OpenAI BYOKlive
Run Pulse against your own AWS Bedrock or Azure OpenAI deployment, your tenant, your rate limits, your data residency. Self-serve from the BYOK admin: add credentials, test the connection, and every matching LLM call routes to your cloud.
open in the appindividualIndividual workspacelive
Single-seat workspace for consultants, founders, IC contractors. Tier-mode locked, admin + team surfaces hidden, full Ask + Map + Skills + Outputs. No team required. Choose “Just me” at signup.
open in the appbenchmarksBenchmarks against other teams, no shared datalive
See where you stand on five scopes: shipping velocity, decision cadence, support response, PR review cycle time, and meeting load per member. Benchmarks are opt-in and blurred with statistical noise (differential privacy) before they're combined, so a number can never be traced back to one team, and nothing publishes below five participating workspaces. Your raw data never leaves your workspace.
open in the appMCPMCP server · 27 tools: read, capture, memory, proposelive
JSON-RPC over HTTP at /api/mcp. Bearer auth via existing API keys (pk_live_), per-user MCP tokens (pulse_mcp_), or a full OAuth flow with PKCE for clients that register themselves. Fifteen read tools (search_company, get_decision, find_expert, get_pulse, pulse_workspace_snapshot, pulse_get_ambient_hints, plus the filesystem-style pulse_ls/tree/grep/glob, all permission-filtered), seven capture tools so Claude Desktop, Cursor, and Codex can push AI conversations, snippets, decisions, commitments, failure cases, notes, and skill suggestions into Pulse, three personal-memory tools (pulse_remember, pulse_recall, pulse_forget) that carry your private facts and writing/coding style across tools, and two propose tools (pulse_propose_action and pulse_propose_config) that let any connected AI client draft real actions or workspace-config changes into the human approval queue without ever executing one itself.
open in the appai-chat-syncSync AI chat history from Claude Code, Cursor, ChatGPT, or Claude.ailive
Make your past AI conversations searchable in Ask alongside your workspace data. All chats are private to you. No one else in the workspace sees them. Claude Code and Cursor have local file paths Pulse reads directly. ChatGPT and Claude.ai provide official export ZIPs you upload at /app/admin/import. Each conversation is tagged with its AI source so retrieval chips are legible. Auto-capture for Claude Code is opt-in via a SessionEnd hook or background daemon (Cursor syncs via manual export); auto-pushed sessions stay private to you at /app/captured (or the Operations · Captured tab for a quick peek).
open in the appcaptured-inboxCaptured AI inbox · private to you by defaultlive
Every AI session pushed into Pulse, manual or auto, lands at /app/captured with source filtering, decision and commitment counts per row, and an 'auto · private' badge on hook-captured sessions. The Operations umbrella has a quick-peek Captured tab showing the last 5 with a 'View all' link. Server-enforced ACL: a misconfigured daemon cannot accidentally fan an auto-pushed coding session out to the whole workspace.
open in the appdrop-anywhereDrop-anywhere capturelive
Capture a thought or file without opening the app. POST /api/v1/capture from an iOS Shortcut or Share Sheet, or drop a note in the ~/.pulse/inbox/ folder the desktop daemon watches. Each capture lands private to you in the Captured inbox; the desktop daemon dedupes by content hash before it posts.
open in the appbrowser-clipBrowser clipper + read-it-laterlive
Clip any web page into Pulse from the browser extension (Chrome + Firefox), or paste a URL in the Captured inbox to read later. Both land private to you, tagged 'Web clip', and never fan out workspace-visible decisions or commitments. The extension authenticates with a personal capture token, so a shared key can't widen a clip to the team.
open in the appvoice-memoVoice memo capturelive
Record a thought or upload an audio file in the Captured inbox; Pulse transcribes it and saves the text as a private note. Transcription is an explicit step you trigger (it's a paid call, with the cost shown first), and only the transcript is kept, never the audio.
open in the applive notetakerLive meeting notetaker, no bot joins the calllive
Capture a meeting from your own browser: share the meeting tab (with its audio) and Pulse transcribes it near-live into notes you can watch land, in ~45-second chunks. No third-party bot joins the call; your device does the capture, only the transcript is kept (never the audio), and the notes stay private to you in the Captured inbox until you promote them to share with the team. You confirm you'll tell participants before recording starts, and a persistent indicator shows while it's capturing. Lives on Workspace, Meeting.
open in the apppersonal-memoryPrivate personal memory + style profile, across AI toolslive
A memory that belongs to you, not the team. Say 'remember that…' in any connected AI client (pulse_remember) and it sticks; a fresh session in Cursor picks up where one in Claude left off because pulse_recall loads your facts plus the writing and coding style Pulse learned from your own work. Private to you by construction: no teammate, manager included, can see it, and it never feeds a team metric. Manage, edit, or forget anything at Settings → Data → Personal memory. Automatic capture and style learning are opt-in; the only non-owner read is an audited, time-limited break-glass grant that notifies you on use.
open in the appoperations-tabsOperations umbrella · 6 tabslive
Risks, Activity, upcoming meeting Briefings, Projects in flight, your AI-captured inbox preview, and Benchmarks against other teams, one /app/operations surface for the week-at-a-glance view. Default tab Activity; every legacy URL (/app/risks, /app/briefings, /app/features) 308-redirects to the right Operations tab so external bookmarks keep working.
open in the appauto-linkerDeterministic auto-linkerlive
Before any AI call runs, Pulse recognizes @mentions, Linear ids like ENG-1234, GitHub PRs and URLs, Notion links, and emails, and connects each to the right person or document automatically. Admins promote new patterns through DRAFT → SHADOW → ACTIVE; every one is safety-checked before it goes live.
open in the appcodebase indexDeep codebase understandinglive
Pulse indexes source code for every repo on a connected GitHub or GitLab account via the tree API, with a safety deny-list that blocks .env, secrets, keys, node_modules, and binaries. Ask 'how does our auth system work' and get an answer grounded in the actual code, not just PR discussions. Max 5000 files per repo, ACL inherited from repo collaborators.
open in the app25 connectors25 connectors across code, tasks, files, CRM, meetings, emaillive
Slack, GitHub, GitLab, Notion, Confluence, Linear, Jira, Asana, Monday.com, Trello, Drive, Dropbox, Airtable, Miro, Calendar, meeting transcripts (Fireflies, Granola), Zoom, Salesforce, Zoho, Apollo, Stripe, Microsoft 365, Canva, Gmail, Clay. Every source feeds the same pipeline: ingest, mirror permissions, extract decisions and commitments, compile entities, answer.
open in the apprealtime syncChanges arrive as they happenlive
Nine connectors (GitHub, GitLab, Linear, Slack, Asana, Trello, Monday, Zoom, Airtable) tell Pulse the moment something changes; Jira and Stripe do the same once you paste a webhook secret into their settings. Google Drive and Calendar register push watches automatically; Gmail and Microsoft 365 use their own push channels; Dropbox keeps a line open. Salesforce and Zoho support an optional operator-wired realtime receiver. Every incoming notification is verified before anything is ingested, and the scheduled syncs keep running underneath as the safety net, so a missed push never means missed data.
open in the app
Internal apps
Every team ends up wanting small internal tools: an invoice chaser, an onboarding nudge, a ticket router. Pulse lets anyone wrap the automations they've already built into a named app and, with one admin approval, hand it to the whole company.
build your ownAnyone can build an applive
Build a personal playbook or agent, then bundle one or more into a named app from the gallery. The draft stays private to you until you submit it. No code, no separate builder to learn; it's the same playbook and agent editors you already use.
open in the appadmin approvalOrg-wide publish needs one approvallive
A member's app draft lands in the admin's Internal apps queue. Publishing promotes each bundled agent and playbook to its own workspace copy and makes the app installable for everyone. Published apps start disabled so an admin turns each one on deliberately.
open in the appsafe by defaultPublished automations re-scope, never auto-firelive
When a personal agent is published to the workspace, Pulse strips its private channel and label filters, drops every personal read-grant, and forces human approval back on. The admin re-scopes and re-grants before enabling. A member's app can never quietly fan their own settings out to the company.
open in the appdata appsStateful data apps with row-level accesslive
Beyond automations: HR directories, PTO trackers, asset registers. An admin builds a data app with typed fields, and a per-sheet access rule (owner-only, manager-chain, team, field-match) keeps each row private by default. Salaries never enter Ask, Map, or search unless a sheet is explicitly opted in, and only sheets with a static access mode can be made searchable so the permissions can't go stale.
open in the app
Browse the catalogue, or skip to the part that matters.
The full catalogue below is the floor. The thirty-minute onboarding is what makes it your floor, not someone else's.