Skip to content

Recipe 03: AI content summarizer

Goal: POST an article URL to a webhook. Flero fetches the page, summarises it with an AI model, and emails you the result.

Difficulty: Beginner · Time: about 15 minutes · Connectors: an AI provider (Anthropic, OpenAI or Google), Email

The finished AI content summarizer workflow on the canvas: API/Webhook Trigger, Web Scraper, AI Agent and Email, connected left to right.The finished AI content summarizer workflow on the canvas: API/Webhook Trigger, Web Scraper, AI Agent and Email, connected left to right.

Prerequisites

  • An AI provider credential, for example an Anthropic or OpenAI API key.
  • A way to send email: the platform mail server your admin set up under Settings → Notifications → SMTP for Workflow Emails, or your own SMTP details.

Finished workflow

Workflow: API/Webhook Trigger to Web Scraper, Web Scraper to AI Agent, AI Agent to Email API/Webhook TriggerTrigger on HTTP Web ScraperScrape web pages AI AgentRun AI tasksEmailSend email

Step-by-step

1. Webhook trigger

Add an API/Webhook Trigger with HTTP Method POST and a distinct Webhook Path, such as /demo/summarise. The body will look like { "url": "https://..." }.

2. Web Scraper

Add a Web Scraper node:

  • URL: {{ $trigger.payload.url }}
  • Mode: text
  • Max chars: 12000 (the default). This keeps long pages within the model's limits.

In text mode the node returns the page title and its readable content.

3. AI Agent

Add an AI Agent node:

  • Provider: Anthropic, OpenAI or Google
  • Credential: your AI credential
  • Model: pick one from the list
  • System instructions:
    You are a concise editor. Given an article, write a 3-sentence summary
    and 3 key takeaways as a bulleted list. Do not add facts that are not
    in the article.
  • Prompt:
    Title: {{ $node["Web Scraper"].output.title }}
    
    Article:
    {{ $node["Web Scraper"].output.content }}
  • Temperature: 0.3, for steadier summaries

The answer is in {{ $node["AI Agent"].output.content }}.

4. Send the email

Add an Email node:

  • Operation: Send
  • Mail service: Platform, or Custom with your SMTP details
  • To: your email address
  • Subject: Summary: {{ $node["Web Scraper"].output.title }}
  • Body:
    Source: {{ $trigger.payload.url }}
    
    {{ $node["AI Agent"].output.content }}

5. Save and activate

Save, then set the workflow to Active in the editor toolbar's version menu.


Try it

curl -X POST <your webhook URL> \
  -H "Content-Type: application/json" \
  -d '{"url": "https://en.wikipedia.org/wiki/Workflow"}'

Within a minute you should receive an email with the summary. The run's AI cost shows in Logs.


Variations

Send the address in the request

Use {{ $trigger.payload.recipient }} as To, and include "recipient" in the request body.

Several URLs at once

Send { "urls": ["...", "..."] } and add a Loop over {{ $trigger.payload.urls }}. Inside the loop, the current URL is {{ $input.item }}.

Check the output

Add an AI Guardrails node after the AI Agent with operation pii_detection, so personal data is caught before the email goes out. It routes each item to passed or failed.

Cap the cost

Add a Token/Cost Guard node before the AI Agent, and set a workspace AI budget.


Troubleshooting

Symptom Likely cause Fix
Web Scraper returns little or no content The page builds its text with JavaScript Try markdown mode, or use the Web Controller node, which drives a real browser
Summary is cut short The model hit its output limit Check the AI Agent output's truncated field. Raise Max tokens or ask for a shorter summary.
Email never arrives No platform mail server is set up, or the mail went to spam Ask your admin to set up SMTP for workflow emails, or use Custom SMTP
[EXPR-ERROR: Node "Web Scraper" not found …] The node was renamed Use the node's exact name in expressions
AI Agent fails with "budget exceeded" The workspace hit its monthly AI limit See AI budgets

Next


Found something out of date? This page lives in the Flero docs content set.