Simple Workflow Not Sending RSS Feed to Email Recipient

<I created a simple workflow that executes each know successfully. There is a Trigger node, a RSS node, a Function node, and a Gmail Send node. All execute properly. However, when the email is sent it does not contain the content of the RSS feed. I am new to automation and 8n8. I would like some help solving this problem.

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

Hi,

Are you sending RSS articles in Email? Please verify the articles attached properly. If you are able to share it, please share.

Thank you.

Function script:
let body = items.map(item => {
return 📰 ${item.json.title} Date: ${item.json.pubDate} Link: ${item.json.link} Summary: ${item.json.contentSnippet}\n;
}).join(“\n----------------------\n”);

return [{
json: {
subject: “Daily RSS Digest”,
body: body
}
}];

OUTPUT

{

“subject”: “Daily RSS Digest”,

“body”: ":newspaper: Three Americans killed by IS gunman in Syria, US military says\nDate: Sat, 13 Dec 2025 21:42:05

Subject Expression:
{{ $json[“subject”] }}

Message Expression:

{{ $json[“body”] }}

I created a sample workflow, and it looks like this. Let me know if this works for you or not.

Ridham, you nailed it. The workflow executed properly. I added the Schedule Trigger so that it executes at a specific time each day. Now, I need to add a place the results of the RSS feed into a QR code that is sent as part of the email message.

You can use a third-party tool to create a QR code and attach it to an email.

If you are satisfied with this answer, make it like :wink:

1 Like

I introduced a Chat Model into the workflow that has caused the “Send a message node” to fail. What can you tell me about the problem.

{
“nodes”: [
{
“parameters”: {
“url”: “https://www.latimes.com/rss2.0.xml”,
“options”: {}
},
“type”: “n8n-nodes-base.httpRequest”,
“typeVersion”: 4.2,
“position”: [
-32,
-16
],
“id”: “6bdde7b0-5057-41ec-85e7-4df042fe43f8”,
“name”: “HTTP Request”
},
{
“parameters”: {
“jsCode”: “const items = $json.rss.channel.item;\n\n// Subject (email / notification title)\nconst subject = 🗞️ Los Angeles Times – Top Stories (${items.length});\n\n// Body (formatted content)\nconst body = items\n .map(i => {\n return 📰 ${i.title}\n📅 Date: ${i.pubDate}\n🔗 Link: ${i.link}\n📝 Summary: ${i.description || \"No summary available.\"};\n })\n .join(“\n----------------------\n”);\n\nreturn {\n subject,\n body\n};\n”
},
“type”: “n8n-nodes-base.code”,
“typeVersion”: 2,
“position”: [
496,
-16
],
“id”: “76cb4ba1-fa93-4dc6-815e-7b1130de05a3”,
“name”: “Code in JavaScript”
},
{
“parameters”: {
“options”: {}
},
“type”: “n8n-nodes-base.xml”,
“typeVersion”: 1,
“position”: [
224,
-16
],
“id”: “e396620b-b27d-413a-9ab4-476a7894e5fc”,
“name”: “XML”
},
{
“parameters”: {
“sendTo”: “[email protected]”,
“subject”: “={{ $json.subject }}”,
“message”: “={{ $json.body }}”,
“options”: {}
},
“type”: “n8n-nodes-base.gmail”,
“typeVersion”: 2.2,
“position”: [
960,
-16
],
“id”: “56088d45-7c89-46b8-b878-831cd637d750”,
“name”: “Send a message”,
“webhookId”: “517ab58f-3fa7-49b8-8248-9d63f9ba57cf”,
“credentials”: {
“gmailOAuth2”: {
“id”: “pWEHJlygu02xRHrD”,
“name”: “Gmail account”
}
}
},
{
“parameters”: {
“rule”: {
“interval”: [
{
“triggerAtHour”: 10
}
]
}
},
“type”: “n8n-nodes-base.scheduleTrigger”,
“typeVersion”: 1.3,
“position”: [
-272,
-16
],
“id”: “4981463f-9112-4017-942f-1a56824bbb11”,
“name”: “Schedule Trigger”
},
{
“parameters”: {
“resource”: “conversation”,
“messages”: {
“values”: [
{
“content”: “Extract only the Political feed. Summary the feed into two short paragraphs.”
}
]
},
“options”: {}
},
“type”: “@n8n/n8n-nodes-langchain.openAi”,
“typeVersion”: 2.1,
“position”: [
752,
-16
],
“id”: “9e52c79a-c5fb-4ec9-b130-2a07880a47b8”,
“name”: “Create a conversation”,
“credentials”: {
“openAiApi”: {
“id”: “AqdHsqaD7KAzqcCh”,
“name”: “OpenAi account”
}
}
}
],
“connections”: {
“HTTP Request”: {
“main”: [
[
{
“node”: “XML”,
“type”: “main”,
“index”: 0
}
]
]
},
“Code in JavaScript”: {
“main”: [
[
{
“node”: “Create a conversation”,
“type”: “main”,
“index”: 0
}
]
]
},
“XML”: {
“main”: [
[
{
“node”: “Code in JavaScript”,
“type”: “main”,
“index”: 0
}
]
]
},
“Schedule Trigger”: {
“main”: [
[
{
“node”: “HTTP Request”,
“type”: “main”,
“index”: 0
}
]
]
},
“Create a conversation”: {
“main”: [
[
{
“node”: “Send a message”,
“type”: “main”,
“index”: 0
}
]
]
}
},
“pinData”: {
“Schedule Trigger”: [
{
“timestamp”: “2025-12-14T09:51:38.920-07:00”,
“Readable date”: “December 14th 2025, 9:51:38 am”,
“Readable time”: “9:51:38 am”,
“Day of week”: “Sunday”,
“Year”: “2025”,
“Month”: “December”,
“Day of month”: “14”,
“Hour”: “09”,
“Minute”: “51”,
“Second”: “38”,
“Timezone”: “America/Denver (UTC-07:00)”
}
]
},
“meta”: {
“templateCredsSetupCompleted”: true,
“instanceId”: “4567fa71b28ea17c45372a0f54e7598436eb25b08b2fa3b5c76d73844886c42c”
}
}

Ridham, with the help if the built in AI tool in n8n, I was able to get the workflow to work properly. Thanks again for all of you help.

You are welcome :slight_smile:

Ridham, I can use your help again. I am executing a template that automatically generates and posts AI videos from text prompts. The workflow errored out when “Retrieving Final Video URL from Veo3” using Fal.ai. Based on the Get request in the Fal.ai instructions, I imported the following cURL into n8n. However, it failed to execute.

curl --request GET \
–url https://queue.fal.run/fal-ai/veo3/requests/$REQUEST_ID \
–header “Authorization: Key $FAL_KEY”

Here is the URL that the cURL import generated: https://queue.fal.run/fal-ai/veo3/requests/$REQUEST_ID

Here is the resulting error message:

Problem in node ‘Retrieve Final Video URL from Veo3‘

The resource you are requesting could not be found