The Pulse platform

Four rituals. One thoughtful companion.

Pulse is built around the moments that quietly hold a team together — the weekly briefing, the casual intros, the watercooler question, the noticing of someone who's been quiet. Each one is a proper feature with its own safety rails, opt-outs, and analytics.

Pairings

1:1 intros that land, not random shuffles.

Create a pairing program per channel or audience — Engineering mixer, all-hands, designers, whatever. Each program has its own schedule, group size (pairs or triads), no-repeat window, and audience scope.

When a round runs, Pulse scores every legal partner for each person by shared topic tags (55%), complementary activity levels (25%), and freshness of engagement (20%). Then it writes a "why this pair" brief and a conversation starter tailored to both profiles. Three days after a pair marks "we met", Pulse asks a one-tap "how'd it go?" — winning starters feed the next round's AI prompt.

Try pairings free →
Calendar + Zoom aware When both teammates link Google Calendar or Outlook, Pulse finds a mutual free window and drops a Zoom link into the DM.
Timezone-staggered sends Each person's intro DM lands inside their own preferred send-hour window — no 2 AM pings.
No-repeat + avoid list Per-program no-repeat window. Private don't pair me with @person list via Slack DM, admin-free.
AI lift visible Every round shows its met-rate vs the rolling 8-round baseline — you see whether the AI is earning its cost.
Watercooler

Channel-aware questions that match the vibe.

Each watercooler is bound to a Slack channel — General, Project, Guild, or Random — and the AI matches the tone. A project-thread gets energising questions about craft; a random channel gets playful; a guild channel gets thoughtful. The bot posts, then drops its own first reply 60 seconds later to break the ice.

AI proposes fresh questions from what the channel was actually talking about that week — every suggestion shows permalinks to the messages that inspired it, so admins approve in context. Humor guidelines are hard-coded: no sex, stereotypes, politics, mental health, health, family, finances, performance, or trending crises. When in doubt, kindness wins.

Try watercooler free →
Seeded first reply Bot drops a warm first reply 60s after posting. Others find it easier to chime in.
Daily channel digest Every watched channel is summarised once a day and fed to the suggestion agent — so questions feel current.
Approval queue with "inspired by" Permalinks to the source messages visible on every proposal. No black-box AI picks.
PACK badges on sent topics Quick glance shows which prompts pulled replies, reactions, and voices beyond the usual few.
AI personalization

Warm follow-ups. Not creepy ones.

When someone replies in a watercooler thread, Pulse can write a short personalized follow-up — either in the same thread, or as a private DM if they'd engage more there. The AI reads their past replies for context, but paraphrases, never quotes.

Every user can type "show my profile" or "delete my profile" as a Slack DM. Consent is a hard gate, not a checkbox. Rate limits cap DMs at one per person per week.

Read the safety rails →
// user DMs the bot
show my profile

Here's what I have:

"Short read: Often writes about travel and photography. Tends to answer longer than average; engages with prompts about craft."

Tags I picked up: travel, photography, film, cooking.

Reply 'delete my profile' anytime to wipe this.

Newsletters

Async check-ins that pull out the real answer.

Create a newsletter with a title, context, and objective. Pulse suggests questions (using past-run performance as signal) — you approve, edit, or write your own. Every question becomes its own DM thread, so a teammate answers one, then moves on.

Each greeting is written fresh for that person using their first name, their inferred communication style, the time-of-day, and the objective. Follow-ups reference what they just wrote, not a template. When the window closes, a consolidated digest publishes to the channel you chose.

See a newsletter →
📄 Team Pulse · Week of Apr 14 Canvas · #wg-internal

Four ships, two blockers, one big experiment.

Apr 14–18, 2026 · 14 teammates replied

What shipped

New onboarding flow went live Tuesday. Three client-facing dashboards rolled out across APAC. Timezone-aware scheduler is production-tested on a 150-person workspace.

What's blocked

Stripe migration waiting on legal review (early next week). Infra ticket on the queue worker still open — owner on leave, backup picks it up tomorrow.

What's next

Q3 planning doc. Two folks prototyping an HRIS sync. Interest in an in-person team retro — seems real.

