AI News Bot finding the same articles each day

Describe the problem/error/question

My AI news bot is returning the same articles every day, even though I have asked it to find recent articles within the past 24-hours. Let me know if I am missing something and how I could adjust the prompt, or add a new node to fix this?

What is the error message (if any)?

Please share your workflow

Share the output returned by the last node

Information on your n8n setup

  • n8n version:
  • Database (default: SQLite):
  • n8n EXECUTIONS_PROCESS setting (default: own, main):
  • Running n8n via (Docker, npm, n8n cloud, desktop app):
  • Operating system:
1 Like

Hi @Tblatter7

@Benjamin_Behrens is right about adding a date to the query, that’s the main fix. Your Perplexity prompt is a static string with no dynamic element, so identical queries on consecutive days can return cached results. Append today’s date to your user message, something like:

"What are the latest headlines in the superyacht industry for {{ $now.toFormat('MMMM dd, yyyy') }}..."

Small correction on #2 though: the Simple Memory node in your workflow is connected to the Formatter Agent (the OpenAI step that formats the email HTML), not the Perplexity research step. It has zero influence on what articles Perplexity returns, so in my opinion, no need to investigate there.

The other thing I’d flag: your prompt asks for 10 articles from a very niche vertical (superyacht services, marinas, refit, provisioning) within 24 hours. That’s a really specific slice. There probably aren’t 10 genuinely new service-focused articles every single day across those sources. When Perplexity can’t fill the quota with truly fresh results, it pads with older content that matches the topic, which is why you keep seeing the same ones. Consider changing the prompt to something like “summarize up to 10 articles” or “summarize the most notable recent articles” so it doesn’t force-fill with stale content.

3 Likes

Hi @Tblatter7 your way is good, but consider adding the RESEARCH agent as a tool to the AI agent and there give a complete diversified system prompt explaining what exactly you want, that would really work.

3 Likes

Thanks for the help everyone! I have added the timestamp / nonce and updated the prompt to not force fill articles.

I have also removed the memory node. I didn’t think I needed this as the articles need to be fresh each day. What do you think?

I want the news to be more service related and legal orientated, rather than general yacht sales. How do you think I could adjust the prompt to tweak this?

Below are my current prompts in the research agent:

Role: You are the “Superyacht Services Guide News Analyst.”
Your objective is to provide a highly specialized news digest from the past 24-hours.

Goal: Use the Perplexity Research Agent to find and summarize 10 of the most recent articles.

Instructions: > - Always check for the latest available news, within the last 24 hours. Do not include news promoting yacht sales, yacht charters, yacht new new builds being launched. Search for news related to yachting services, such as marinas, engineers, provisioning, shipyards, refit and legal changes which vessels should be aware of.

Formatting: Output the result as a clean HTML email. Do NOT use markdown code blocks (no ```html). Use spacing and headers to clearly display results. Error Handling: If the search tool returns results, you MUST summarize at least one story. Never send an empty update.

Header: “Superyacht News Summary” Include the current date.

What are the latest headlines in the superyacht industry for {{ $now.toFormat(‘MMMM dd, yyyy’) }}…

Summarize the most notable recent articles. Provide a 2-sentence summary for each and a direct link to the published article. Format this as a professional daily briefing email, with clear spacing and headers.

Looks like the N8N version was super outdated. I have updated it and seems to be working better.

Hi @Tblatter7 Welcome! nobody’s mentioned this yet — ditch the built-in Perplexity node and hit the API directly with HTTP Request so you can use search_domain_filter, that locks results to your target publications and kills the generic yacht-sales noise you’re trying to avoid

Create an HTTP Header Auth credential with name Authorization and value Bearer YOUR_PERPLEXITY_KEY, then wire the output into your existing Formatter Agent — the search_domain_filter param is what the built-in Perplexity node doesn’t expose, and it’s what’ll stop the yacht sales stuff from flooding your digest.