Alchemy RecipeBeginnerworkflow

Newsletter production from content sources to distribution

Published

Newsletters remain one of the highest-ROI marketing channels, yet many teams struggle to produce them consistently. The bottleneck isn't inspiration or writing skill; it's the sheer logistics of gathering content, condensing it, and distributing it to subscribers. You're either manually curating sources, reading through dozens of articles, writing summaries, formatting everything, and then pushing it out through your email service. That's easily three to four hours of work per week for most organisations....

What if the only manual step you took was deciding which finished newsletter to send? This workflow eliminates everything in between. We'll combine three AI tools to pull content from your sources, condense it intelligently, format it for email, and prepare it for distribution. All without touching a single paragraph yourself after the initial setup. For more on this, see SEO Content Creation Without the Grind: AI Tools for Fast....

The tools we're using here are industry-standard but often underutilised in combination. Copy.ai generates and refines text based on prompts. Resoomer.ai condenses long-form content into summaries. Widify formats content for email rendering. By stitching them together with an orchestration platform, you create a production line that runs on a schedule, every single time.

The Automated Workflow

How this works in practice

Let's say you have five content sources: your company blog, an industry newsletter you subscribe to, a subreddit community, a Twitter list, and a Slack channel where your team shares links. Each Monday morning, this workflow will pull content from all of them, summarise the most relevant pieces, format everything into a newsletter template, and drop it ready to send in your email service. Your job is to review the output and hit send.

The orchestration happens in one of three platforms. For beginners, Zapier is the easiest entry point. If you're comfortable with JSON and want more control, n8n or Make work better. We'll show Zapier syntax here, but the logic translates directly to the others.

Step 1: Aggregate content from sources

This is where you tell the system what to pull in. Different sources need different approaches. If you're pulling from an RSS feed (like a blog or newsletter), that's straightforward. If you're pulling from APIs like Twitter or Reddit, you'll need API keys first.

Set up a scheduled trigger in Zapier for Monday at 9am UTC.


Trigger: Zapier Schedule (weekly)
Frequency: Every Monday
Time: 09:00 UTC

Next, add multiple fetch steps. For RSS feeds, use the "RSS by Zapier" app. For API sources, use the "Webhooks by Zapier" app to make HTTP requests.

For an RSS feed, the configuration looks like this:


App: RSS by Zapier
Action: Catch Polls
Feed URL: https://yourblog.com/feed.xml
Limit: 10

For Twitter API v2, you'd make an authenticated request:


GET https://api.twitter.com/2/tweets/search/recent
?query=from:account1 OR from:account2 OR from:account3
&max_results=100
&tweet.fields=created_at,author_id,public_metrics

You'll need your Twitter API bearer token. Store this as an environment variable in Zapier rather than hardcoding it.

For Reddit, use the public JSON endpoint:


GET https://www.reddit.com/r/subredditname/.json?limit=50

Store each result in a structured format. Zapier will give you arrays of objects. Each object should contain: title, URL, source, date, and raw content (if available). This structured data is crucial because the next steps expect consistent formatting.

Step 2: Filter and select relevant content

Not every article matters. You have two options here: filter by keywords before summarising (cheaper), or summarise everything and let Copy.ai score relevance (better quality, higher cost).

For keyword filtering, add a Zapier filter step:


Filter: Text
Field: Article title + content snippet
Condition: contains any of
Values: your, keywords, here, separated, by, commas
```...

If you want smarter filtering, use Copy.ai's API directly via Zapier's Webhooks action. You're asking: "Does this article fit our newsletter audience?" Copy.ai can score relevance on a scale of 1-10.

POST https://api.copy.ai/api/v1/evaluate { "text": "Article title and summary here", "criteria": "Is this relevant to software developers interested in AI tools?", "score_scale": 10 }


Then filter Zapier results where the returned score is 7 or higher.

A practical approach: start with keyword filtering to reduce API calls, then use Copy.ai only on the 5-10 articles that pass the first filter.

**Step 3: Summarise content with Resoomer.ai**

Now you have 5-10 relevant articles. Resoomer.ai excels at extracting key points from longer text. For each article, send the full content to Resoomer.

In Zapier, you'll add a step for each article. If you have 10 articles and they come through as an array, you need to loop. Use Zapier's "Looping" feature or set up a repeating step.

For each article: POST https://api.resoomer.com/api/summarize { "sourceLanguage": "en", "articleUrl": "{{article_url}}", "summaryLength": "short" }


Resoomer returns a JSON object with the summary in the `summary` field. Extract that and store it alongside the original URL and title.

The output should look like:

```json
{
  "title": "How to Build RAG Systems",
  "url": "https://example.com/rag-systems",
  "source": "blog.example.com",
  "summary": "RAG combines retrieval and generation. Key points: 1) Use vector databases for fast lookup, 2) Combine retrieved context with prompts, 3) Tune retrieval parameters based on latency requirements."
}

Step 4: Format summaries for email with Widify

Widify transforms plain text and markdown into mobile-responsive HTML email templates. This step is critical; newsletters rendered poorly on mobile destroy open rates.

Add a Zapier step for each summarised article:


POST https://api.widify.io/v1/email/render
{
  "content": "{{summary_text}}",
  "template": "newsletter_item",
  "styling": {
    "font_family": "Arial, sans-serif",
    "heading_colour": "#1a1a1a",
    "link_colour": "#0066cc",
    "max_width": "600px"
  }
}

Widify returns formatted HTML. Store this in an array or concatenate it into a single email body.

If you have 10 articles, you now have 10 blocks of HTML. Build your newsletter template in Zapier using a formatter step:


