Sheet Mailer

Stop copying LinkedIn posts into a spreadsheet by hand

Sheet Mailer captures a hiring post into a Google Sheet you own — the person, the role, the post text, the contact address — then sends personalised outreach from your own Gmail, one template, throttled and capped.

Free. No account with us, because there is no us to have an account with — see where your data goes.

The two halves

Capture

On a hiring post, click the toolbar icon — or the optional + Sheet button in the feed. You get an editable form: who posted it, the contact address found in the text, the post body, and a role tag you pick. Confirm, and it becomes a row.

Nothing is guessed silently. Every field is editable before it is saved, and a post with no address is stored flagged rather than quietly dropped.

Send

Write one template with {{Person}}, {{role}}, {{JD}} and {{Post URL}} placeholders. Preview it against a real row. Dry run the whole sheet. Then send, with a gap between messages and a daily cap.

Status is written back to the sheet as it goes, so an interrupted run resumes without sending anything twice.

What it looks like

The template editor with subject and body containing placeholders, and below it a live preview showing the message rendered for one row, with the placeholders replaced by that person's name, role and post link.
One template, previewed against a real row before anything is sent.
A preflight summary table showing three rows, two ready to send, one blocked, a daily cap of fifty, and attachments on. Below it a table titled Rows the sender will refuse, listing one row with the reason: no valid email, no resume mapped for Scrum Master.
Preflight counts every row and refuses the ones that are not ready, with the reason spelled out, before a single message goes.
Settings showing an editable list of role tags, a daily cap and gap between sends, and a table mapping each role to a résumé file.
Your own role tags, your own sending limits, and a résumé per role.

Where your data goes

There is no server. Sheet Mailer talks to Google's APIs directly from your browser, as you. Your sheet, your mail, your captured rows and your sign-in token never pass through any machine belonging to the developer, because there is no such machine.

No analytics, no telemetry, no crash reporting, no third-party services. Nothing is sold or shared, and nothing is used to train anything. The privacy policy says this at length, including exactly which Google endpoints are contacted and why.

It reads only the post you are looking at. The extension does not browse, crawl, scroll, paginate, or call LinkedIn's APIs, and it never reads LinkedIn in the background. A default install has no access to linkedin.com at all — the toolbar capture works on the tab you invoke it on, and the in-feed button is off until you switch it on and grant access.

Honest limits

Getting started

  1. Install the extension. The settings page opens by itself.
  2. Want to try it first? Tick Demo mode — the whole flow runs locally with no Google account and no mail leaving the browser.
  3. Otherwise sign in with Google and paste the link to your sheet. Missing columns are created for you; your own columns are left alone.
  4. Edit the role tags to the ones you actually apply for, and you are ready to capture.

Full setup walkthrough →