Blog

How to invite existing patients to your patient portal (and get them to claim it)

By Jonathan Stubbins · September 14, 2026 · 8 min read

Launching a patient portal to a list of existing patients is a marketing campaign wearing an operations badge. Most clinics treat it as the badge: export the list, import it, tick "send invites", move on. Then two weeks later a third of the emails have bounced, the texts never arrived, and the handful of patients who did click landed on a login screen with no idea why they were there.

This is the rollout that works, in the order it works. It is built from launches we've run and watched, including the mistakes, and it applies whether you use our portal or someone else's.

First, decide what the invite is for

The invite is not "your account has been created." Nobody claims an account. People claim a reason.

For a GLP-1 or hormone program the reason is concrete: reorder without calling, see your progress, message the clinic from your phone, and get reminders when a dose is due. Put those in the invite, in that order, and treat the portal as something the clinic built for its patients rather than a system that generated a notification. The patients who reorder are the ones who track, so the invite's real job is to get the first login, and the first login's job is to get the first dose logged. Everything below serves that.

If you haven't read it, why patients quit at week nine explains the mechanism the portal is there to interrupt. The invite is where that starts.

Before you send anything

Clean the list. One row per patient, first name, last name, email and a mobile number. De-duplicate on email, because the second copy of a patient becomes a second account and a second invite. Drop anyone who has opted out of marketing; an invite to a service they use is arguably transactional, but the list you export from your CRM should already respect the flag.

Decide on a welcome credit. A small store credit that lands the moment the account is claimed, ten or twenty dollars, gives the email a hero and gives the patient a reason to log in this week rather than "sometime." It also converts the first login into the first order for a meaningful share of people, which is the whole point.

Load the catalogue first. A patient who claims an account and finds an empty shop will not come back for the reopening. Products, pricing and the reorder flow should be live before a single invite goes out.

Make claiming a one-tap job. The link in the invite should open a screen that already knows who the patient is and asks for one thing: a password. No registration form, no re-entering the email, no verification code on the happy path. Keep a fallback for expired links (a code sent to the same email) so a patient who opens the invite three weeks late still gets in.

The email

Write it like a launch announcement, because it is one.

Subject line. First name, then the news: "Jordan, you're invited to the new Willow Aesthetics app." If there is a welcome credit, say so in the subject: "(with $20 credit inside)." Subjects that read as system mail, "Your account has been created," "Action required," get the open rates system mail gets.

Preview text. The second hook, not a repeat of the subject: "Reorder in two taps, track your results and message our team, all from your phone."

Body, top to bottom:

  1. A panel in the clinic's own colour with the headline, one sentence on what the app is for, and the button. The button is above the fold and named for the outcome: "Claim my $20 credit" or "Set up my account."
  2. One line that makes the portal the clinic's edge. Ours reads: "Most clinics make you call to reorder and wait on hold for answers. We built you an app instead."
  3. The credit, if there is one, as a card the eye lands on.
  4. What's inside, as short titled tiles rather than a paragraph: reorder in two taps, track every dose, watch your numbers move, see the difference in photos, message the team, earn rewards. Only list what your clinic has actually switched on.
  5. Three steps: tap the button, choose a password, you're in.
  6. A second button, a human sign-off from the team, and a P.S. that repeats the credit.

Keep the footer honest: the link is personal, it lasts fourteen days, and here is what to do if it expired.

The text message

A text reaches the patients whose inbox is a graveyard, which for a med spa list is a lot of them. It is also where launches die quietly, because carriers filter business texts hard and nobody tells you.

Register before you send. In the US, business texting from a normal ten-digit number has to be registered (the scheme is called 10DLC). Your texting platform handles the paperwork, but check that the brand is verified, the campaign is approved, and the number you send from is actually attached to that campaign. Unregistered traffic is dropped.

Write for the filter as much as the patient. Carriers score messages, and the classic phishing shape gets blocked: a link next to the word "password," money words like "$20" or "free" beside a link, a long random-looking URL, dozens of near-identical messages fired from one number in a minute. The message that gets through is boring on purpose:

Willow Aesthetics: Hi Jordan, your patient portal account is ready. Set it up here: https://app.willow.com/claim?token=cgZZl0XIyuTIxCML Reply STOP to opt out

Brand first, one plain sentence, one short link on your own domain (never a public URL shortener), the opt-out line. Under 160 characters so it is one segment. Save the credit for the email and the claim screen.

Pace it. Two seconds between messages, a few hundred a day at most on a single number, and check delivery in your texting platform after the first twenty before sending the rest. If a batch comes back "blocked by carrier policy," stop and fix the wording or the registration; sending more makes the number's reputation worse.

The rollout

Sending everything on day one is the single most expensive mistake. Mailbox providers judge a sending domain by its history, and a domain that has sent fifty emails in its life suddenly sending fifteen hundred looks like a compromised account. Gmail, Yahoo and iCloud will bounce most of them, those addresses get added to your provider's suppression list, and your next campaign fails before it starts.

A two-week plan that survives contact with spam filters:

Your portal should count "never emailed" and "never texted" separately so a text-only wave can go to people who already had the email. If it can only send to people who were never invited at all, the follow-up text becomes a manual job, and manual jobs don't happen.

What "claimed" should land on

The claim screen asks for a password and drops the patient on their home screen: next dose, a streak to protect, weight so far, and the credit already on the account with the shop one tap away. If the first thing they see is an empty dashboard and a "complete your profile" nag, the invite did its job and the product wasted it.

Two things worth doing in the first session, both small: ask the patient to log today's dose (it starts the streak and it is the single behaviour that predicts reordering), and show the reorder button on the treatment they're on, with the supply-runway date if you know it.

Measure the funnel, then work it

Three numbers tell you how the launch is going: invited, joined, ordered. "Joined" is a claimed account with no order yet; "ordered" is a paid order through the portal. Your patient list should be filterable by exactly those three states, because each is a different follow-up:

For rules of thumb: a third of a clean list claiming inside two weeks is a solid launch, and the text follow-up typically adds a noticeable share on top of email alone. If you are well under that, it is almost always deliverability rather than the offer, and the bounce and delivery reports will show it.

The checklist


If you are setting up the portal itself, the HighLevel patient portal setup guide covers what to configure before you invite anyone. Nothing above is medical advice; it is the operational side of getting patients onto a tool that helps them stay on treatment.

Give your patients the app. Keep the reorders.

A branded patient portal for your clinic — live the same day you sign up, 14 days free.

Start free trial