- Searches the web for the latest AI news (via Perplexity),
- Cross-checks results against a Google Sheets log to avoid duplicates,
- Sends a daily summary email (via Gmail),
- Appends new headlines to the log for future deduplication.

- Scheduled Trigger → Perplexity (Search) → News Checking Agent (OpenAI LLM) + Google Sheets (
getRows) → Gmail (send) → Google Sheets (appendRow)
| Node | Purpose | Example n8n operation |
|---|---|---|
| Scheduled Trigger | Run workflow on a regular cadence | Scheduled Trigger |
| Perplexity | Search web / summarize recent AI news | Message a Model |
| LLM (OpenAI) | Deduplicate & format digest using Sheets data | Message a Model with Google Sheets tool (getRows) |
| Gmail | Deliver the daily digest | Send |
| Google Sheets | Store the digest for future deduplication | Append Row |
- Add the Scheduled Trigger node to run automatically.
- For a daily digest set:
- Interval:
Days - Days Between Triggers:
1 - Hour:
9 - Minute:
0
- Interval:
- Use Execute Step to test the trigger and generate initial runtime variables.

- Use the Perplexity node with the
Message a Modeloperation to fetch and summarize recent AI news. - Create a Perplexity credential by copying your Perplexity API key into n8n (Perplexity dashboard → Settings → API Keys).
Perplexity may require enabling API billing and adding payment details before API keys are issued. Confirm account limits and billing to avoid unexpected failures during development.
- For concise, timely results choose a Sonar model (e.g.,
sonar-pro). - For deeper analysis use
sonar-deep-researchorsonar-reasoning-pro. - Perplexity expects a System message first, then a User message — ensure the system prompt is the first entry.
{{ $now }} so the model has a concrete time context. Perplexity also provides a recency filter — set it to “within the day” to restrict results to the most recent items.
When you execute the Perplexity node, outputs include:
- Natural-language summaries,
- Citations and
search_resultsmetadata, - Search metrics.

getRows)
- Add an LLM node (for example, OpenAI’s
Message a Model) to act as a formatter and deduplicator. The LLM node will:- Receive Perplexity’s summarized content,
- Cross-check headlines against a Google Sheet named
Past AI News Log, - Remove duplicates,
- Format the final digest (one- to two-sentence summaries with source URLs),
- If everything is duplicate, output a clear “No notable AI development news in the past 24 hours” message.
- Attach Google Sheets as a tool and set the tool’s Resource to the spreadsheet document and Operation to
getRows. This allows the LLM to fetch existing rows and determine duplicates. - Create the spreadsheet
Past AI News Logwith these columns:- Date
- Headlines
- In the Google Sheets tool settings, select the Document and Sheet (e.g.,
Sheet1) so the checking agent can access existing rows.

- Add a Gmail node after the News Checking Agent to deliver the digest deterministically.
- Configure fields using variables from the News Checking Agent output:
- To: your recipient email(s)
- Subject:
Daily AI News Digest - MIME Type:
text - Message: the content from the News Checking Agent, for example:
$('News Checking Agent').item.json.message.content
- Optional: Disable automatic n8n attribution under Add Option → Append n8n Attribution if you prefer no footer.
- If the LLM has Gmail as an attached tool it may or may not choose to use it. Chaining Gmail as an explicit node guarantees delivery each run and improves observability in the workflow logs.

- After the Gmail node, append the formatted headlines into your
Past AI News Logso future runs can deduplicate against them. - Google Sheets node settings:
- Operation:
Append Row - Document: select
Past AI News Log - Sheet: e.g.,
Sheet1
- Operation:
- Map the columns:
- Date →
{{ $today }} - Headlines →
$('News Checking Agent').item.json.message.content
- Date →

- Each day the Perplexity node fetches the latest AI news.
- The News Checking Agent consults
Past AI News Logto remove duplicates and formats a digest. - Gmail sends the digest to recipients.
- Google Sheets appends the digest to the log for future deduplication.
- Swap Perplexity for a different search agent or a scraper targeting curated source lists.
- Replace OpenAI with other LLM providers for formatting and deduplication.
- Replace Gmail with Slack, Telegram, or other delivery channels.
- Store structured metadata columns in the sheet (e.g.,
URL,Company,Category) to enable richer deduplication and filtering.
- n8n Documentation
- Perplexity AI
- OpenAI API Documentation
- Google Sheets API / Add-ons docs
- Gmail API / n8n Gmail node docs
Tip: During development, pin outputs from nodes (Perplexity, News Checking Agent) to avoid repeatedly consuming API calls. Once satisfied, unpin and let the workflow run on schedule.