---
title: PM Discovery Callouts (proactive inbox suggestions)
---

# PM Discovery Callouts (proactive inbox suggestions)

## What it is

An in-development feature that surfaces cross-tool connection and automation-offer suggestions in the
inbox. It is the discovery side of Mission Control: rather than waiting for you to go looking for a
capability, it mentions the one that fits what you are already doing.

## Where to find it

In your inbox, as a card titled **"Tip for your project boards"** — desktop only, since Mission
Control's project boards are a desktop surface; a tip never appears on a phone. Each tip you're
offered gets its own card, so more than one can sit in your inbox at once; open a card to see that
tip's own headline, message, and choices. The feature is in development, gated behind the
`pm-discovery-callouts` unreleased feature (`pmDiscoveryCalloutsEnabled`), so it is off in a normal
install and no cards appear until it is turned on.

## How it behaves

Every tip's card carries the same general title, "Tip for your project boards" — the specific
suggestion (its own headline, message, and choices) renders inside the card body, not the title.
A non-automation tip offers **Not interested** alongside one action button for that suggestion
(turn on the integration, open Settings, and so on); an automation offer instead offers three:
open a session to set it up, let the PM handle it automatically, or **Not now**. The PM Discovery
system proactively surfaces two kinds of suggestions this way:

- **Cross-tool callouts** -- "your board has dates, connect your calendar" style
  nudges that suggest connecting PM to other Omniscio tools (Calendar, KMS, Team
  Chat, Decks, Gmail, Slack, Telegram). Each callout checks whether the relevant
  integration is already enabled and only fires when it is not.
- **Automation offers** -- "you changed statuses 15 times, want an automation?"
  style suggestions based on detected behavior patterns from the data density
  engine. Three response options: start a session to build it, auto-handle it, or
  dismiss.
- **Feature upgrades** -- suggestions to enable sprints, composability, or email
  integration based on board activity.
- **Workflow optimizations** -- suggestions for agent trust, ops engine, and
  unified feed based on usage patterns.
- **Usage insights** -- observations about high-activity boards, growing teams,
  and import opportunities.
- **Onboarding tips** -- setup wizard, feature profiles, and project kickoff
  suggestions for newer users.

A background scanner runs every 6 hours, delivering at most 2 callouts per tick
(1 per category) with a 7-day cadence between deliveries. Each callout is
deduplicated by callout ID and board ID. **A tip only counts as delivered once its card actually
appears** — if the card can't be shown (this tip type muted, for one), the
tip is not spent: you'll be offered it again on a later tick instead of it being silently used up.

Putting a card away — its own **Not interested** / **Not now**, or the card's own Archive button
(top of the card; also keyboard, middle-click, bulk archive, an inbox rule, or the Overseer)
— all end the same way: the tip is marked dismissed. The card also supports the
universal inbox **Snooze**, and you can mute PM tips entirely from the card, or from Settings →
Notifications → Alert types.

The gate is checked in more than one place: the scanner won't generate a new tip while the
feature is off, and the renderer store's own init skips loading while it's off. The moment the
feature IS switched off, every tip card already showing is cleared immediately — the underlying
tip stays available and gets a fresh card once the feature (and a later scan) turns back on.

## For agents

- Catalog of 25 callouts (7 cross-tool + 6 automation-offer + 3 feature-upgrade + 3 workflow-optimization + 3 usage-insight + 3 onboarding-tip) in
  `src/shared/pm-discovery/pm-discovery-callout-catalog.ts`.
- Scanner, generator, and the central-alert card producer (`pm-discovery-callout-card.ts`, dedup
  key `pm-discovery-callout:<releaseId>`) live in `src/main/services/pm/discovery/`. The card is a
  central alert, not its own inbox source — there is no dedicated PM-tip inbox row or detail pane
  any more.
- The card's custom body (`PmDiscoveryCalloutCardBody.tsx`) lives in
  `src/renderer/src/features/pm-discovery/`, mounted inside the shared `AlertInboxViewer`.
- Archive reasons are a closed Zod enum (dismissed, accepted, session,
  auto-handle, snoozed).
- Contract: `pm-discovery-callout-contract.md`.

## Related

The boards these suggestions are drawn from are described in
[mission-control.md](mission-control.md). What decides whether a board has enough data to earn a
suggestion at all is [pm-data-density.md](pm-data-density.md), and the engine that decides whether a
suggested feature may be combined with what the board already has is
[pm-composability.md](pm-composability.md). The import and post-import flows that produce the
onboarding-style tips are covered by [pm-onboarding-features.md](pm-onboarding-features.md), and the
inbox the cards land in is covered by [inbox-alerts.md](inbox-alerts.md).
