Capture from anywhere, not just inside the app.
A thought worth keeping rarely arrives while you have Pulse open. Two surfaces let you send one in without switching context, and both reuse the same ingest path as everything else. A capture lands private to you in your Captured inbox (AUTHOR_ONLY) until you promote it, so a quick note never fans out to the workspace by accident.
POST /api/v1/capture takes a short JSON body and a per-user token. Use a pulse_mcp_ token (not a shared workspace key) so the capture is scoped to you.
curl -X POST https://pulsehq.tech/api/v1/capture \
-H "Authorization: Bearer pulse_mcp_…" \
-H "Content-Type: application/json" \
-d '{ "text": "Move the pricing review to Thursday", "title": "Pricing review" }'text (or body) is the only required field; title and url are optional. Get a token at Settings → Integrations → MCP tokens.
- In the Shortcuts app, add a Get Contents of URL action.
- Set method POST, URL https://pulsehq.tech/api/v1/capture, and an Authorization header of Bearer pulse_mcp_….
- Request body (JSON): text = the Shortcut input (Share Sheet text, a selection, or the clipboard).
- Turn on Show in Share Sheet so you can send a selection or link from any app straight into Pulse.
The capture daemon also watches ~/.pulse/inbox/. Drop a .txt / .mdfile there (or AirDrop one to it) and it’s captured on the next sweep, then moved to ~/.pulse/inbox/synced/. Files are deduped by content hash, so re-dropping an unchanged file does nothing.
PULSE_API_KEY=pulse_mcp_… npx tsx scripts/pulse-capture-daemon.ts
Captures appear under Operations → Captured alongside your AI-session captures, badged as a manual capture and visible only to you until you promote them. The Push API limits apply (5,000 ingests per key per day, plus your plan’s document quota); demo workspaces are blocked. See also the capture overview and the Push API.