Opidocs
FeaturesAssistant

Heartbeat

Let your assistant run quietly in the background — checking on the things you care about and pinging you only when something needs attention.

Heartbeat is your assistant's ambient mode. Instead of waiting for you to start a conversation, it runs scheduled checks in the background — looking at your inbox, your calendar, anything you've told it to watch — and pings you only when there's something worth your attention.

Most ticks are silent. You'll only hear from heartbeat when it has a real reason to pull you in.

What heartbeat does

You define a list of checks — small natural-language prompts like "Look at my unread inbox for anything urgent" or "Watch my calendar for last-minute changes". The assistant runs each check on a cadence you set (every 15 minutes, hourly, daily…). For each tick:

  • If nothing's worth flagging, the tick is silent — no notification, no chat message
  • If something matters, the assistant alerts you in your Inbox with a short summary
  • Repeated alerts about the same thing are deduped — you won't get pinged five times for the same email

The whole thing runs only during the active hours and days you configure, and stops the moment you snooze or disable it.

Setting up heartbeat

Open /assistant/settings/heartbeat (or click Settings → Heartbeat from the assistant page).

Enable

The first card is a toggle. Flipping it on starts the dispatcher; flipping it off stops every tick. The toggle auto-saves — no Save button needed.

Cadence

How often the assistant should check. Pick from:

  • 15 min — Most reactive; good for inbox triage during the workday
  • 30 min — A balanced default
  • 1 hr — Gentler; good for things that don't need real-time attention
  • 4 hr — Light-touch; calendar awareness, weekly nudges
  • Daily — Once-a-day summary cadence

Active hours and days

A start time, an end time, and the weekdays heartbeat should run on. Outside this window, every tick is skipped with reason outside active hours. Useful when you don't want the assistant pinging you in the evening or on weekends.

Ambient context

A free-form note that gets prepended to every tick. Use it for context the assistant should always weight:

  • "I'm on PTO until Friday — only flag things from my manager."
  • "This week I'm running launch ops, so prioritize anything related to the rollout."
  • "I don't care about marketing emails."

The ambient context lasts until you change it. Update it whenever your situation changes.

Click Save to persist the cadence, hours, days, and ambient context. Enable changes save automatically.

Checks

The Checks section below the settings is the list of prompts the assistant runs. Each check has:

  • A name (what you'll see in the alert if it fires)
  • A prompt — what the assistant should look for
  • An interval — overrides the global cadence for this check (e.g., the assistant runs the inbox check every 15 min and the calendar check every hour)
  • An active toggle — pause individual checks without disabling heartbeat entirely

Adding a check

Click + Add check to open the editor drawer. Type a name ("Inbox triage"), a prompt ("Look at unread inbox messages from people I work with for anything urgent"), and pick an interval. Save.

The check runs on the next tick that matches its interval.

Editing or deleting a check

Click an existing check to open the editor drawer. Edit any field and Save, or click Delete to remove the check permanently.

Snooze

The page header has a Snooze menu with quick options: 1 hour, 4 hours, until tomorrow morning, etc. Picking one suspends every tick until the snooze window ends — you'll see "skipped · snoozed" in the history during the window.

The snooze affects all checks, not individual ones. To pause a single check, toggle its Active state instead.

You can also snooze from the assistant chat header — there's a one-click snooze menu there for when you don't want to leave the chat.

History

The History section shows ticks from the last 7 days. Each row tells you:

  • When the tick fired
  • What happened — silent (no alert), alerted (with summary), skipped, or errored
  • Why — the reason for the outcome ("outside active hours", "snoozed", "daily token cap", etc.)

History is useful for sanity-checking what heartbeat is doing. If you're getting too many or too few alerts, scan history to see what's firing and why.

Alerts

When a tick produces an alert, you get an entry in your Inbox with:

  • A short summary of what's worth your attention
  • A link back to the assistant for more detail
  • A reference to which check produced it

Alerts are deduped: if the assistant flagged an email this morning and the same email is still unread an hour later, the next tick will silently confirm "still relevant" and not re-ping you.

Auto-pause on errors

If five consecutive ticks fail (e.g., the AI service is down for a long stretch), heartbeat auto-pauses itself and sends you an inbox notification explaining why. This keeps a degraded service from spamming your error log.

To resume, fix whatever caused the errors (or wait it out), then toggle heartbeat back on.

Privacy and tools

Heartbeat ticks run as your assistant, scoped to your data. No other user can see your checks, history, or alerts. The assistant can only call read-only tools during a tick — no sending email, no writing to integrations, no creating files. This is to make sure heartbeat can't take destructive actions on your behalf without explicit confirmation.

If you want a tick to do something rather than just notify, the alert routes you back to the assistant in chat — where the assistant has its full toolkit and you can confirm any actions.

Cost

Each tick is a normal AI call against your workspace's usage. Platform usage caps are enforced per workspace (daily and monthly windows) — once your workspace hits the cap, subsequent ticks are skipped with reason daily_token_cap until the window resets. Check /settings/personal/usage to see how much heartbeat is costing.

For most users on a 15–30 min cadence, heartbeat costs are minimal — silent ticks return very quickly. Heavier ambient context, longer prompts, or many checks can add up.

When to use heartbeat — and when not to

Good uses:

  • "Watch my unread inbox for anything urgent" (especially during meeting-heavy days)
  • "Look at my calendar for unexpected schedule changes"
  • "Check the design review channel for new feedback on my drafts"
  • "Surface anything that mentions the launch this week"

Bad uses:

  • "Send me a summary of news every hour" — costs add up fast for a low-value alert
  • "Watch this complex condition that requires deep analysis" — heartbeat ticks are short; complex monitoring belongs in a scheduled task
  • "Trigger an action when X happens" — heartbeat is read-only; for action-on-condition, use a workflow

If you find yourself disabling heartbeat because it's too noisy, the issue is usually the prompts — make them more specific about what counts as "urgent" or "worth flagging".

On this page