Automatically respond to emails based on your codebase, database, documentation, website and brand
Nightclerk drafts every reply from your code and your live database, lines up the fix in Stripe, and waits for you to press send.
Example: a reply drafted from five sources, waiting for approval
Inbox Charged twice for Pro
Charged twice for Pro
Maya <[email protected]>
Hi,
I upgraded to Pro on the 3rd and I can see two charges of $29 on my card. Could you refund one of them?
Thanks, Maya
Draft reply
Drafting from 5 sources
Hi Maya, thanks for flagging this.Source 1 You're right: the upgrade on the 3rd was charged twice, a few seconds apart.Source 2 That was a bug on our side. A retry at checkout could create a second charge, and the fix is already live.Source 3 I've refunded the duplicate $29, and it should be back on your card within 5 to 10 business days.Source 4 Your Pro plan is active and nothing else changes.Source 5
Stripe Refund $29.00 to the card ending 4242
Runs when you send
Grounded in
It reads what you already wrote.
A reply is only as good as what it knows. Nightclerk does not answer from a general idea of how software companies work. It answers from yours.
It can read, never write: a read-only GitHub App on the repositories you pick, and read-only database credentials. How the database lookups work
- Codebase
- How your product behaves today, down to the change that shipped last week.
billing/checkout.ts - Database
- The facts about this customer: their plan, their orders, what happened and when.
select plan, status from subscriptions - Documentation
- Your policies and guides, quoted the way you wrote them.
docs/refund-policy.md - Website
- What your pricing and product pages already promise in public.
yoursite.com/pricing - Past replies
- How you have answered this kind of question before, in the words you used.
in:sent refund - Brand
- Your tone, your sign-off, and the phrases you would never use.
voice.md
It looks the answer up in your database.
Most support email is a question about one customer: their plan, their invoice, their usage. Nightclerk runs a read-only query against your database and writes the reply from what comes back.
- Jonas asked
Hi, when does my trial end? I want to make sure I upgrade in time.
- It ranRead-only
select plan, trial_ends_at from subscriptions where customer_email = '[email protected]'
- It got back1 row
Rows returned by the query plan trial_ends_at trial 2026-03-14 - It drafted
Your trial runs until March 14, Jonas, so there is still time. Upgrading before then keeps everything you have set up.
It can read. It cannot write.
You connect the database with read-only credentials that you create. Nightclerk does not rely on those alone, and enforces read-only on its own side as well.
- SELECT only
- Any other statement is refused.
- Read-only transactions
- Every query runs inside one.
- Timeouts
- A slow query is cancelled.
- Row limits
- It reads the rows it needs, not the table.
Postgres first. MongoDB and ClickHouse may come later. Security and data access
It writes like you do on a good day.
Nightclerk learns your voice from the replies you have already sent. Every draft follows your tone and reads like someone on your team took the time to answer.
Your sent mail is read as reference while a draft is written. It is not used to train a model.
We apologize for any inconvenience this may have caused. Your request has been received and will be processed accordingly.
Sorry about that, Maya. That one was on us, and your refund is already on its way.
It handles the request, not only the reply.
Nightclerk connects to Stripe through tool calls. When a customer asks for something, the draft arrives with the work already lined up behind it, and nothing runs until you approve it.
Email
A customer asks for a refund
“Could you refund one of them?”
Tool call
stripe.
charges. list Finds two charges of $29.00 on the same day.
Tool call (waiting for you)
stripe.
refunds. create Lines up a refund for the duplicate charge.
You (waiting for you)
Read it, then send
The reply and the refund go out together.
Nothing is sent until you say so.
Nightclerk never emails a customer on its own. Drafts collect in one place and stay there until you have read them.
- The dashboard
- Review each draft next to the email it answers, edit it if you want, and decide when it goes out.
- The phone app
- Everything the dashboard does, in your pocket: read, edit, approve and send. On iOS first.

It tells you what to fix so the email stops coming.
When many people ask the same thing, the problem is rarely the inbox. Nightclerk notices the pattern and recommends a change to your site or your codebase.
What kept arriving
- How do I change my billing email?
- Where do I update the email on my invoices?
- Billing email is wrong and I can't find the setting
- Change the receipt email?
What it suggested
Add this to your FAQ
Asked 6 times in two weeks
content/faq.md
## How do I change my billing email? Open Settings, choose Billing, and edit the addressunder Receipts. New invoices use it right away.
Questions people ask before they join
Nightclerk is an email agent for founders and small SaaS teams. It drafts replies to incoming email from your codebase, database, website, brand and documentation, and it waits for you to approve each one.
No. Nightclerk writes the draft and stops. You review each draft in the dashboard or the phone app, edit it if you want, and decide when it goes out.
Your codebase, your database, your website, your brand, your documentation and the replies you have already sent. A reply about a billing bug can draw on the code that caused it, the customer's record and your refund policy at the same time.
Through a read-only GitHub App, where you pick which repositories it can see, and through read-only database credentials. Nightclerk also enforces read-only on its own side: SELECT-only queries, read-only transactions, timeouts and row limits. Postgres is supported first; MongoDB and ClickHouse may come later.
Gmail at launch, connected with Google sign-in (OAuth), including your send-as aliases. Outlook and generic IMAP are coming.
Yes. It connects to Stripe through tool calls, so a customer request can be handled and not only answered, for example with a refund. Actions wait for your approval, the same as the reply. Stripe is the only integration at launch.
The drafts are humanized. Nightclerk learns your voice from the replies you have already sent, so they follow your tone and read like someone on your team wrote them. Your sent mail is read as reference and is not used to train a model. And because you read every draft first, nothing reaches a customer that you would not say yourself.
When many people ask the same question, Nightclerk recommends a change to your site or codebase, such as adding the answer to your FAQ, so the question stops arriving.
Yes, on iOS first. The phone app does everything the web dashboard does: read the emails and the agent's ideas, edit drafts, approve and send.
Nightclerk is pre-release. There is no launch date or pricing yet. Join the waitlist to get access when it opens.

Leave the inbox on. Read the drafts in the morning.
Nightclerk is pre-release. Add your email and you will get access when it opens.