Newsletter HTML Structure:
<html>
<body style="font-family: Arial, sans-serif; colour: #333;">

<h1>Newsletter - Week of {{monday_date}}</h1>

{{article_1_html}}
<hr style="border: none; border-top: 1px solid #ddd; margin: 20px 0;">

{{article_2_html}}
<hr style="border: none; border-top: 1px solid #ddd; margin: 20px 0;">

<!-- Repeat for all articles -->

<footer style="font-size: 12px; colour: #999; margin-top: 30px;">
  <p>Curated by your team. <a href="https://your-site.com/unsubscribe">Unsubscribe</a></p>
</footer>

</body>
</html>

Step 5: Store and prepare for send

Save the complete formatted newsletter to a database or document service where you can review it. Use Zapier's Google Sheets, Airtable, or Notion integrations....... For more on this, see Automated legal document review and client summary genera....


App: Airtable
Action: Create Record
Table: Newsletter Drafts
Fields:
  - Date: {{monday_date}}
  - Subject: "Weekly Newsletter - {{week_number}}"
  - HTML Body: {{formatted_html}}
  - Status: "Ready for Review"
  - Sent: false

From here, you can manually review the newsletter in Airtable, make tweaks if needed, then trigger the actual send. If you want full automation (higher risk), you can skip the Airtable step and send directly to your email service, but that removes your quality gate.

For email sending, integrate with Mailchimp, ConvertKit, or your email service's API:


POST https://api.mailchimp.com/3.0/campaigns
{
  "type": "regular",
  "recipients": {
    "list_id": "your_list_id"
  },
  "settings": {
    "subject_line": "Weekly Newsletter - {{week_number}}",
    "from_name": "Your Team",
    "reply_to": "reply@yourcompany.com",
    "html": "{{formatted_html}}"
  }
}

Then schedule the send or mark it as ready.

Complete workflow diagram


Content Sources (RSS, API, etc.)
    ↓
Aggregation (Zapier RSS, Webhooks)
    ↓
Filtering (Keywords or Copy.ai relevance)
    ↓
Summarisation (Resoomer.ai API)
    ↓
Email Formatting (Widify HTML)
    ↓
Storage (Airtable/Notion for review)
    ↓
Send (Mailchimp/ConvertKit API)

The Manual Alternative

If you want to keep some control without full automation, run the workflow up to step 4, then stop. Review the formatted newsletter in Airtable, edit summaries if needed, reorder articles by importance, and add editorial commentary. Then manually trigger the send through your email service's dashboard.

This takes 20 minutes instead of 3 hours. You keep editorial control whilst eliminating the research and formatting grind.

Alternatively, run the full automated workflow but set it to send to a test list first (just yourself or your team). Review for a week, tweak settings, then roll it out to your full subscriber base.

Pro Tips

Rate limiting and API quotas

Copy.ai, Resoomer, and Widify all have per-minute request limits on free plans. If you're processing 10 articles and hitting Resoomer's API once per article, that's 10 requests in quick succession. Resoomer's free tier allows 10 requests per day. Add a 60-second delay between each Resoomer call using Zapier's "Delay" action.


App: Delay
Duration: 60 seconds

For Copy.ai, batch requests where possible. If you're scoring relevance, send multiple articles in one request rather than individual calls.

Error handling

URLs die. API endpoints go down. Add error catchpaths in Zapier to handle failures gracefully.


If Resoomer API returns error:
  Send notification to Slack
  Skip that article
  Continue with next article

Don't let the entire workflow fail because one source is temporarily unavailable.

Cost optimisation

Run this workflow once per week, not daily. Daily runs waste API quota on marginal content and annoy subscribers. Weekly is the standard for newsletters anyway.

Use Widify's free tier for formatting; it's more than adequate for basic email templates. Save paid tiers for complex custom designs.

Batch Resoomer requests to save API calls. If multiple articles cover the same topic, summarise only the best one.

Testing the workflow

Before scheduling it live, run it manually in Zapier with test data. Create dummy articles, verify each step outputs correctly, and check that email formatting renders properly on mobile (use Litmus or Email on Acid if your email service doesn't provide previews).

Test with your full subscriber list on a test segment first, not your entire audience.

Monitoring and iteration

Track which sources generate the most engagement. If one content source consistently produces articles subscribers don't click, remove it and add something else. Adjust your keyword filter based on open rates and click rates from Mailchimp or ConvertKit analytics.

After four weeks of sending, review which article topics drove the most traffic back to your site. Reweight your content sources accordingly.

Cost Breakdown

ToolPlan NeededMonthly CostNotes
Copy.aiFree or Starter ($49)$0–49Free tier allows 10 requests/day. Starter covers relevance scoring at scale.
Resoomer.aiFree or Pro ($9.99)$0–10Free tier: 10 summaries/day. Pro: unlimited. Most workflows need Pro.
WidifyFree or Premium ($29)$0–29Free tier sufficient for basic HTML email templates.
ZapierFree or Starter ($29)$29+Free tier covers basic workflows. Starter needed for looping and multiple steps.
Orchestration alternative (n8n)Self-hosted (Free)$0One-time setup cost in engineer time. Lower ongoing cost than Zapier.
Email service (Mailchimp/ConvertKit)Existing planVariableUsually $20–100/month depending on subscriber count.
Total (minimal setup)~$50–100/monthUsing free tiers where possible, paid only for essential features.
Total (production-ready)~$100–150/monthAll paid tiers for reliability and scale.

The entry cost is low. A freelancer might charge £300–500 to build this manually each week. The automation pays for itself in two weeks.

More Recipes