I made a six-email follow-up tool for myself, then opened it up to agents
TL;DR
After a consultation, the follow-up is the part nobody owns. I wrote six short emails to send to the people I had already talked to, and I got tired of retyping them. So I built Recontact at driptoolagent.com: six emails, written and previewed side by side, sent one a day to one person you already know. No signup. Then I opened the same tool to AI agents through a REST API and an MCP server, because an agent that has just finished a sales call has exactly the same problem I had.
"Most people I talk to are not short on tools. They are short on a system for the work that repeats. Follow-ups are that work. I built the system for myself first."
The Problem
I run a consulting practice from Hawaii Island. Every good conversation with a prospect ended the same way: I meant to follow up, and then a week went by. When I did follow up, I was rewriting the same six emails from memory. The tools that exist for this are built for lists. They want a signup, a contact import, a plan, and a mailing to a thousand people. I wanted to send six polite emails to one person I had already spoken to, and I wanted it to take two minutes.
Why It Mattered
A follow-up that goes out late reads as disinterest. A follow-up that goes out to a list reads as spam, and gets your domain filtered. The people I was losing were not saying no. They were just not hearing from me. And once AI agents started booking and running calls on their own, the same gap opened for them: the agent finishes the conversation and has nowhere to put the follow-up. Every email tool assumes a human at a keyboard with a credit card.
What I built, in order
Step 1: Write the six emails I actually send
The product started as my own sequence. Day 0 follows up on the conversation, days 1 to 4 each answer one question a prospect actually has, and day 5 says thank you. No deadline pressure, no fake urgency, and a plain way out if they have gone another direction.
- Six emails on a fixed cadence: day 0, +1, +2, +3, +4, and a thank-you on +5
- Each email has a subject, a greeting, a rich-text body and one closing question
- {{first_name}} drops the contact's name in; nothing else about them is stored
- Cadence can be one a day, one a week or one a month, in the recipient's timezone
Step 2: Take away the signup
The page mints an API key when it loads. You write, preview and schedule without creating an account. There is no user table at all: the key is the tenant, and every campaign hangs off it.
- A guest key is issued on page load; nothing to register, nothing to confirm
- Writing, previewing, cadence and timezone need no account; what sending costs is on the site
- Themes fill all six emails with copy for your industry so you edit rather than start blank
- Key management is scoped to the caller only: a key can list and revoke itself, never another
Step 3: Open the same tool to agents
An agent should not have to scrape my web page. It reads /llms.txt, pulls the OpenAPI document, and either calls the REST API or connects to the MCP server at /mcp with its bearer key. Both paths run the same code, because when they were separate copies one of them drifted.
- REST: POST /v1/guest for a key, POST /v1/campaigns, GET preview, POST send
- MCP transport at driptoolagent.com/mcp with the same key as a bearer token
- /llms.txt and /v1/openapi.json are public and need no key to read
- A 402 returns a Stripe Checkout link for a person, or a shared-payment-token path for an agent that holds its customer's card
Step 4: Refuse to be a spam cannon
Agents will do exactly what they are allowed to do, so the limits are in the code, not in a policy page. One recipient per campaign. No purchased lists. Bad addresses are rejected before anything is charged. A bounce or a complaint stops the run and blocks that address on that key.
- One recipient per campaign; role mailboxes and disposable domains are refused
- Placeholder links (example.com and the reserved test domains) block the send button
- One-click unsubscribe stops the remaining emails; bounces and complaints pause the run
- Sent through its own Resend account, never from the shared server address, so a complaint here cannot hurt a client's mail
Step 5: Measure agents without a tracking pixel
There is no analytics tag on purpose. Agents do not run JavaScript, so a client-side tag would miss the audience the tool is for. The web server log and the key table record who minted a key and from what, with the IP salted and hashed rather than stored.
- Every key records how it was minted: browser, agent, crawler or tool, plus referrer
- IP addresses are salted, hashed and truncated; the salt is returned by no endpoint
- One delivery row per email per recipient, unique, so a retry can never double-send
- One script prints the funnel: keys minted, campaigns created, emails sent
Key Metrics
6
Emails per sequence
None
Signup required
1
Recipients per campaign
Web, REST, MCP
Ways in
Key Technical Stack
The Result
The tool works and it is public. I use it. As of 09-01-26 the funnel read 78 keys minted, 2 campaigns created and 1 email sent, and most of those keys were minted before I was measuring, so I do not know what they were. That is the honest state of a product that is a few days old. What I can say is that an agent can now read one text file, get a key, write six emails and send them, without a human in the loop, and cannot use it to spam anyone.
Try it, or have me build the version your business needs
Recontact needs no account to try. If your business has a piece of repeating work that an agent should own, that is the work I take.
