Automate AI News Digests with n8n + wpnews (No-Code, 2025)
2026-05-19 · 6 min read
Build a no-code n8n workflow that fetches AI news every morning, filters by breaking stories, and posts a digest to Slack or sends an email — using wpnews HTTP nodes.
What you'll build
An n8n workflow that runs every morning and:
- Fetches the AI news morning briefing from wpnews (velocity + breaking stories + entities)
- Checks if velocity is "burst" — if yes, routes to a breaking news alert path
- Formats the digest as a Slack message or email
- Posts to your team channel at 8:00 AM on weekdays
No coding required. Just HTTP nodes and an IF condition in the n8n editor.
Prerequisites
- n8n installed (cloud or self-hosted:
npx n8nfor local) - A free wpnews API key — get one at wpnews.pro/api (1,000 calls/day, no credit card)
- A Slack webhook URL (or SMTP credentials for email)
Step 1 — Create a new workflow
In n8n, click New Workflow. Name it "AI News Morning Briefing".
Step 2 — Add a Schedule Trigger
Add a Schedule Trigger node. Set it to run at 8:00 AM on weekdays:
- Trigger at: 08:00
- Days of Week: Monday, Tuesday, Wednesday, Thursday, Friday
For testing, set it to "Once" mode to trigger immediately.
Step 3 — Fetch the morning briefing
Add an HTTP Request node with these settings:
- Method: GET
- URL:
https://api.wpnews.pro/api/v1/morning-briefing - Authentication: Header Auth
- Header Name:
X-API-Key - Header Value: your wpnews API key
The response contains:
velocity.status— "burst", "normal", or "quiet"hot_articles— breaking stories ranked by freshness × qualitytrending_entities— companies and people in the newscontext_text— ready-to-use summary text
Step 4 — Route on velocity status
Add an IF node to check if it's a burst news day:
- Value 1:
{{ $json.velocity.status }} - Operation: equals
- Value 2:
burst
Connect the True branch to an "urgent digest" path and the False branch to a "regular digest" path.
Step 5 — Format the Slack message
On the normal branch, add a Code node to format the digest:
const data = $input.first().json;
const vel = data.velocity;
const articles = data.hot_articles || [];
const entities = data.trending_entities || [];
const statusEmoji = {
burst: "⚡ BURST",
normal: "📰",
quiet: "😴 Quiet"
}[vel.status] || "📰";
let text = `*AI News Briefing ${statusEmoji}*\n`;
text += `Velocity: ${vel.ratio?.toFixed(1) || '1.0'}x baseline (${vel.status})\n\n`;
if (articles.length > 0) {
text += `*Breaking stories:*\n`;
for (const a of articles.slice(0, 3)) {
text += `• ${a.title} (${a.hours_ago?.toFixed(1) || '?'}h ago)\n`;
}
text += `\n`;
}
if (entities.length > 0) {
const names = entities.slice(0, 5).map(e => e.name).join(", ");
text += `*Trending:* ${names}`;
}
return [{ json: { text } }];
Step 6 — Post to Slack
Add a Slack node (or HTTP Request node to a Slack incoming webhook):
- Resource: Message → Send
- Channel:
#ai-news - Text:
{{ $json.text }}
Alternative — Slack incoming webhook:
- Method: POST
- URL: your Slack webhook URL
- Body: JSON —
{"text": "{{ $json.text }}" }
Step 7 — Send email on burst days
On the burst branch, send a more urgent email using the Send Email node or Gmail node:
// Code node for email format
const data = $input.first().json;
const articles = data.hot_articles || [];
let body = `⚡ BREAKING: AI News Burst Detected
`;
body += `News volume is ${data.velocity?.ratio?.toFixed(1) || '?'}x above baseline.
`;
body += `Top stories right now:
`;
for (const a of articles.slice(0, 5)) {
body += `- ${a.title} — ${a.hours_ago?.toFixed(1) || '?'}h ago
`;
}
body += `
`;
return [{ json: { subject: "⚡ AI News Burst", body } }];
Alternative: search for specific topics
Add a second HTTP Request node after the briefing to search for your team's specific topics:
- URL:
https://api.wpnews.pro/api/v1/search?q=YOUR_TOPIC&limit=5 - Header:
X-API-Key: your_key
Examples: q=Claude+Anthropic, q=OpenAI+GPT-5, q=Nvidia+chips
Monitor specific entities (Pro)
If you want alerts when specific companies appear in the news, use the entity news flash endpoint:
- URL:
https://api.wpnews.pro/api/v1/entities/OpenAI/news-flash?hours=2
Returns articles mentioning OpenAI in the last 2 hours — set to a 30-minute schedule trigger for near-real-time entity monitoring.
Complete workflow summary
Schedule (8am weekdays)
→ HTTP: GET /api/v1/morning-briefing
→ IF velocity == "burst"
→ True: Code (urgent format) → Send Email
→ False: Code (digest format) → Slack message
Total nodes: 5. Build time: under 10 minutes.
API endpoints used in this workflow
| Endpoint | Use | Tier |
|---|---|---|
/api/v1/morning-briefing |
Velocity + breaking stories + entities | Free |
/api/v1/search?q=TERM |
Topic-specific article search | Free |
/api/v1/entities/{name}/news-flash |
Entity-specific breaking alerts (last 1-12h) | Pro |
/api/v1/entities/compare |
Side-by-side competitive coverage | Pro |
Get your free wpnews API key
1,000 calls/day free. No credit card. n8n workflow up in 10 minutes.
Get Free API Key →Or try keyless first: curl https://api.wpnews.pro/api/v1/morning-briefing