This workflow follows the Gmail → HTTP Request recipe pattern — see all workflows that pair these two integrations.
The workflow JSON
Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →
{
"name": "AI Daily Tech Briefing (Schedule \u2192 RSS \u2192 Anthropic Claude \u2192 Gmail)",
"nodes": [
{
"parameters": {
"rule": {
"interval": [
{
"field": "cronExpression",
"expression": "0 8 * * 1-5"
}
]
}
},
"id": "node-schedule",
"name": "Schedule Trigger",
"type": "n8n-nodes-base.scheduleTrigger",
"typeVersion": 1.2,
"position": [
240,
300
]
},
{
"parameters": {
"url": "https://feeds.feedburner.com/TechCrunch",
"options": {
"itemsLimit": 5
}
},
"id": "node-rss",
"name": "RSS Feed Read",
"type": "n8n-nodes-base.rssFeedRead",
"typeVersion": 1.1,
"position": [
480,
300
]
},
{
"parameters": {
"mode": "runOnceForAllItems",
"jsCode": "const items = $input.all();\nconst headlines = items.map((item, i) =>\n (i + 1) + '. ' + item.json.title\n).join('\\n');\n\n// Escape newlines and quotes so the value is safe inside a JSON string\nconst headlinesEscaped = headlines\n .replace(/\\\\/g, '\\\\\\\\')\n .replace(/\"/g, '\\\\\"')\n .replace(/\\n/g, '\\\\n')\n .replace(/\\r/g, '\\\\r');\n\nreturn [{ json: { headlines: headlines, headlinesEscaped: headlinesEscaped } }];"
},
"id": "node-code",
"name": "Combine Headlines",
"type": "n8n-nodes-base.code",
"typeVersion": 2,
"position": [
720,
300
]
},
{
"parameters": {
"method": "POST",
"url": "https://api.anthropic.com/v1/messages",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"sendHeaders": true,
"headerParameters": {
"parameters": [
{
"name": "x-api-key",
"value": "={{ $credentials.value }}"
},
{
"name": "anthropic-version",
"value": "2023-06-01"
},
{
"name": "content-type",
"value": "application/json"
}
]
},
"sendBody": true,
"specifyBody": "json",
"jsonBody": "{\"model\":\"claude-haiku-4-5-20251001\",\"max_tokens\":700,\"system\":\"You are a friendly tech newsletter writer. Write in a conversational, engaging tone.\",\"messages\":[{\"role\":\"user\",\"content\":\"Write a friendly 3-paragraph daily tech briefing from these headlines. Include a key insight for each.\\n\\nHeadlines:\\n1. OpenAI launches GPT-5 with real-time reasoning capabilities\\n2. Apple unveils Vision Pro 2 with 40% lighter design\\n3. Google DeepMind cracks protein folding for drug discovery\\n4. Microsoft integrates Copilot directly into Windows kernel\\n5. Meta releases open-source AI video generator\"}]}",
"options": {}
},
"id": "node-anthropic",
"name": "Anthropic Claude \u2014 Write Briefing",
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.2,
"position": [
960,
300
],
"credentials": {
"httpHeaderAuth": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"sendTo": "your@email.com",
"subject": "=Your AI Daily Tech Briefing \u2014 {{ $now.format('EEEE, MMMM d') }}",
"emailType": "html",
"message": "=<h2 style='color:#F56040;font-family:sans-serif;'>Your AI Daily Tech Briefing</h2>\n<p style='font-family:sans-serif;font-size:15px;line-height:1.7;'>{{ $json.content[0].text.replace(/\\n/g, '<br>') }}</p>\n<hr>\n<p style='font-family:sans-serif;font-size:12px;color:#888;'>Powered by n8n + Anthropic Claude · {{ $now.toISO() }}</p>",
"options": {}
},
"id": "node-gmail",
"name": "Gmail",
"type": "n8n-nodes-base.gmail",
"typeVersion": 2.1,
"position": [
1200,
300
],
"credentials": {
"gmailOAuth2": {
"name": "<your credential>"
}
}
}
],
"connections": {
"Schedule Trigger": {
"main": [
[
{
"node": "RSS Feed Read",
"type": "main",
"index": 0
}
]
]
},
"RSS Feed Read": {
"main": [
[
{
"node": "Combine Headlines",
"type": "main",
"index": 0
}
]
]
},
"Combine Headlines": {
"main": [
[
{
"node": "Anthropic Claude \u2014 Write Briefing",
"type": "main",
"index": 0
}
]
]
},
"Anthropic Claude \u2014 Write Briefing": {
"main": [
[
{
"node": "Gmail",
"type": "main",
"index": 0
}
]
]
}
},
"active": false,
"settings": {
"executionOrder": "v1"
},
"tags": [
"ai",
"schedule",
"anthropic",
"claude",
"gmail",
"rss",
"tutorial"
]
}
Credentials you'll need
Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.
gmailOAuth2httpHeaderAuth
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
AI Daily Tech Briefing (Schedule → RSS → Anthropic Claude → Gmail). Uses rssFeedRead, httpRequest, gmail. Scheduled trigger; 5 nodes.
Source: https://github.com/shazforiot/n8n-ai-automation-tutorial/blob/main/workflow-ai-newsletter.json — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
This workflow runs every Monday, pulls stories from your chosen RSS feeds, uses OpenAI Chat Completions to draft a grouped HTML newsletter, and saves it as a draft broadcast in Kit (ConvertKit) or ema
Workflow runs at 08:00 (UK), AI stories from TechCrunch, The Verge, and the OpenAI Blog via RSS, AI to select and editorially shape one signal into a post and image prompt, generates and QA-checks a p
Smart Morning Guard: Weather & Train AI Alert. Uses httpRequest, rssFeedRead, googleGemini, gmail. Scheduled trigger; 19 nodes.
AI News and weekly digest. Uses rssFeedRead, httpRequest, openAi, gmail. Scheduled trigger; 15 nodes.
Automatically fetch, rank, and summarize the top financial stories from curated RSS feeds each day, then deliver a concise AI-written digest to Telegram and log the run to Google Sheets. Runs on a dai