Your marketing team has just finished publishing a 2,500-word blog post on sustainable supply chains. It's solid work. Now someone needs to carve it up into a seven-email sequence, write subject lines, segment it by audience type, and run A/B tests on two variations. By hand, that's a full day of work. By automation, that's forty minutes. The gap between "we have great content" and "we've converted it into revenue-driving campaigns" is rarely about creativity. It's about repetitive extraction, summarisation, and rewriting tasks that machines handle better than humans. You can shrink that gap to nothing by wiring together a PDF extraction tool, a copywriting AI, a summarisation engine, and your email platform of choice. The result is a semi-autonomous system that turns your blog library into segmented, tested email campaigns without anyone manually copying, pasting, or rewriting a single sentence. This guide shows you how to build that system using four tools and one orchestration platform. We'll focus on n8n because its visual workflow builder makes the logic transparent, but Zapier and Make will work just as well if you prefer their interfaces.
The Automated Workflow
The workflow moves through five discrete stages. First, your blog PDF is uploaded to a folder or cloud storage trigger. Second, Chat With PDF extracts key sections and themes using a prompt you define. Third, Smmry condenses the content into bullet points. Fourth, ChatGPT Writer generates email copy variations for A/B testing. Finally, the segmented emails land in your email platform with metadata tags for audience filtering. Start in n8n by setting up a webhook or cloud storage trigger. We'll use a Google Drive trigger for simplicity. For more on this, see Wispr Flow AI vs ChatGPT Writer vs HyperWrite: AI Writing....
[n8n workflow trigger]
- Node: "Watch Google Drive Folder"
- Folder ID: your-folder-id
- Event: file created
- Output: file ID, file name, file MIME type
When a blog PDF lands in your designated folder, n8n captures its metadata. Next, pass that file ID to Chat With PDF. This tool doesn't have a published API in the traditional sense, but you can use it via Zapier's native integration or through a webhook bridge. For this workflow, we'll use the Copilot.us Chat With PDF API (if available in your plan) or route the file through a custom integration. If neither works, you can use a workaround: download the PDF from Google Drive, upload it to Chat With PDF via their web interface, and store the session ID for reuse.
[Assumption: Chat With PDF provides an API endpoint]
POST https://api.copilot.us/v1/documents/extract
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json { "file_url": "https://drive.google.com/uc?id=FILE_ID", "prompts": [ "Extract the main argument of this blog post in one sentence.", "List the three most important statistics or data points.", "Summarise the key problem addressed.", "List actionable takeaways for the reader." ]
}
Chat With PDF returns structured data: your main argument, statistics, problem, and takeaways. Store this as variables in n8n. Next, feed the full text (or a cleaned version) into Smmry to generate a concise bullet-point summary. Smmry has a straightforward API.
GET https://api.smmry.com/&SM_API_KEY=YOUR_KEY&SM_URL=https://example.com/blog-post
If your blog is already published online, pass the URL directly. If it's not, you'll need to extract the PDF text first and pass it as a parameter instead. Here's how that looks:
POST https://api.smmry.com/
Content-Type: application/x-www-form-urlencoded SM_API_KEY=YOUR_KEY&SM_TEXT=EXTRACTED_PDF_TEXT&SM_WITH_BREAK=1&SM_LENGTH=5
The SM_LENGTH=5 parameter requests a summary of roughly 5 sentences. Adjust this based on your email length preference. Smmry returns bullet points that you can use directly in email intros. Now, feed both the extracted themes and the summary into ChatGPT Writer to generate two email variations (Variation A and Variation B). You'll use the OpenAI API directly for this, as ChatGPT Writer is primarily a browser extension. Instead, call GPT-4o or GPT-4.1 mini for cost efficiency.
POST https://api.openai.com/v1/chat/completions
Authorization: Bearer YOUR_OPENAI_API_KEY
Content-Type: application/json { "model": "gpt-4.1-mini", "temperature": 0.7, "messages": [ { "role": "system", "content": "You are an email copywriter. Generate a professional marketing email based on the provided blog summary and themes. Make it 150-200 words. Do not include [GREETING] or [SIGNATURE] placeholders. Write naturally." }, { "role": "user", "content": "Blog title: {blog_title}\n\nMain argument: {main_argument}\n\nKey points: {summary_bullets}\n\nTarget audience: decision-makers in supply chain management.\n\nWrite an email that highlights one surprising insight from this blog and invites the reader to learn more." } ]
}
Repeat this call twice with slightly different system prompts to generate Variation A and B. For Variation A, emphasise the problem statement. For Variation B, emphasise the solution angle.
[Variation A prompt]
"Role: problem-focused email copywriter. Generate an email that opens with the problem this blog addresses." [Variation B prompt]
"Role: solution-focused email copywriter. Generate an email that opens with the benefit or outcome the reader will gain."
Store both responses in n8n variables. Next, you need to handle segmentation. Add a simple branching logic node that examines audience metadata from your blog (or from a manual tag you added).
[n8n Conditional Branch]
IF audience_segment === "Enterprise" THEN - Subject line: formal, benefit-focused - Send delay: stagger over 3 days - CTA button: "Request a consultation"
ELSE IF audience_segment === "SMB" THEN - Subject line: practical, problem-focused - Send delay: send within 24 hours - CTA button: "Read the full post"
ELSE - Default segment: "General" - Subject line: neutral, curiosity-focused - Send delay: 48 hours
Finally, connect to your email platform. We'll use Mailchimp as the example, though this works with HubSpot, ActiveCampaign, or Klaviyo.
POST https://us1.api.mailchimp.com/3.0/campaigns
Authorization: Basic base64_encode(username:YOUR_MAILCHIMP_API_KEY)
Content-Type: application/json { "type": "regular", "recipients": { "list_id": "YOUR_LIST_ID", "segment_opts": { "saved_segment_id": SEGMENT_ID_FOR_AUDIENCE } }, "settings": { "subject_line": "{{ subject_line }}", "preview_text": "{{ preview_text }}", "title": "{{ blog_title }} - Email {{ variation }}", "from_name": "Your Company", "reply_to": "marketing@yourcompany.com" }, "content": { "html": "{{ email_body_html }}" }
}
Create two separate campaign objects, one for each variation, tagged with ab_test_variant_a and ab_test_variant_b so you can track performance separately. The complete n8n workflow looks like this: 1. Google Drive trigger fires when a PDF is added.
-
Extract file ID and pass to Chat With PDF.
-
Parse Chat With PDF response and store themes.
-
Pass extracted text to Smmry for summarisation.
-
Call OpenAI API twice to generate Variation A and B emails.
-
Branch based on audience segment metadata.
-
Build two Mailchimp campaigns with segment-specific settings.
-
Log the campaign IDs and test variant tags for later analysis. At the end of the workflow, you can optionally add a Slack notification that tells your team: "Two email campaigns are live: Variant A to 450 enterprise users, Variant B to 1,200 SMB users. Check results in 48 hours."
The Manual Alternative
If you prefer tighter control over copy or audience targeting, you can run the first three steps automatically (extraction, summarisation, export) and then hand off to a human copywriter for the email creation step. Remove the ChatGPT Writer and Mailchimp nodes from the workflow. Instead, have n8n export the extracted themes and summary as a formatted document (Markdown or HTML) and email it to your copywriter. They rewrite the emails in their usual tool, then you segment and send manually. This trades 30 minutes of automation for 2 hours of hands-on work but gives you editorial oversight.
Pro Tips
Watch your API rate limits.
Smmry allows 100 requests per month on the free tier.
If you're converting more than a handful of blogs monthly, upgrade to their paid plan. OpenAI's rate limits are generous if you're on a standard account, but batch your requests if you're testing multiple variations simultaneously.
Store extraction results as n8n table records.
Instead of discarding the Chat With PDF and Smmry outputs after use, save them to an n8n database or Google Sheet. This creates a searchable library of your blog themes, making it easy to spot patterns, recurring problem, and audience terminology you should echo in future campaigns.
Test segmentation logic early.
Before running the full workflow, manually verify that your audience segment IDs are correct in Mailchimp (or your platform of choice). A single typo will send "Enterprise" segment emails to your SMB list.
Add error handling for failed extractions.
Some PDFs are scanned images rather than text-based documents. Chat With PDF will choke. Add a catch node in n8n that checks the extraction response for empty results. If extraction fails, send a Slack alert asking you to manually handle that particular blog.
Cost optimise with GPT-4.1 mini instead of GPT-4o.
Both generate professional email copy, but GPT-4.1 mini costs roughly 90% less. For straightforward copywriting, the difference in output quality is negligible. Reserve GPT-4o for complex reasoning tasks elsewhere in your workflow.
Cost Breakdown
| Tool | Plan Needed | Monthly Cost | Notes |
|---|---|---|---|
| Chat With PDF (Copilot.us) | Pro or API access | £19–£99 | Depends on file volume and concurrent documents. API tiers vary. |
| Smmry | Starter | £0–£30 | Free tier: 100 requests/month. Paid: unlimited. |
| OpenAI (GPT-4.1 mini) | Pay-as-you-go | £5–£20 | Estimate: 100 emails × ~800 tokens × £0.00015/token = ~£12 monthly. |
| ChatGPT Writer | Free or Premium | £0–£20 | Free tier sufficient if using OpenAI API directly instead. |
| n8n | Cloud starter | £0–£30 | Free tier covers up to 5,000 executions/month. Most small teams stay free. |
| Mailchimp (or equivalent) | Standard | £20–£100+ | Depends on list size and automation features used. |
| Total | , | ~£65–£279 | Highly configurable based on volume and platform choices. |