Skip to main content
Product Guides
Broadcasts

Broadcast messaging (mass SMS to patients)

Send HIPAA-compliant SMS or email to many patients at once using a CSV import, with delivery reports, private replies, and team-based permissions.

Overview

Broadcast messaging lets you send the same HIPAA-compliant message to a group of patients at once. Common uses:

  • Appointment scheduling and reminders
  • Collecting co-payments
  • Feedback surveys
  • Clinical updates and advisories

A broadcast can include text, file attachments, images, and emojis. You get per-recipient delivery reports, and patient replies land in your inbox as private one-to-one conversations — no other patient sees them.

Prerequisites

  • A paid plan with SMS Messaging enabled. Broadcast is a feature of SMS; see SMS messaging and Update payment method.
  • Admin rights to manage the team attached to your phone number (only team members can launch a broadcast).
  • A CSV file of recipients (see schema below), or an existing group of patients already in BloomText.

Steps

1. Prepare a CSV file

At minimum, the CSV needs one column: the cell phone number. Optional columns fill in patient records and are used for personalization.

Your sheet should look like this. Row 1 is the header row — the names in row 1 must match exactly (phone, first_name, etc.), lowercase, with underscores where shown.

patients.csv — Sheets
A1fxphone
ABCDEF
1phonemrnfirst_namelast_namedobemail
2(555) 123-4567MRN-0001AminaPatel1985-03-14amina@example.com
3(555) 234-5678MRN-0002JordanLee1990-07-22jordan@example.com
4(555) 345-6789JohnSmith
5(555) 456-7890MRN-0004cora@example.com
Row 1 holds the header names. Row 2 onward is patient data. Only the phone column is required.

Only phone is required. Everything else (mrn, first_name, last_name, dob, email) is optional — leave the cell blank if you don't have it. BloomText accepts common phone-number formats and normalizes them automatically.

Any spreadsheet app can export to CSV — that is the easiest way to prepare the file.

2. Match or create patient records

When you import, BloomText matches rows to existing patients by phone number or MRN. If a match is found, the existing patient record is updated with any extra fields from the CSV (first name, email, etc.). If no match is found, a new patient record is created.

3. Launch the broadcast

From the phone number's inbox, start a new broadcast, upload your CSV, write your message, and attach any files. You can preview the message and the recipient count before sending.

Opening the broadcast composer from a phone-number inbox.

4. Handle replies

When a patient responds, their reply lands in your inbox as a private one-to-one conversation. No other broadcast recipient sees the reply. Follow up individually as needed — the follow-up is scoped to that patient only.

BloomText UI mockup window
BloomText — Conversation
Dr. Amina Patel
Message from youReminder: appointment tomorrow at 9am. Reply C to confirm or R to reschedule.
Message from patientPatientC — see you then. Thanks!
Type a message…
A patient's reply opens a private one-to-one thread. The other broadcast recipients never see this conversation.

5. Analyze results

To review delivery results, go to Directory → Phone numbers, pick your number, and choose Export phone logs. The exported CSV opens in any spreadsheet app. It looks like this:

phone-logs.csv — Sheets
A1fxSent
ABCDEFG
1SentFromToFirstLastStatusErrorMessage
22026-04-22 09:14:02 PDT+15551234567+15552349876AminaPatelDelivered
32026-04-22 09:14:02 PDT+15551234567+15558765432JordanLeeDelivered
42026-04-22 09:14:03 PDT+15551234567+15550001111JohnSmithErrorLandline — cannot receive SMS
52026-04-22 09:14:03 PDT+15551234567+15552223333CoraChenDelivered
A phone log export. Delivered rows confirm a successful send; Error rows list the carrier reason.

Full column reference:

Column nameDescriptionFormat
SentSend timestampyyyy-mm-dd HH:mm:ss zzz
FromYour organization's phone number+1##########
ToPatient's phone number+1##########
FirstPatient's first nametext
LastPatient's last nametext
DobPatient's date of birthyyyy-mm-dd
EmailPatient's emailemail
StatusDelivery statusDelivered or Error
ErrorCodeCarrier error code (if delivery failed)text
ErrorMessageDescriptive error messagetext

Use this log to identify bad numbers, retry failures, and measure campaign reach.

Edge cases / gotchas

  • Team membership controls who can broadcast. Only users on the team attached to the phone number can launch a broadcast. Admins manage team membership under Directory → Phone numbers.
Admins manage who can broadcast by editing the team attached to the phone number.
  • Matching is phone- or MRN-first. If your CSV has a new phone number but an existing MRN, the MRN wins — the existing record gets updated. If neither matches, a new record is created.
  • Header names are case-sensitive. A typo like First_Name creates a silently unused column. Double-check spelling before uploading.
  • Opt-out handling. Patients can reply STOP to opt out at the carrier level. Once opted out, future broadcasts to that number are blocked by the carrier and will show Error in the export.
  • Large imports. Very large CSVs (tens of thousands of rows) can take time to ingest. Watch the progress indicator; do not re-upload mid-ingest or you'll get duplicate sends.
  • Replies are always private. Even though the broadcast goes to many recipients, a reply is a one-to-one conversation. Treat replies the same way you'd treat any patient conversation from a PHI standpoint.
Common questions
Can patients reply to a broadcast?

Yes. Patient replies come back as private one-to-one conversations, not as replies to the full recipient list.

What CSV columns are required for a broadcast?

At minimum, include contact fields that identify each patient, such as phone number, name, date of birth, medical record number, or email depending on your import goal.

Can I send PHI in a broadcast?

Treat broadcast content carefully. If a message contains PHI, make sure it uses the appropriate secure patient messaging flow and that the recipient list is correct before launch.

How do patient opt-outs work?

Patients can reply STOP to opt out at the carrier level. Future broadcasts to that number are blocked and appear as errors in the export.

Who can launch a broadcast?

Only users on the team attached to the phone number can launch broadcasts from that number.

Referenced by