Instructor-family messaging without swapping personal phone numbers
August 25, 2026 · 7 min read · by James, half-owner of a dance studio
Every studio I've ever worked with has the same quiet compromise: instructors need to talk to families about class, families need to talk to instructors about class, and the way it actually happens is a group text on someone's personal cell phone. Which works until it doesn't. Which usually means until an instructor leaves and takes half a season's worth of context with them, or until a parent messages at 11 p.m. about a costume and the instructor's spouse rolls over and asks why work is texting again.
Presently now ships an instructor-family messaging surface that lives entirely inside the portal. Instructors and families can go back and forth about a class, a specific student, or the whole roster, and no one has to hand over a personal number. If you're the kind of studio owner who wants to reach for this the moment you read that sentence, it's on today — turn it on under Settings → Communications and it lights up for both portals.
Why we didn't just add SMS
The obvious ask, when we started talking to studios about this, was "just add texting." It's what everyone's already doing, informally. And we could have — the pipes are cheap.
But watch what happens when an instructor sends a "reminder: costume dress rehearsal Tuesday" to twenty families over SMS. Half of them reply "thanks!" and the instructor gets twenty individual notifications. Two reply with a follow-up question, both of which need answering. One replies to something totally unrelated. And the entire conversation lives on the instructor's personal phone, alongside every other class they teach, disappearing into the general SMS scroll along with their doctor's appointment reminders and the pizza place they ordered from last week.
Then the instructor leaves at the end of the season and every one of those threads goes with them. The next instructor doesn't inherit any context. The studio owner doesn't know what was promised, what got answered, or which families are actively engaged.
So instead: threaded conversations. Studio-owned. Portal-hosted. Every message stays inside the studio's account whether the sender is still there or not.
How it actually works
Instructors get a Messages inbox in their portal, right next to the schedule. Empty threads don't clutter it; only conversations they've actually started or received show up. Each row shows the family name, an unread badge if there's something new, and the class the thread is tagged with. Clicking in shows the whole conversation with reply-in-place.
Instructors can message the whole class at once. There's a "Message Class" button on the class roster page. One subject, one rich-text body, and it fans out to every enrolled family — each getting their own private thread. Replies come back to the instructor individually. No cross-talk, no accidental reply-all. The studio owner still sees every thread if they need to.
Or they can message one family directly from the roster. There's a "Message this family" link in each family's contact panel. If the studio has restricted contact-info visibility (some do — instructors get names but not phone numbers), the messaging link is still there because the whole point is that neither side has to see the other's contact info to talk.
Families get their own Messages inbox in the portal. Same shape from their side. An unread count in the sidebar, threaded conversations grouped by instructor, and a rich-text reply editor. If they don't have the portal open, they still get an email notification the moment a message lands — "New message from Miss Jenna about Ballet 4" — with a link back into the portal to reply.
Attachments and video
Two things instructors kept telling us they needed:
Attach a file. A rehearsal-notes PDF, a costume reference photo, a choreography audio clip. Every message can carry one file, and the type allowlist covers what studios actually use: PDF, Word docs, JPG/PNG/HEIC photos, MP3/M4A audio. 25 MB cap. Files live on the studio's storage; families see a download button in the portal thread and a link in the email notification. Everything stays inside the studio's account.
Paste a video URL. Also every message. Any URL works; YouTube and Vimeo links auto-embed as a player in the portal so families can watch the choreography without leaving the thread. Other hosts (Google Drive share links, Dropbox video, Loom) render as a "Watch video" button. This is the honest solution to "how do I share this dance video with my class" — YouTube unlisted or Vimeo, paste the link, done. Videos don't eat your storage, and the studio doesn't have to become a Dropbox admin.
We deliberately did NOT enable video file uploads. A 200 MB MP4 attached to twenty families is 200 MB of disk per family, and the practical answer is always "upload it to YouTube first and paste the link." So the upload flow won't let you attach an MP4; the video URL field is the answer instead.
The studio owner still sees everything
Studio-owned means the studio owner has the last word. Every thread lives in the studio's database. If an instructor is out sick and someone else needs to answer their families, another instructor with roster access to that class can respond. When the instructor leaves at the end of the season, the threads don't go with them — they're still there for the new instructor to review context.
And if the studio doesn't want this at all, it's tenant-toggleable. Off by default. Turn it on when you're ready; turn it off if you decide the group text was working fine.
What we're deliberately NOT doing
A few decisions worth naming because they were live conversations:
No SMS delivery. Email notifications only, on purpose. SMS pricing is per-message, and per-family SMS at recital scale gets expensive fast. Email is free and reliable, and every family that signed up for the portal has an email address on file. If you want SMS reminders for a specific occasion, the daily digest already covers that.
No family-to-family messaging. This is an instructor-family channel. Families can't message each other through Presently. That's not the problem we're solving.
No inbound reply-to-email. When a family gets the "you have a new message" email, replying to it doesn't post back into the thread — the email is read-only notification, and the reply happens in the portal. This is deliberate. Inbound email is where every messaging feature turns into a moderation nightmare: bounces, autoresponders, out-of-office replies, forwarded messages, malformed HTML. We looked at it, we're not doing it. The reply flow lives in the portal where we can render the thread cleanly.
No mid-typing indicators or read receipts. The instructor doesn't need to know that Emma's mom is "typing…" for the last four minutes. It's asynchronous by design.
Turning it on
Tenant admin: Settings → Communications → toggle "Instructor messaging" on. That's the whole setup. The Messages nav item appears in both portals; instructors and families can start using it immediately.
Instructor: Once your studio turns it on, the Messages tab shows up. From any class roster you can hit "Message Class" (goes to every enrolled family) or expand a family's contact card and hit "Message this family" (single thread).
Family: You'll see a Messages tab in your portal sidebar. When an instructor sends you something, you get an email with a link to the portal. Reply from the portal — your response goes right back to the instructor.
If your studio has the Live Chat add-on for family-to-admin real-time chat, this is separate. That's the front-desk-style chat for enrollment questions. Instructor messaging is the class-scoped version for teachers and families.
What we're watching next
A few things we intentionally left as V1 that we'll probably add if enough studios ask for them:
Push notifications for the instructor app view. Right now it's email + in-portal. If instructors start telling us they'd like a "new message from a family" ping on their phone home screen, we'll build that.
Message the family AND all of a student's siblings if a message is student-specific and the family has multiple dancers. Today the thread is family-scoped, so this already works — but the compose UI doesn't distinguish. We'll add that if it becomes a friction point.
Templates. "Reminder: dress rehearsal tomorrow." "Costume fitting slot open." The kinds of messages instructors send every season. Not urgent, but easy.
For now: the primary flow is threaded, private, portal-native messaging between instructors and families. The instructor's cell phone stays their cell phone. The parent's cell phone stays the parent's cell phone. And when someone asks "what did Miss Jenna say about the costume last week," anyone with roster access can just look.
Turn it on and let me know what breaks.