This workflow follows the Agent → OpenRouter Chat 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 →
{
"active": false,
"activeVersion": null,
"activeVersionId": null,
"connections": {
"Morning Trigger": {
"main": [
[
{
"node": "Build Context",
"type": "main",
"index": 0
}
]
]
},
"Build Context": {
"main": [
[
{
"node": "Generate Daily Brief",
"type": "main",
"index": 0
}
]
]
},
"Test Manuel": {
"main": [
[
{
"node": "Build Context",
"type": "main",
"index": 0
}
]
]
},
"Generate Daily Brief": {
"main": [
[
{
"node": "Has Brief",
"type": "main",
"index": 0
}
]
]
},
"Claude Sonnet 4.5": {
"ai_languageModel": [
[
{
"node": "Generate Daily Brief",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Brief Schema": {
"ai_outputParser": [
[
{
"node": "Generate Daily Brief",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"Has Brief": {
"main": [
[
{
"node": "Format Brief",
"type": "main",
"index": 0
}
],
[
{
"node": "Skip - Empty Brief",
"type": "main",
"index": 0
}
]
]
}
},
"createdAt": "2026-05-12T10:29:48.995Z",
"id": "kKnMn2ChxBuJTRIb",
"isArchived": false,
"meta": {
"aiBuilderAssisted": true,
"builderVariant": "mcp"
},
"name": "Daily AI Brief",
"nodes": [
{
"parameters": {
"rule": {
"interval": [
{
"field": "cronExpression",
"expression": "0 0 8 * * *"
}
]
}
},
"id": "80b0488f-3568-4825-b065-33c6d6cec8da",
"name": "Morning Trigger",
"type": "n8n-nodes-base.scheduleTrigger",
"typeVersion": 1.3,
"position": [
0,
16
]
},
{
"parameters": {
"assignments": {
"assignments": [
{
"id": "date-iso",
"name": "date",
"type": "string",
"value": "={{ $now.toISO() }}"
},
{
"id": "date-pretty",
"name": "datePretty",
"type": "string",
"value": "={{ $now.toFormat(\"dd LLLL yyyy\") }}"
},
{
"id": "topics",
"name": "topics",
"type": "array",
"value": "={{ [\"IA agents\", \"n8n automation\", \"Claude SDK\", \"RAG\", \"MCP\"] }}"
},
{
"id": "persona",
"name": "persona",
"type": "string",
"value": "Consultant IA et automatisation freelance, fullstack Scala/Angular"
}
]
},
"options": {}
},
"id": "8fe45382-36ed-4939-a4c0-f2839fb3cbdf",
"name": "Build Context",
"type": "n8n-nodes-base.set",
"typeVersion": 3.4,
"position": [
224,
112
]
},
{
"parameters": {},
"id": "e412b4f2-eecf-4056-8a28-8e5c70121c66",
"name": "Test Manuel",
"type": "n8n-nodes-base.manualTrigger",
"typeVersion": 1,
"position": [
0,
208
]
},
{
"parameters": {
"promptType": "define",
"text": "=G\u00e9n\u00e8re un brief tech du {{ $json.datePretty }} pour un {{ $json.persona }}.\n\nSujets \u00e0 couvrir : {{ $json.topics.join(\", \") }}.\n\nBrief court, actionnable, pas de bullshit corporate.",
"hasOutputParser": true,
"options": {
"systemMessage": "Tu es un veilleur tech pragmatique. Tu \u00e9cris des briefs courts, directs, actionnables. Pas de motivation cringe, pas de hedging. Tu privil\u00e9gies les insights concrets aux g\u00e9n\u00e9ralit\u00e9s."
}
},
"id": "96d8feae-a262-480e-b77b-4ce836e7f28d",
"name": "Generate Daily Brief",
"type": "@n8n/n8n-nodes-langchain.agent",
"typeVersion": 2.2,
"position": [
448,
112
]
},
{
"parameters": {
"model": "anthropic/claude-sonnet-4.5",
"options": {
"temperature": 0.4
}
},
"id": "57f8f4aa-c3cd-4843-ae3f-1e9df1cba0c4",
"name": "Claude Sonnet 4.5",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
"typeVersion": 1,
"position": [
448,
336
],
"credentials": {
"openRouterApi": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"jsonSchemaExample": "{\n \"date\": \"22 mai 2026\",\n \"headline\": \"Tendance dominante du jour\",\n \"highlights\": [\n { \"topic\": \"Claude SDK\", \"insight\": \"court insight actionnable\" }\n ],\n \"action_to_consider\": \"Une action concr\u00e8te \u00e0 envisager aujourd'hui\"\n}"
},
"id": "15c2823e-7818-4501-b21d-45d323f21692",
"name": "Brief Schema",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"typeVersion": 1.3,
"position": [
592,
336
]
},
{
"parameters": {
"conditions": {
"options": {
"caseSensitive": true,
"leftValue": "",
"typeValidation": "strict",
"version": 2
},
"conditions": [
{
"id": "output-exists",
"leftValue": "={{ $json.output?.headline }}",
"rightValue": "",
"operator": {
"type": "string",
"operation": "notEmpty",
"singleValue": true
}
}
],
"combinator": "and"
},
"options": {}
},
"id": "905c479e-2587-48b8-8166-11074b375e75",
"name": "Has Brief",
"type": "n8n-nodes-base.if",
"typeVersion": 2.2,
"position": [
800,
112
]
},
{
"parameters": {
"assignments": {
"assignments": [
{
"id": "subject",
"name": "subject",
"type": "string",
"value": "=Daily AI Brief - {{ $json.output.date }}"
},
{
"id": "headline",
"name": "headline",
"type": "string",
"value": "={{ $json.output.headline }}"
},
{
"id": "body",
"name": "body",
"type": "string",
"value": "={{ $json.output.highlights.map(h => \"- \" + h.topic + \" : \" + h.insight).join(\"\\n\") }}\\n\\nAction : {{ $json.output.action_to_consider }}"
}
]
},
"options": {}
},
"id": "7aae3767-709d-405d-9d85-152646cfbb95",
"name": "Format Brief",
"type": "n8n-nodes-base.set",
"typeVersion": 3.4,
"position": [
1024,
16
]
},
{
"parameters": {},
"id": "7585eaa3-aabf-44fd-bd91-db1ae3fe982f",
"name": "Skip - Empty Brief",
"type": "n8n-nodes-base.noOp",
"typeVersion": 1,
"position": [
1024,
208
]
}
],
"settings": {
"executionOrder": "v1",
"binaryMode": "separate",
"availableInMCP": true
},
"shared": [
{
"updatedAt": "2026-05-12T10:29:48.997Z",
"createdAt": "2026-05-12T10:29:48.997Z",
"role": "workflow:owner",
"workflowId": "kKnMn2ChxBuJTRIb",
"projectId": "TBUFy0KozocPEXEX"
}
],
"staticData": null,
"tags": [],
"triggerCount": 0,
"updatedAt": "2026-05-21T15:47:16.503Z",
"versionId": "bd1a4e6a-c5b9-4e81-a67a-4b19d799a798"
}
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.
openRouterApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
Daily AI Brief. Uses agent, lmChatOpenRouter, outputParserStructured. Scheduled trigger; 9 nodes.
Source: https://github.com/thibaud57/n8n-backups/blob/0b2c44384eab28add0604966d9663179e4bbd64a/workflows/kKnMn2ChxBuJTRIb.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.
Complete PostgreSQL-backed system: Keyword scoring → AI research → Multi-part content generation → fal.ai Nano Banana image generation → WordPress publishing
This n8n workflow turns a script and character/setting description from Google Sheets into a complete stitched UGC-style video ad, fully automated from intake to final delivery.
This cutting-edge n8n workflow is a comprehensive automation solution designed to streamline various Instagram operations. It combines an intelligent AI chatbot for direct message management, automate
Viral Video Agent. Uses lmChatOpenRouter, httpRequest, googleSheets, googleDrive. Scheduled trigger; 44 nodes.
Author: Jadai Kongolo