You're scanning a long article — an arXiv paper, a Wikipedia entry, a competitor's pricing page — and you want a five-bullet summary before deciding whether to read it in full. ChatGPT and Claude both do this beautifully, but pasting page text into a chat tab is friction you hit fifty times a week. This template opens any URL you give it, grabs the body text, sends it to Anthropic's Claude API with your own key, and logs the summary. BYOK (bring your own key) — the request goes from your browser directly to Anthropic, never via a third-party proxy. Useful for researchers, journalists, knowledge workers triaging article queues, or anyone tired of context-switching to a chat tab.
How this workflow works
Seven blocks. The first four prepare the page text; the last three handle the AI call.
manual_trigger— Sidepanel Run. Exposes one input:page_url(default Wikipedia's Hummingbird article).targetTab: "new"opens the page in a fresh tab.navigate— Opens{{vars.input.page_url}}.wait_for— Waits up to 15 seconds forbodyto be visible. The selector is intentionally permissive — any page has a body, so this just ensures the document is fully parsed before scraping.get_text— Reads the text content ofbody. This strips HTML tags and returns plain text, available as$('Capture body text').text. For a long Wikipedia article this might be 5-20 KB of text.set_variable— Builds the prompt string:"Summarize the following page in 5 bullet points:\n\n{{$('Capture body text').text}}". Stored invars.prompt. Wrapping the prompt construction in its own step makes it easier to tweak and to inspect via the run log.http_request— POST tohttps://api.anthropic.com/v1/messages. Three headers:x-api-key(sourced fromenv.ANTHROPIC_API_KEY),anthropic-version: 2023-06-01, andcontent-type: application/json. The body uses Anthropic's Messages API shape: modelclaude-haiku-4-5-20251001,max_tokens: 400, and a single user message whose content is the prompt variable — the{{json:vars.prompt}}modifier JSON-escapes the string to prevent quotes inside the page text from breaking the body.timeoutMs: 30000for slow pages.log_data— Writes the full response body (which includes the model's summary text) to the workflow log with labelsummary. Visible in the sidepanel Run history.
A typical run takes 2-6 seconds depending on the page size and Anthropic's response latency. Cost is fractions of a cent at Haiku pricing for normal-length pages.
Customising it for your case
Several useful tweaks.
- Swap the AI provider to OpenAI. Change the
http_request.urltohttps://api.openai.com/v1/chat/completions, swap thex-api-keyheader forAuthorization: Bearer {{env.OPENAI_API_KEY}}, drop theanthropic-versionheader, and reshape the body to OpenAI's format:{"model":"gpt-4o-mini","messages":[{"role":"user","content":{{json:vars.prompt}}}]}. Same pattern, different vendor. - Better summary prompt. Edit the
set_variable.valueto a more specific instruction:"You are a research assistant. Summarize the article below in 5 bullet points. Each bullet should be one short sentence. Skip marketing language and editorial fluff.\n\n{{...}}". Prompt engineering matters more than model choice for short summaries. - Capture main content, not body.
bodyincludes navigation, footers, and sidebars. For cleaner input, replace theget_text.selectorwith something more targeted —article,main,#mw-content-text(Wikipedia), or[role="main"]. Less noise, fewer tokens, lower cost.
Common gotchas
Three to watch. First: very long pages (50K+ words) exceed Claude Haiku's context window or cost a non-trivial amount. The body selector is greedy; truncate via set_variable with a substring like {{$('Capture body text').text}}.slice(0, 20000) before sending. Second: pages behind login (paywalled articles, internal dashboards) return the login page's text — the summary will be of the login form, not the real content. Use the recorder to capture login first, then chain that workflow into this one. Third: env.ANTHROPIC_API_KEY must be set in Settings → Env first. If missing, the request sends with an empty key and returns 401; the workflow logs the error response instead of a summary.
FAQ
Do I need an Anthropic API key? Yes. Sign up at console.anthropic.com, create a key, and add it to Settings → Env as ANTHROPIC_API_KEY. The first $5 of usage is typically free for new accounts.
Does my page text get stored on Anthropic's servers? Per Anthropic's privacy policy, API traffic is not used for training. The text transits Anthropic to generate the response and is retained briefly for abuse monitoring. Read their data policy if you're handling sensitive content.
Why send body text instead of the URL? Anthropic's API doesn't fetch URLs on its own — you have to give it the content. Some other providers (Perplexity, Brave Search MCP) accept URLs directly. Automa and Bardeen handle this identically; the URL-to-text step is required regardless of platform.
Can I batch-summarize 50 articles? Yes. Wrap this workflow in a parent that loops over an array of URLs, calling this one as a sub-workflow. Watch your token spend.