Mailmeteor-style migration test

A narrower Mailmeteor alternative for operational email

Mailmeteor-style tools are built for campaign mail merge from Gmail: compose, send, track. FormMerge is built for a different job — reviewed operational email from Google Sheets rows, where each row is one message, and a duplicate or ambiguous send has a real cost.

Not a drop-in replacement: Mailmeteor is a mature campaign mail merge product with its own tracking, scheduling, and follow-up model. FormMerge does not claim campaign parity — no open tracking, no sequences. It covers one job: one reviewed send per row, with duplicate-send guards.

Quick fit check

NeedMigration fit
One operational email per Sheet row (invoices, decisions, notifications)Good copied-sheet test candidate.
Review the exact pending batch before anything sendsGood fit: preview is tied to a one-time approval.Guarantee a row is never emailed twice, even after edits or retriesGood fit: 30-day protected-message fingerprint blocks replays.Campaign sends with open tracking and follow-up sequencesDo not migrate: outside this slice.Newsletter or cold outreach automationNot a FormMerge use case.

Campaign mail merge vs FormMerge

Campaign tools and FormMerge start from different assumptions. Campaigns assume many recipients and measure engagement. FormMerge assumes each row is one accountable message and measures correctness.

Decision pointMailmeteor-style campaign mail mergeFormMerge
Starting pointGmail: compose a campaign, merge fields, send to a list.Google Sheets: one row is one message, with its own recipient, subject, and body.
Before sendPreview the template and a sample recipient, then launch the campaign.Exact recipient/subject/body/CC/BCC preview for every row, tied to a one-time approval. Changed previews invalidate the approval.
Duplicate protectionBuilt for campaigns, not for replaying the same row after edits or retries.30-day protected-message fingerprint survives row moves, copied rows, and cleared status cells; replays are blocked before send.
Ambiguous sendCheck the campaign dashboard and recipient inbox before retrying.SEND_UNCERTAIN blocks retry until the owner marks verified sent, resets after an inbox check, or keeps it blocked.
Automation healthCampaign dashboards cover the send itself.30-day audit plus watchdog pause after repeated trigger failures, with guided repair/resume.

Copied-sheet migration test

  1. Copy the original spreadsheet; keep the production Sheet untouched.
  2. Replace real recipient addresses with test inboxes you control.
  3. Configure one recipient column and one subject/body template.
  4. Run Preflight, then Preview pending.
  5. Review every exact recipient, subject, body, CC, and BCC.
  6. Resolve exact duplicate outgoing messages.
  7. Approve only the unchanged preview, then send the copied batch.
  8. Confirm each row becomes SENT before enabling any trigger on real data.

Why the guardrails matter

The classic migration accident is the retried batch: a send hits a daily cap or an ambiguous result, someone reruns it, and half the list gets the email twice. A row marked SENT, SENDING, or SEND_UNCERTAIN is not automatically retried in FormMerge. MailApp does not supply a provider-level idempotency key, so this fail-closed behavior is safer than pretending exactly-once delivery is guaranteed.