What this automation does
The workflow turns a prospect list into reviewed, sourced, personalized first-touch emails ready for your sending tool.
- Load the list. Prospects come from a CRM view or a sheet, with name, title, company domain and any enrichment fields.
- Verify addresses. An email verification service removes invalid, risky and role-based addresses (info@, sales@) before anything else happens.
- Collect research. For each prospect, the workflow gathers a few verifiable snippets: the company homepage, a recent press release or blog post, a job posting, or a public case study. Each snippet keeps its URL and date.
- Write the opener. The model receives the snippets, the prospect’s role, and your offer, and returns two fields: an opening line and a one-sentence bridge to why you are writing. Each must reference the snippet it used.
- Validate. Code checks length, banned phrases, that the cited snippet exists and contains the named fact, and that the date is recent enough. Failures fall back to a role-based opener.
- Review and push. A rep reviews a batch in a sheet or in Slack, edits or rejects lines, and approved rows are written to custom fields in the sequencing tool or CRM for sending.
When it is worth building
It is worth it when your reps already personalize by hand and it caps how many good emails they send, or when you sell to a defined account list where relevance matters more than volume. It is a poor fit for mass, untargeted blasts. Better copy will not rescue a list that should not be emailed in the first place.
If you send a few dozen emails a week, a rep with a writing assistant is enough. The automation earns its keep in the hundreds per week, and only when lead enrichment gives the model something real to work with.
Architecture
| Layer | What we use | Why |
|---|---|---|
| Source list | HubSpot or Salesforce list, or Google Sheets | Reps already maintain target lists there |
| Verification | An email verification API via n8n’s HTTP Request node | Keeps bounce rates low, which protects sender reputation |
| Research | Website fetch, company news pages, careers pages | Public, citable sources a reviewer can check in seconds |
| Writing | Claude Sonnet 5.5 or OpenAI’s GPT models with structured output | Short, natural phrasing, and a schema that forces a source per claim |
| Validation | Code step in n8n | Fact-to-source checks and style rules are deterministic |
| Review | Google Sheet or Slack approval buttons | Fast batch review without logging into another tool |
| Sending | Your existing sequencing tool or CRM sequences, via custom fields | Keeps unsubscribe handling, throttling and reply detection where they already work |
How to build it
- Write the fixed parts first. Draft the body, offer, call to action and signature with sales leadership. The AI fills one or two slots, not the whole message.
- Define what counts as a usable fact. For example, published within 12 months, about the company not the individual’s personal life, and visible on a public page. Write these rules into the prompt and the validator.
- Build research collection. Fetch and clean the pages, keep the URL and date, and cap total text per prospect so costs stay predictable.
- Prompt for slots, not essays. Give three or four approved example openers, a hard length limit, a list of banned phrases, and require the source snippet ID in the output.
- Validate and fall back. Reject lines that cite nothing, cite a stale snippet, or use flattery with no substance. Substitute a reviewed role-based opener.
- Review in batches. Track accept, edit and reject rates per rep. Once rejects stay low for a few weeks, sample-review instead of reviewing every row.
- Hand off to sending. Write approved slots to custom fields, and let the sequencing tool handle timing, unsubscribes and reply detection. The follow-up sequence guide covers the steps after the first touch.
The downloadable starter template below covers the sheet input, website research, opener generation with source checks, and the review sheet.
Deliverability and CAN-SPAM basics
Personalization is wasted if the email never reaches the inbox, and none of it matters if the program is not compliant. This is general information, not legal advice.
Authenticate every sending domain. Publish SPF and DKIM records and a DMARC policy, and make sure the visible From domain aligns with them. Google and Yahoo have required this of bulk senders since 2024, along with one-click unsubscribe for marketing mail and spam complaint rates below 0.3%. Those rules formally cover mail sent to personal Gmail and Yahoo addresses, but business mail systems such as Google Workspace and Microsoft 365 also weigh authentication and sender reputation, so treat them as the baseline everywhere.
Protect your main domain. Many teams send cold outreach from a separate, clearly branded domain so a reputation problem does not hit invoices and customer email. Warm new mailboxes gradually, keep daily volume per mailbox modest, and pause when bounces or complaints rise.
Meet CAN-SPAM on every message. Headers and the From name must be accurate. Subject lines must not mislead. The email must identify itself as an advertisement where required, include a valid physical postal address, and give a clear way to opt out that works for at least 30 days after sending. Opt-outs must be honored within 10 business days, and you cannot charge a fee or ask for anything beyond an email address to process them. Your company is responsible even when an agency or tool sends on your behalf, and penalties are assessed per violating email.
Mind other jurisdictions. Canada’s CASL and the GDPR and PECR rules in the EU and UK require consent or a lawful basis that CAN-SPAM does not. Filter by country if you are unsure.
What breaks in production
- Confident fabrication. “Congrats on the Series B” when there was no Series B. The source-check validator exists for this; do not remove it to save time.
- Creepy personalization. References to a prospect’s family, location or old personal posts feel invasive. Restrict sources to company-level and professional content.
- Pattern fatigue. Every opener starting with “I noticed” or “Saw that” reads as automated. Rotate example openers and ban the most common stems.
- Stale research. A cached snippet from last year references a product the company killed. Enforce a maximum age per snippet.
- Field mapping errors. A blank custom field sends “Hi , {{opener}}”. The sending tool must block sends with missing slots.
- Suppression gaps. A prospect who unsubscribed from marketing email gets a sales email from another tool. Sync one suppression list across every sender.
Timeline and cost
A single-offer pipeline with one CRM, one sending tool and a review sheet typically takes two to three weeks, including a calibration period with your reps. Lumeor builds this in the range of $5,000 to $12,000, depending on the number of research sources, offers and integrations. Running costs are model usage per prospect (small, since inputs are capped) plus your verification and sequencing tools, which bill per credit or per seat; check their current pricing.
How to measure success
- Positive reply rate versus a control group using your standard template
- Hard bounce rate and spam complaint rate per sending domain
- Share of AI openers accepted without edits
- Validator rejection rate, which tells you whether research is good enough
- Rep minutes per 100 emails reviewed