Give every customer of your SaaS their own support agent. Grounded in your database, your code and your rules.
ReplyPen answers the questions your UI never got a screen for. It reads your production data, your help center and your code, drafts the reply in your customer's own inbox, and changes data only through actions you vetted. Draft first. Autonomous as trust grows.
Runs beside your current pipeline, drafts only. Nothing to rip out.
Same patient, same Sunday-evening question. Drag to compare. Fee explained from her own booking, check-up moved, nobody at the practice touched it.
Same answer, every channel your customers already use. Drafted in place. Nothing to rip out.
Drafted in the practice's email. Works with Gmail, Outlook and any IMAP mailbox.
Hi, I cancelled my dental cleaning for Thursday but I still got charged a €25 late fee. I cancelled the day before. Can you look into this?
Emma
Hi Emma, thanks for getting in touch. We found your cancellation 22 hoursappointment record before Thursday's dental cleaning. We don't charge for cancellations made at least 24 hourscancellation policy before an appointment, so our system added the €25billing rule late-cancellation fee. As a one-time courtesy, we'd be happy to waive it. We can also move your next cleaning to a time that suits you better. Just let us know what you prefer.Kind regards,
The Bright Dental team
What I checked: appointments #4127 · cancellation policy · fees.rb
Hi, I cancelled my dental cleaning for Thursday but I still got charged a €25 late fee. I cancelled the day before. Can you look into this?
Emma
Hi Emma, thanks for getting in touch. We found your cancellation 22 hoursappointment record before Thursday's dental cleaning. We don't charge for cancellations made at least 24 hourscancellation policy before an appointment, so our system added the €25billing rule late-cancellation fee. As a one-time courtesy, we'd be happy to waive it. We can also move your next cleaning to a time that suits you better. Just let us know what you prefer.Kind regards,
The Bright Dental team
Your cleaning on Thursday 09:00 is confirmed. Reply here if anything changes.
Hi, I cancelled my dental cleaning for Thursday but I still got charged a €25 late fee. I cancelled the day before. Can you look into this? Emma
The Bright Dental team What I checked: appointments #4127 · cancellation policy · fees.rb
<script async src="https://app.replypen.com/chat/widget/v1/loader.js"
data-rc-project="dentai"
data-rc-token="{signedPracticeToken}"></script>
>Bright Dental says its recall reminders didn't go out last week. Find the root cause, fix it, and draft the reply.
●replypen - query_production(recall_jobs, bright_dental)
∟43 reminders due · 0 delivered since 24 Aug · provider rejected sender name
●replypen - inspect_logs(message_provider, bright_dental)
∟sender "Bright Dental ✨" contains unsupported characters
●claude - edit app/messaging/sender_name.rb && run tests
∟sanitize provider sender names · 18 tests passed
●claude - open pull request
∟PR #184 · 12 lines changed · recall replay included
Root cause found, fix proposed, customer reply drafted in the inbox.
>
Which practices actually use online booking? Show adoption this month and where we should follow up.
18 of 27 practices received at least one online booking this month. Nine have the feature enabled but no completed bookings.
| Practice | Bookings | Share online |
|---|---|---|
| Bright Dental Antwerp | 84 | 61% |
| Mondzorg Leuven | 57 | 43% |
| Tandarts Peeters | 0 | 0% |
Best follow-up: the 9 enabled practices with zero bookings · View full list
A help center in a chat box can't answer this. Your data, your rules and your code can.
A patient asks why she was charged for a cleaning she cancelled. A doc-trained bot retrieves the policy page and offers a human. ReplyPen finds her appointment, applies the practice's own rule and quotes the fee your code computes. Most support questions are like this: each an edge case too rare for its own screen, and until now only a person could combine the sources.
Reads what your UI hides
A stripped-down, read-only view of your production database: your tables, your columns, PII masked. Plus your help center, your internal wiki and your source code.
Answers where they already are
Answers show up in email, WhatsApp and the chat already inside your product. Ticketing integrations start with Intercom, with more on the way. No new inbox or helpdesk migration.
Shows its homework
Every draft lists what it checked. Your team approves in one click, edits, or sends nothing. Nothing reaches an end customer unreviewed until you decide it can.
It doesn't only answer. It acts, on your dial.
A change to your system never goes through the agent's own connection. It goes through the action layer: vetted scripts you wrote, validated parameters, one autonomy setting per action.
Human
A person confirms every run.
delete_patient_record → human, always
Policy
A rule you can read decides.
move_appointment → auto if notice ≥ 3 days
Auto
Runs and reports.
waive_late_fee → auto if amount ≤ €50
Start with everything on human. Open the dials as observed quality earns it.
Three audiences. One engine.
Built for B2B2C. The same grounding, the same actions, the same dials, scoped per audience so nobody ever sees another tenant's data.
A weekend gets you the demo. The product is the other 95%.
Calling a model is easy. What scales with your audience is the unglamorous part: tenant isolation, PII masking, gated network egress, immutable action code, audit trails, 24/7 across every mail provider, and a learning loop that improves without a redeploy. You stay the best in the world at your vertical. We run the general infrastructure and the loop that keeps learning.
Setup: link a database, write markdown.
- The agent sees only the tables and columns you allow, read-only.
- Your domain knowledge is plain-language markdown: "a cancellation inside 24 hours is charged €25".
- Nothing installed in your product. Actions run through a small SDK on your side.
Built by a SaaS founder, for SaaS founders.
ReplyPen comes out of ten years running B2B vertical SaaS: ProBackup (SaaS backup), KampAdmin (summer-camp administration, 50+ organisations, 150k bookings a year) and DentAI (AI assistant for dental practices). The question that shaped it came from a KampAdmin customer in 2015: "I measure your success by how many bookings complete without a single human touch."
Curious how this applies to your vertical? Bring us one customer question.
30 minutes, one real question your UI can't answer, read access to a staging database. We show the answer on your data.