Documentation Index
Fetch the complete documentation index at: https://docs.decodahealth.com/llms.txt
Use this file to discover all available pages before exploring further.
Key Concepts
- Blast — A single bulk send. Each blast targets one or more cohorts and sends via either email or SMS.
- Cohort — A saved group of patients defined by filters (location, provider, tags, etc.). Cohorts are reusable across multiple blasts.
- Marketing vs. Transactional — Marketing blasts (promotions, newsletters) require patient opt-in and include an unsubscribe link. Transactional blasts (appointment reminders, billing notices) are sent regardless of marketing opt-in but still respect hard blocks like suppression and STOP requests.
Send an SMS Blast
Start a New Blast
Compose Your Message
Mark as Marketing (If Applicable)
Review the Send Preview
- Will send — Patients who will receive the message.
- Opted out — Patients who have opted out of SMS (via STOP or clinic settings). These patients are skipped.
- No contact info — Patients without a phone number on file.
- Landline — Patients whose number is marked as a landline.
- Not opted in — Patients who haven’t opted in to SMS marketing (only shown for marketing blasts).
Test Your Message
Send an Email Blast
Start a New Blast
Set the Sender Name
Add Cohorts and Write the Subject Line
Compose Your Email
- Click on a row to select it (a blue outline appears around it).
- Double-click a row to start editing the text inside it.
- While editing, use the toolbar to format text — bold, italic, underline, headings, lists, links, and alignment.
- Select the text you want to change, then click the Aa button in the toolbar to open the font picker.
- Search for a font by name or scroll through the list. The picker includes common web-safe fonts and a selection of Google Fonts.
- Click a font to apply it to the selected text. If no text is selected, the font applies to whatever you type next.
- Type / while editing to see a menu of content types you can insert: paragraphs, headings, images, buttons, blockquotes, and lists.
- Press Enter on an empty line to add a new row below.
- Click a row to select it, then drag it up or down to reorder your email layout.
- Type @ to insert details like the patient’s first name or your organization’s name. Each recipient gets a customized version.
Style Your Email (Optional)
- Font family and size
- Text color
- Button colors (background and text)
- Container background color
- Content width
Mark as Marketing (If Applicable)
Preview and Test
- Will send — Patients who will receive the email.
- Suppressed — Patients whose email previously bounced or received a spam complaint. These patients are skipped.
- Unsubscribed — Patients who have unsubscribed from marketing emails (only shown for marketing blasts).
- No email — Patients without an email address on file.
- Not opted in — Patients who haven’t opted in to email marketing (only shown for marketing blasts).
Use AI to Write Your Message
Both SMS and email blasts include an AI writing assistant that can draft or refine your content. For SMS: Click the AI icon in the message toolbar. Type a prompt describing what you want (e.g., “Remind patients about our holiday hours”) and click Generate. Review the generated text, then click Accept to use it or provide feedback to regenerate. For email: The AI can help with three parts of your email:- Subject line — Click the lightning icon next to the Subject field.
- Preview text — Click the lightning icon next to the Preview Text field.
- Email body — Use the AI bar in the editor. Type a prompt and click Generate.
Personalizing Your Message
You can include details about the patient or your organization in your message so each recipient gets a personalized version. Type @ in the editor to see and insert available options.| What you insert | What the patient sees |
|---|---|
| First name | Patient’s first name |
| Last name | Patient’s last name |
| Full name | Patient’s full name |
| Preferred name | Patient’s preferred name (falls back to first name) |
| Date of birth | Patient’s date of birth (e.g., January 15, 1990) |
| Birthday | Patient’s birthday without the year (e.g., January 15) |
| Phone number | Patient’s phone number |
| Patient’s email address | |
| Patient ID | Patient’s ID |
| Organization name | Your organization’s name |
Viewing Blast Results
After sending, the blast detail page shows everything about that blast.Delivery Summary
A row of stat cards at the top shows the delivery breakdown at a glance. Click any card to filter the message list below to just those recipients. Email blast stats:- Total — Total recipients in the blast.
- Sent — Emails successfully handed off for delivery.
- Skipped — Recipients skipped due to missing email, suppression, or being unsubscribed.
- Opened — Recipients who opened the email, with the open rate percentage.
- Clicked — Recipients who clicked a link, with the click rate percentage.
- Failed — Emails that failed to deliver.
- Bounced — Emails that bounced after delivery (e.g., invalid address, full mailbox).
- Total — Total recipients in the blast.
- Sent — Messages successfully sent.
- Skipped — Recipients with no phone number or a landline number.
- Opted Out — Recipients who have opted out of SMS (e.g., by texting STOP).
- Blocked — Recipients whose SMS has been disabled by the clinic.
- Replied — Recipients who replied to the message.
- Failed — Messages that failed to send.
Engagement Chart (Email Only)
For completed email blasts, a chart shows cumulative opens and clicks over time so you can see how engagement builds in the hours after sending.Message List
Below the summary, a table lists every recipient with their individual status, delivery timestamp, and engagement data (opens, clicks for email; replies for SMS). Use the stat cards above to filter this list.Low Delivery Alert
If fewer than 90% of messages were sent successfully, a warning banner appears at the top of the detail page showing the delivery rate and suggesting you review the failed messages.Stopping a Blast
You can stop a blast while it is still sending. On the blast detail page, click Stop Blast. The system stops within a few seconds. Messages already sent are not affected — only unsent recipients are skipped. A manually stopped blast shows a Manually stopped label on the detail page.Automatic Bounce Protection (Email Only)
For email blasts, the system monitors the bounce rate as messages are sent. If 3% or more of emails bounce after at least 100 have been sent, the blast is automatically stopped to protect your sending domain reputation. When this happens:- The blast detail page shows the bounce rate that triggered the stop.
- A notification is sent to your team’s alerts channel.
- You can review the bounced recipients, fix any issues, and use Retry Failed to resend.
After Sending
Retry Failed Messages
If some messages failed to deliver, click Retry Failed on the blast detail page. The system resends only the messages that failed — it does not re-send to patients who already received the message.Add More Recipients
To send the same blast to additional patients after it has been sent:- Click Add Recipients on the blast detail page.
- Search for patients and add them to the list.
- Click Send to [X] patient(s).
Duplicate a Blast
To reuse a previous blast’s content and settings:- Go to Comms > Blasts.
- Click Duplicate next to the blast you want to copy.
- The new blast form opens pre-filled with the original blast’s content, cohorts, and settings.
- Make any changes and send.
Marketing vs. Transactional
The Marketing message checkbox controls how the system handles opt-in and unsubscribe rules.| Marketing | Transactional | |
|---|---|---|
| Who receives it | Only patients who have opted in to marketing | All patients with valid contact info |
| Unsubscribe link (email) | Automatically added to footer | Not included |
| Opt-in required | Yes | No |
| Respects STOP / suppression | Yes | Yes |
Unsubscribe Behavior
Marketing email blasts automatically include an unsubscribe link in the footer. When a patient clicks it:- Their email is marked as unsubscribed.
- Their patient record is updated to opt out of email marketing.
- Future marketing blasts skip them automatically.
Cost Estimates
The system shows an estimated cost before you send:- SMS: Cost depends on message length (number of texts) and whether images are attached (MMS). The estimate updates in real-time as you type.
- Email: Cost is calculated per recipient.
Analytics Dashboard
The Blast Analytics page (under Analytics > Blasts) shows aggregate trends across all your blasts:- Blast volume over time (SMS vs. email)
- Spend over time
- Email engagement rates (opens and clicks)
- SMS reply rates
Common Questions
Why are some recipients skipped?
Why are some recipients skipped?
- No contact info — The patient doesn’t have a phone number (SMS) or email address (email) on file.
- Opted out — The patient opted out of SMS (e.g., by texting STOP).
- Blocked — The clinic disabled SMS to this patient.
- Suppressed — The patient’s email previously bounced or received a spam complaint. The system stops sending to suppressed emails to protect your sending reputation.
- Unsubscribed — The patient clicked the unsubscribe link in a previous marketing email.
- Not opted in — The blast is marked as marketing, but the patient hasn’t opted in to receive marketing messages.
- Landline — The patient’s phone number is marked as a landline, which can’t receive SMS.
Can I schedule a blast for later?
Can I schedule a blast for later?
What happens if I send the same blast twice?
What happens if I send the same blast twice?
Why do I see a domain error when sending email?
Why do I see a domain error when sending email?
How long are email opens and clicks tracked?
How long are email opens and clicks tracked?
Can I send a blast to specific patients instead of a cohort?
Can I send a blast to specific patients instead of a cohort?
What's the difference between 'failed' and 'skipped'?
What's the difference between 'failed' and 'skipped'?
What does 'stopped' mean?
What does 'stopped' mean?
Why does my email blast status say 'Warming'?
Why does my email blast status say 'Warming'?
