General Wellness
Daily
Signal · the messaging engine for health apps and agents
Pick a template, send a patient's last response, and get the next message back — sequenced, receptivity-scored, and checked safe for who's receiving it. Not a content feed: the decision layer for health messaging.
Display mode never touches PHI — no BAA required. Start in 5 minutes.
// 5-minute integration
POST /v1/signal/streams/abc_124/cue
{
"patient_ref": "p_001",
"last_response": "did_it",
"day": 31
}
↓ 47ms ↓
{
"message": "Today is day 31 — what’s one craving you handled?",
"receptivity": 0.74
}
Set last_response
50ms
Cue latency
5
API endpoints
1/day
Per-patient cap
13
Stream templates
What you get
Cardiometabolic suite (Diabetes · Weight GLP-1 · Heart) + Relapse Prevention + General Wellness + Quit Smoking + Hypertension Lifestyle live; 2 more queued; 4 in the pool.
You render in-app, or we send via email/push. Pick at create-time.
Per-message include/exclude tag gating. Filter, not flag.
Per-call readiness 0–1. Your routing logic picks the moment.
Composition
Signal answers what to send next, with a receptivity score so you know if now's the time. Reach turns that into a real send/defer/hold decision and picks the random minute inside the patient's window. Use Signal alone (Display mode) or both together (Deliver mode).
How Signal works
Five endpoints between 'partner picks a template' and 'patient finishes the arc' — Create, Enroll, Cue, Webhook, Close. The cue loop is the only ongoing contract; everything else fires once.
A 1-per-day cap with five priority rules picks the winner — safety beats everything, time-bound beats indefinite, receptivity breaks ties. Patients enrolled in multiple streams never get message-bombed.
Self-serve through Discovery — sandbox key issued at signup, first cue in 20 minutes, no waiting on humans. Deliver-mode buyers (the API sends on the patient's behalf) get same-day manual review.
Stream templates · live now
Two more queued; four in the pool. Full catalog has all 13. Custom templates at Enterprise tier.
Daily
Daily, tapering to weekly
Daily
Daily
Daily
Daily for week 1, tapering to weekly
3× / week
FAQ
One POST /v1/cue call: you send the patient's last response and the day; you get the next message, a safety verdict, and a receptivity score. Retries and webhooks aren't billed.
A scheduler picks the day; Signal also picks the minute — anchor-and-jitter so the same window every day lands on a random minute inside it. Every cue carries an audience-safety verdict and a receptivity score, and the multi-stream timeline caps each patient at one message per day across every stream they're enrolled in. See /signal/receptivity for the mechanics.
No. Display mode is the default — you render cues in your own app, no PHI leaves your system, no BAA. Deliver mode is opt-in.
Only in Deliver mode, and only under a BAA. Display mode (the default) never receives PHI — you render cues in your own app from the message body Signal returns. Deliver mode is gated on a BAA before keys activate; PHI lives in the BAA-bound audit log and follows the retention schedule in your agreement. See /signal/safety for the audience-safety architecture.
A sandbox key is issued the moment you sign up. The quickstart goes from signup to first cue in about 20 minutes.

Where cues land
Every cue ends here — a real person, at a moment they're ready to hear it.
Founding design partners
We are taking on a few founding partners — white-glove integration and free usage while we build together, in exchange for your feedback and a reference once you are live.
Start with what fits
More in the Signal hub
Evaluating Signal? Let Claude or ChatGPT do the vendor legwork — paste one prompt.
See how →