Personal email to a whole list, sent one at a time from your own Gmail.
Handsent takes a Google Sheet or a CSV and sends each person their own email from your inbox, at a human pace, with follow-ups in the same thread that stop the moment they reply. It reads like you wrote it, because you did.
What people use it for
Marketers, founders, and the people who do sales, partnerships and community at small companies. Anyone who has a spreadsheet of people they should write to and would rather it did not read like a newsletter.
Claim-your-listing outreach
You run a directory or a marketplace. Tell each local business that their listing is live and invite them to claim it, with a link to their own page.
Partnership intros
Introduce yourself to twenty potential partners with an email that mentions their product, not a template that only talks about yours.
Customer check-ins
Ask everyone who signed up last quarter how it is going. Their answers come back to your inbox and the thread stays yours.
Event follow-ups
Thank everyone who came, send the deck to the people who asked for it, and follow up once more with those who did not answer.
Recruiting
Write to candidates one at a time with a note about the role and why you thought of them. Follow-ups stop the moment they reply.
Investor and stakeholder updates
Send the monthly update as a personal email to each investor, in a thread they can answer, instead of a newsletter they filter.
Not a newsletter tool, not transactional email
Email software comes in three kinds. They look alike from a distance and do different jobs.
Newsletter and marketing platforms
Mailchimp, Substack, HubSpot
What it sends
One designed message, from their servers, to a subscriber list.
When to pick it
Right for announcements to people who signed up for a newsletter. The email arrives from a marketing domain with a template, a footer and open tracking.
Transactional email
SendGrid, Postmark, Amazon SES
What it sends
Receipts, password resets and notifications, sent by your application through an API.
When to pick it
Right for anything a machine triggers. Nobody expects a reply, and nobody writes one.
Handsent
Personal email from your own Gmail
What it sends
One email per person, written by you, merged with their details, sent from your inbox at the pace a person would type.
When to pick it
Right when you want a reply, and when the email should look and behave like something you sat down and wrote. Replies land in your inbox, in the same thread.
The short version: if you are announcing something to a thousand subscribers, use a newsletter tool. If your code is sending it, use transactional email. If you would have written it yourself, one at a time, had you the afternoon, use Handsent.
How it works
- 1
Connect your Gmail.
Sign in with Google and Handsent sends through the account you choose. Every email shows up in your Sent folder.
- 2
Bring your list.
Paste a Google Sheet link, upload a CSV, or push contacts from your CRM through the API. Every column becomes a merge field.
- 3
Write it once, personalized for each.
Subject, body, formatting and images, with {{first_name}} and {{company}} filled in from the row. Add follow-ups that go out a few days later in the same thread. Send yourself a test with a real contact's details.
- 4
Start, then get on with your day.
Handsent sends inside your window, one at a time with a natural gap, ends the thread when someone answers, and writes each row's status back to your sheet.
Everything a careful sender would do by hand
Handsent is for the people you already talk to: customers, leads who asked to hear from you, and business contacts you have a lawful basis to reach. The guardrails are the product, and they work in your favour.
A human pace
By default 90 a day and 30 an hour, a couple of minutes apart, on weekdays during business hours. Set your own caps and window per campaign, and a daily cap per inbox.
Follow-ups that know when to stop
Each follow-up is threaded under the original. The moment someone replies, their sequence ends. Out-of-office replies do not count.
Pause any time
One click and nothing more goes out. Replies and bounces keep being tracked. Resume when you are ready.
Nothing sends before you test
A campaign cannot start until you have sent yourself a test filled in with a real contact's details. A dry run shows who is next and who would be skipped, and why.
A suppression list for the whole workspace
Reply “STOP” or “unsubscribe”, or bounce, and the address is off every list. Add your own do-not-contact addresses. A cooldown keeps anyone from hearing from two campaigns in a row.
Unsubscribe and address line, checked
Handsent will not start a campaign without a mailing address and an unsubscribe instruction in the body, and adds the header so Gmail shows its native unsubscribe.
Reply tracking without tracking pixels
Handsent reads only the threads it started to mark each person replied, bounced or unsubscribed. No pixels, no rewritten links, nothing added to your email.
Your sheet stays the source of truth
Status is written back to each row. Type “skip” in a row and Handsent leaves that person alone. Add rows and they join the queue.
Schedule it, or send in waves
Set a start time, or release the list in waves, for example 50 people every 24 hours, so you can keep up with replies.
Templates with formatting and images
Save a subject, body and follow-ups as a template. Rich text and inline images, or a Gmail draft you already wrote.
Teams
One workspace for your inboxes, lists, templates and suppressions. Owner, admin and member roles, and an audit log of who did what.
Subject and body variants
Try two versions of the first email and compare reply rates in the report.
Your Gmail, your permissions
Handsent asks Google for three things and uses each for one visible feature: permission to send email (your campaigns and test emails), to read email (only the threads Handsent started, plus the one draft you pick as a template), and to read and edit spreadsheets (the sheet you connect as a list, to read rows and write status back).
It never reads the rest of your inbox, never sells or shares your data, and deletes your Google tokens the moment you disconnect an inbox. You can also revoke access at any time from your Google account.
Handsent's use of information received from Google APIs adheres to the Google API Services User Data Policy, including the Limited Use requirements. Privacy policy Terms
Sheets, CSV, API, MCP, webhooks
A Google Sheet or a CSV is enough for most people. When Handsent should be part of something bigger, there is a REST API, signed webhooks for every event, and an MCP server so your assistant can run it.
Add contacts from your CRM
curl -X POST https://handsent.buildnode.io/api/v1/lists/LIST_ID/contacts \
-H "Authorization: Bearer hs_..." \
-H "Content-Type: application/json" \
-d '{"rows":[{"email":"ana@example.com","fields":{"first_name":"Ana","company":"Northwind"}}]}'Org-owned API keys with read, write or admin scope. Create lists, add contacts, start a campaign from a template, send a test, pause, read the report, page through events. Webhooks carry a signature you can verify.
Connect Claude, Cursor or any MCP client
claude mcp add --transport http handsent https://handsent.buildnode.io/api/mcp \
--header "Authorization: Bearer hs_..."Nineteen tools: list and add contacts, save templates, create a batch, send a test, pause and resume, read reports and the activity feed, manage suppressions, read the audit log.
Pricing
Free
Handsent is free during early access: every feature, every inbox your team connects, the API and the MCP server. Sending still happens through your own Gmail, so Google's own account limits apply.
We will tell you before anything changes. Questions: hello@buildnode.io.
Frequently asked
- Is this GMass?
- No. Handsent is an independent product from Buildnode. If you have used GMass, Mailmeteor or Yet Another Mail Merge, the idea will be familiar: a list, an email with merge fields, follow-ups, sent from your own Gmail. The differences: Handsent is a web app rather than a browser extension, it is built for a team, it has a REST API and an MCP server, and it does not track opens.
- Will Gmail flag me?
- Handsent sends from your own Google account through Gmail's API, one message at a time, at a pace and volume a person could keep up with, with a mailing address, an unsubscribe instruction and the one-click unsubscribe header in every campaign. That is what Gmail's sender guidelines ask for. The list is still yours: Handsent is built for people who already know you or have a reason to hear from you, and it will not help you reach anyone else.
- Can my team share it?
- Yes. A workspace holds the inboxes, lists, templates, campaigns, suppressions and API keys for everyone in it. Each person connects their own Gmail. Everyone sees every campaign; owners and admins manage members, keys and webhooks.
- Does it track opens?
- No, on purpose. Open tracking means a hidden image in every email you send, and it is the first thing that makes a personal email look like a campaign. Handsent tracks replies, bounces and unsubscribes, which are the things you can act on.
- What does Handsent read in my Gmail?
- Only the threads it started, to see whether someone replied, bounced or asked to stop, and the one Gmail draft you choose as a template. It never reads the rest of your inbox.
- What happens when someone replies?
- Their follow-ups stop, the row in your sheet is marked replied, the event shows up in Handsent and in any webhook you set up, and you answer from Gmail like any other email.
- What does it cost?
- Nothing during early access, including the API and MCP. We will tell you before that changes.
Write it once. Send it like you meant it.
Connect your Gmail, paste a sheet, and send yourself the first test in a few minutes.