Skip to main content
phealth
phealthSignal

Signal · the messaging engine for health apps and agents

The adaptive health-messaging engine for 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.

  • Sequencing is the product Every call is a per-episode sequencing and safety decision, not a message fetch.
  • Receptivity is built in Every cue comes back with a receptivity read for this patient — a signal for whether a message will land now, so you send when it counts.
  • Provenance + safety Federally-sourced and audience-safety-checked — your agent never fabricates a health claim.
// 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

Composition

Signal picks the message. Reach picks the moment.

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).

See Reach

How Signal works

One stream, one patient, one sequence of cues.

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.

See the lifecycle

One patient, three streams, one message a day.

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.

See the timeline

Zero to first cue in 20 minutes.

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.

Read the quickstart

Stream templates · live now

Two more queued; four in the pool. Full catalog has all 13. Custom templates at Enterprise tier.

See full catalog
LIVE

General Wellness

Daily · indefinite

Daily

CDC NIH USPSTF
LIVE

Relapse Prevention

90 days

Daily, tapering to weekly

SAMHSA
LIVE

Diabetes · Pharma Init

30 days

Daily

NIDDK
LIVE

Weight · GLP-1 Init

30 days

Daily

NIDDK
LIVE

Heart · Pharma Init

30 days

Daily

NHLBI
LIVE

Quit Smoking

90 days

Daily for week 1, tapering to weekly

CDC HHS
LIVE

Hypertension · Lifestyle

90 days

3× / week

NHLBI
SOON

Anxiety · Preventive · Weight Lifestyle · Caregiver

Pool

FAQ

Common questions

What's a "cue"?

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.

How is Signal different from a regular email/SMS scheduler?

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.

Do I have to let you send messages?

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.

Do you store PHI?

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.

How fast can I start?

A sandbox key is issued the moment you sign up. The quickstart goes from signup to first cue in about 20 minutes.

A person at home reading a health message on their phone in soft morning light.

Where cues land

Every cue ends here — a real person, at a moment they're ready to hear it.

Founding design partners

Building patient messaging? Build it with us.

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.

See the design-partner program

Start with what fits

Sandbox in 5 minutes. Live cues in a day.

Evaluating Signal? Let Claude or ChatGPT do the vendor legwork — paste one prompt.

See how →