Engagement dashboard

Decisions, not dashboards.

One page answers the questions a People Care lead actually asks: Are people participating? Are pairs meeting? Which prompts landed? Who's been quiet for 60+ days?

Each metric is colored green/yellow/red against a healthy baseline — not a vanity number. The dormant-users widget lists people with zero signals in 60 days; a one-click "send a thoughtful nudge" action writes a DM that references their own known interests, not a template.

See a live dashboard →
Sample — your numbers
Pairing meet rate
41%
Of pairs that confirmed "met"
AI lift
▲ 13 pts
This round vs 8-round baseline
Watercooler reply rate
28%
Unique repliers per round
AI accept rate
67%
Of proposed questions approved
Safety & consent

The opt-outs are real gates.

Privacy and consent aren't checkboxes at the bottom of an admin form. They're enforced in code — no AI can override them, no dashboard can bypass them.

Four hard opt-outs

Every teammate has four flags: pairing_opted_out, watercooler_opted_out, dm_follow_ups_opted_out, ai_profile_opted_out. Each is a gate in the service code — nothing sends when the flag is true, regardless of what the AI decided.

Self-service via DM

Type pause, resume, snooze 2 weeks, don't pair me with @person, show my profile, delete my profile, or integrations as a Slack DM to the bot. No admin dependency.

Never quotes you back

Every AI agent is explicitly forbidden from quoting past replies verbatim — paraphrase only. Your replies are never used to train external models.

Forbidden topics

Hard-barred in every agent's instructions: health, family, finances, religion, politics, performance reviews, sex/gender, stereotypes, trending crises.

Rate limits, not spam

Max 1 DM follow-up per user per 7 days. Max 1 thread follow-up per user per watercooler round. Post-meeting feedback fires once per pair, on the transition.

AI spend audited

Every LLM call writes a row to ai_traces — agent name, model, tokens, cost, latency. One-row-per-call auditability, not aggregated.

Works with what you have

Integrates where it belongs.

SlackNative app. Socket Mode for real-time events. OAuth scoped to the bare minimum — chat, im, reactions, users, channels, groups.
Your LLM providerPluggable. Pulse ships with two adapters; flip AI_DEFAULT_PROVIDER to swap. Every call is audited.
Google CalendarPer-user OAuth. Pulse finds mutual-free 30-minute windows via the freeBusy API for pairing intros.
Microsoft OutlookPer-user OAuth. Uses Microsoft Graph getSchedule the same way, for Outlook-native teams.
ZoomPer-user OAuth. Pulse auto-provisions a Zoom meeting and drops the link into the pairing intro DM.
StripeLaravel Cashier under the hood. Per-seat pricing; prorated as your workspace grows or shrinks.

Ready to try it?

14-day free trial. No credit card. Install from Slack, turn on the rituals you want.

Start free trial
Pulse vs Donut

How we compare, honestly.

Donut is a solid product. Here's where Pulse is different — and where we're not.

Capability
Pulse
Donut
1:1 intro pairings
✓ AI-scored by shared tags + activity balance
✓ Random shuffle
Watercooler questions
✓ Channel-aware AI, admin-approved with source permalinks
✓ Preset library
Team check-ins / newsletters
✓ Per-question DM threads, personalized greetings
Closed feedback loop
✓ 3-day post-meet DM feeds future matches
Calendar & Zoom
✓ Google / Outlook free-busy + Zoom auto-link
✓ Google / Outlook / Zoom
Per-program engagement insights
✓ Met-rate, AI lift vs rolling baseline, AI brief + starter per pair
Limited reporting
Self-serve opt-outs via Slack DM
✓ pause / snooze / don't-pair-me-with / delete-my-profile
✓ pause
AI transparency
✓ Per-call audit (tokens, cost, latency); rationale permalinks
Birthdays / anniversaries
— (not yet)
HRIS sync
— (not yet)
Self-hostable
✓ Docker Compose (Enterprise)
Starting price
$2 / person / month
≈ $3.90 / person / month

Comparison reflects Pulse features that are live in the codebase today. Donut rows reflect their published documentation at the time of writing. We'll update this as either product changes.