n8n no-code automation slack news-api

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:

  1. Fetches the AI news morning briefing from wpnews (velocity + breaking stories + entities)
  2. Checks if velocity is "burst" — if yes, routes to a breaking news alert path
  3. Formats the digest as a Slack message or email
  4. 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 n8n for 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 × quality
  • trending_entities — companies and people in the news
  • context_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