What patients receive: messages, action links and signing
What a journey sends to patients, the checks every message passes, one-tap action links, and how documents go out for signature.
A journey talks to patients on your behalf: it sends WhatsApp and email messages, one-tap links to confirm or pay, forms, and documents to sign. This page explains what patients receive, why a message might be held or not sent, and how signing works. It is for administrators who design journeys and for front-desk and nursing staff who answer patients' questions.
What a patient can receive
What | Sent by | Notes |
|---|---|---|
WhatsApp or email message | A Reach node or a scheduler | Uses an approved template, in the patient's language when a language template is set. |
One-tap action link | A Reach message with an action link | Confirm, cancel, reschedule, pay, or answer a short form. Opens a simple page on the patient's phone. |
WhatsApp form | Opens inside WhatsApp if the patient has written to you in the last 24 hours; otherwise it goes out through the form's template. If there is no template and the 24 hours have passed, it is not sent. | |
Document to sign | A signing link by WhatsApp or email, or signing at the desk. | |
Reminders | Engage, Capture and Sign steps with "Remind before the limit" | The patient may receive the same form or signing link a second time. |
The checks every message passes
Before each journey message (including signing links) goes out, LeapHealthOS checks the following, in this order. The first one that applies decides.
Check | Result | Reason shown in the journey panel |
|---|---|---|
The patient is recorded as deceased | Not sent | The patient is recorded as deceased |
The contact is blocked | Not sent | This contact is blocked from all messages |
None of the clinic's required consent purposes is granted (or the patient has no contact record while purposes are required) | Not sent | The patient has not agreed to be contacted |
The plan's monthly message limit is reached | Not sent | The plan's message limit was reached |
It is within quiet hours | Held until quiet hours end, then sent | It was outside the hours when messages may go out |
The message's news type requires a person first, and no call task of this journey has been completed | Not sent | A person has to speak to the patient first; a task was raised |
The channel is not allowed for this news type | Not sent | This channel is not allowed for this kind of news |
It is outside the send window for this news type | Held until the window opens, then sent | It was outside the hours set for this kind of news |
When a message is not sent, the step still completes and the journey carries on. Held messages go out by themselves when the window opens, and the step waits until then; the journey panel shows them under Scheduled as "Message held until allowed hours".
A person first does not create a task
The reason shown says "a task was raised", but no task is created. The message is held back until a staff task from an Engage step of the same journey has been completed. Design the journey so a waiting Engage step (for example a call) comes before any message whose news type is set to A person first; publishing warns you when such a message can be reached first.
Where these rules are set
All in SettingsPlatform ConfigurationSystem Settings, Journeys tab:
- Entering journeys > Consent purposes required: also gates every message.
- Messaging hours > Quiet hours: From, To, Whose clock (The patient's / The clinic's) and, for the clinic's clock, a Timezone. Off by default.
- Messaging hours > Message timing policies: one row per kind of news, with News type (the same word you give a message in the Reach step), Channels allowed (none means every channel), Send from, Send until and A person first.
See the Notification, reminder and journey settings reference.
Checking what was sent
Open the patient's journey from JourneysPatients and look at Recent messages.
Status | Meaning |
|---|---|
Sent | Handed to WhatsApp or email. |
Being sent | A send is in progress. |
Held — goes out later | Held by quiet hours or a send window. Goes out shows when. |
Not sent — held back by a rule | One of the checks above stopped it. Why gives the reason. |
Not sent — nobody to send it to | No phone number or email could be found. |
Not sent | Sending failed. |
Delivery then shows Delivered, Read or Not delivered when WhatsApp or email reports back. If a template value was empty, the panel warns "No value was filled in for …" because WhatsApp sends the template's sample text in its place.
Action links
A Reach message can include a one-tap link. The patient opens it on their phone and sees a single card.
Link | What the patient sees and can do |
|---|---|
Confirm | Confirm your appointment > Confirm appointment. If the appointment must be paid online first, they see "Payment is pending — Please pay first using the payment link you received." |
Cancel | Cancel your appointment, an optional reason, then Cancel appointment and a final "Cancel this appointment? This can't be undone here." with Keep it. Your normal cancellation and refund rules apply. |
Reschedule | Choose a new time: available times for the same service, centre and doctor, then Move appointment. If none are free, they see "No times are available right now — Please contact the clinic." |
Pay | Pay for your appointment > Continue to payment, which opens the payment link. |
Form | The form's questions and Submit. A waiting Capture step can use the answers to decide the next path. |
How links behave:
- Single use. Once used, the link shows "Already done", "This payment link was already used" or "Already answered".
- They expire. An expired link shows "This link has expired — Please contact the clinic for a new one."
- Cancelling the appointment cancels its links. The patient sees "This link is no longer valid".
- If the appointment or order has gone, the patient sees a short message saying so.
For a walk-through of the patient's side, see Patient action links.
Before you use action links
- Action links and form links need a one-time setup by your implementation team; there is no screen for it in LeapHealthOS yet. Until it is done, a Reach step that includes an action link does not send.
- The link page does not show your clinic's name or logo.
The public form page (a link to a form by itself, outside any journey) is a different feature and does not feed journeys. See Public forms.
Signing documents
A Sign step turns a PDF template into a document, sends it out for electronic signature, and waits.
Who signs and how the link reaches them
Signers are grouped into stages. Everyone in the current stage must sign before the next stage's links go out. Each signer receives the link in one of these ways:
Delivery | How it works |
|---|---|
WhatsApp or email | A template that contains the signing link. The link passes the same message checks as any journey message, so it can be held by quiet hours. |
Staff task | A staff signer gets a task "You are asked to sign this document." |
At the desk | The coordinator gets a task "This signer signs at the desk." and helps the patient sign there. |
The signing window and follow-up
- The signing window is set on the step, or by default in System Settings > Journeys > Staff & signing > Signing window (7 days).
- It counts from the moment the step starts, or from the moment the link goes out, according to Signing limit counted from.
- If the step has a follow-up time, the coordinator gets a "This signer hasn't signed yet." task for each signer who has not signed by then.
- A reminder can re-send the link to every unsigned signer of the current stage before the window closes.
- The step can wait until everyone has signed, declined or the window closed, or move on at once while signing continues in the background.
Problems become coordinator tasks
When something goes wrong, the coordinator role at the centre gets a task in Your task worklist, with the signer's link and Open signing link:
Task text | Cause |
|---|---|
We couldn't find this signer or their contact details. | The signer, or their phone or email, is missing. |
This signer is the same person as another signer. | One person holds two signing places. |
The signing link couldn't be sent. | Sending failed straight away. |
The message with the signing link failed. | WhatsApp or email reported a failure later. |
This signer hasn't signed yet. | The follow-up time passed. |
The coordinator closes the task with an outcome: Send again (try to find the signer or send the link again), Signer declined (the request ends as declined) or Cancel signing (the request ends as cancelled). When a signer signs, their task closes by itself. You can change the wording of these tasks in System Settings > Journeys > Signing task wording.
One unresolved signer holds everything
If any signer cannot be resolved (not found, more than one match, no name, no contact, or the same person twice), the whole request waits until a coordinator fixes it.
Following a signing request
In the journey panel, Signing shows each request and each signer.
Request status | Meaning |
|---|---|
Waiting for signatures | Out for signature. |
Everyone signed | Complete. The signed PDF is saved to the patient's documents. |
Declined | A signer declined. |
Signing window ended | The window closed before everyone signed. |
Failed | The e-signature provider reported a failure. |
Cancelled | Cancelled by the coordinator, or because the journey ended. |
For each signer you see their party (Patient, Relative, Staff, Witness), status (Waiting, Signed, Declined), how the link goes (or "No link — the signer was not found", "Link not sent yet", "A task is open for this signer"), delivery (Sent, Delivered, Read, Could not be delivered) and Copy link.
When everyone has signed, select Get the signed document, then Open signed document or Open audit trail. "These links work for a short time. Get them again when they stop working."
If the journey ends or is cancelled while a request is waiting, the request is cancelled.
If the journey was paused while signers signed, check the Signing section after you resume and use Move ahead on the Sign step if everyone has already signed (see "What to expect while a journey is paused" in Running journeys).
When a patient wants messages to stop
If a patient withdraws consent and has no other contact consent left, every journey they are on closes, because the Consent revoked event must close journeys. Blocking the contact stops every journey message and, by default, pauses their journeys. See Schedulers and journey settings.
Related pages
Last updated on
Schedulers and journey settings
Add recurring messages, tasks and AI flows to a journey, and set its starting fields, close policy, timing, exclusion group and interrupt handlers.
Event catalog
Every event a journey can react to, grouped as in the product, with the label you pick, its key, and whether it can start a journey or be waited for.