Text messaging for customer support apps.
Ticket updates, service alerts, billing saves — the messages that keep a support conversation moving.
Free to author & testNo credit cardUS & Canada
Acme: Acme support: ticket #48213 has a reply from Jordan. View it: help.acme.app/t/48213
Our free message templates are live.
Sending arrives Summer 2026.
A text can change the outcome.
A customer opens a ticket, gets a reply four hours later, and never sees it. The ticket sits unanswered, the customer files a duplicate, and the agent queue doubles. A text closes that loop in seconds.
Customer support SaaS messages. And all of the others.
All nine message categories are included — one registration.
Keeps a customer informed from open to close without making them check the portal.
Catches churn-critical billing events the customer would miss in email.
Tells affected users about a live outage and confirms when it clears.
Proves phone ownership at signup and gates sensitive account actions behind a confirmation code.
Common questions
How do I route inbound replies from a ticket-update text back into the ticketing system?
You set up a webhook in RelayKit that forwards inbound MO messages to your backend. When a customer replies to a ticket-update text, the reply hits RelayKit's inbound handler, which fires a webhook to your endpoint. From there: - Match the sender's phone number to an open ticket - Append the message as a customer reply in your normal agent queue - STOP replies are flagged opted-out by RelayKit before your webhook sees them
Should the ticket-update texts come from the helpdesk platform's brand or from the end customer's workspace name?
From the end customer's workspace — the one who owns the ticket. The sender frame in each message should be the business the end customer opened a ticket with, not the name of your helpdesk software. If you're powering Acme's support inbox, the message says "Acme support: ticket #48213 has a reply." This is also how the TCR registration works — the workspace registering with RelayKit is Acme, not your platform.
Should the ticket-update text fire on every internal agent reassignment, or only on customer-visible updates?
Only on customer-visible updates — reassignments are internal routing, not customer events. Firing on every reassignment trains customers to ignore the thread. The right triggers are: ticket received, first substantive agent reply, and resolved. Agent-assigned is worth sending once if your product emphasizes named accountability — but only the first assignment, not every handoff. Internal escalations, queue moves, and tag changes never warrant a customer text.
How many ticket-lifecycle texts is too many for a single ticket?
Four is the natural ceiling — logged, agent assigned, agent replied, resolved. Beyond four, customers start ignoring the thread or opting out. CSAT belongs in email, not a fifth text — by the time a ticket is resolved, a satisfaction rating via SMS feels like noise. If a ticket bounces between agents or takes multiple reply cycles, only send the "agent replied" text once per substantive update, not once per internal reassignment.
You build the feature. We handle the bureaucracy.
Every text message carries a stack of carrier rules. We've read all of it, so you don't have to.
Registration handled
Getting approved on your own can take weeks.
Most registrations clear in about three days. We handle the filing, so you can keep building your app.
Messages compliant
Send the wrong kind of message and carriers block it — silently.
Every message is checked against carrier rules before it sends, not just passed through.
Opt-ins & opt-outs covered
Miss a single STOP and the fines add up fast.
We stop instantly. Consent is tracked and enforced at delivery, not wired up by you.
Give your AI tool a build spec, not a pile of docs.
RelayKit generates implementation instructions for your AI tool. Messages, variables, event triggers, testing steps, and integration guidance arrive for smooth integration.
Slots into ShipFast, Supastarter, MakerKit, and Vercel + Supabase.
import { RelayKit } from 'relaykit'; const relaykit = new RelayKit(); await relaykit.appointments.sendConfirmation(customer.phone, { date: 'Fri, Jun 6', time: '2:00 PM', });
That's the send.
Preview list
Your safe audience for sending test messages, before and after launch.
- JoelVerified(555) 867-8842
- SarahVerified(555) 412-5519
- MikeInvited(555) 290-3301
Run test messages through real phones.
Add yourself, your team, your beta testers. Each person verifies once. After that, your app's messages work for them exactly the way they'll work for customers.
Trigger your real flows — a booking, a code, a reminder — and see the whole loop land: sent, delivered, your database updated.
What it takes to go live.
No telecom expertise required. We handle the carrier side.
Choose your messages
Pick the messages your app needs from templates that already know the rules.
Browse the messages →Build and test
Hand the spec to your AI tool, then test the full flow on real phones before launch.
Go live
RelayKit handles registration and delivery. A few days to approval.
Simple pricing.
Build for free
Set up your messages. Add the code to your app. Test with real phones. No credit card.
Go live for $49 + $19/mo
We file your registration with carriers. Approval takes a few days. 500 messages included per month, then $8 per additional 500. Full refund if you're not approved.
What $19/mo includes.
Marketing messages add $10/mo. Volume pricing above 5,000 messages. US and Canada at launch. We don't handle HIPAA, healthcare-regulated workflows, or enterprise procurement.
When a message can't wait, send a text.
Messages from an app only work when someone sees them. Here's how text and email compare.
Industry SMS-vs-email benchmarks, 2025–26 — open and response from SMS-marketing aggregates; email inbox placement from Validity's 2025 deliverability report. SMS open is inferred from delivery, not pixel-tracked; reported email open rates are distorted by tracking-pixel prefetch and blocking.
The rules show up after you start building.
US carriers require these from every business that sends texts. Getting approved can take weeks if not done right.
Registration
Before anything sends, your business gets registered in a central registry that every US carrier checks — legal name, tax ID, website, and what you plan to send. Details have to match your IRS records exactly, or the application bounces.
RelayKit collects this during setup and files the registration for you.
Carrier review
Reviewers check your registration and your messages against carrier rules before you're allowed to send. Other providers typically take two to three weeks — and every rejection restarts the clock, with no guarantee the next round clears.
RelayKit submissions are prepared to pass the first time; approval typically takes a few days.
Consent requirements
You have to collect and keep proof that every recipient agreed to get texts from you — how they opted in, when, and which kinds of messages they agreed to. Someone who signed up for appointment reminders hasn't agreed to marketing.
RelayKit provides the opt-in language and keeps the consent records automatically.
Build a compliance website
Reviewers visit your website looking for a privacy policy with specific mobile-data language, posted terms, and a visible description of your texting program. A missing or half-finished site is the single most common reason registrations get rejected.
RelayKit generates and hosts a compliance site for you — privacy policy, terms, and opt-in page included.
STOP and HELP handling
A reply of STOP has to halt messages to that person immediately, and HELP has to get a real answer — automatically, every time. Getting it wrong is a fast way to get a number shut down.
RelayKit handles both at the delivery layer; when someone replies STOP, we stop.
Message restrictions
Carriers limit what businesses can say over text: entire content categories are banned, links get scrutinized, and messages outside your registered use case can get your number flagged. The rules live across multiple carrier policies, and they change.
RelayKit's templates already follow them, and custom messages are checked before they send — not just passed through.
The messages are ready now.
Sending arrives Summer 2026.
You can start with the messages today. When sending launches, your AI tool wires up the integration, you test on real phones, and registration and opt-outs stay handled behind the scenes.