Automatisation d'un résumé Reddit de style Morning Brew et publication sur DEV

Avancé

Ceci est unAI Summarization, Multimodal AIworkflow d'automatisation du domainecontenant 26 nœuds.Utilise principalement des nœuds comme If, Set, Wait, Gmail, Markdown. Utiliser AI pour automatiser un résumé de style Morning Brew pour Reddit et le publier sur DEV

Prérequis
  • Compte Google et informations d'identification Gmail API
  • Peut nécessiter les informations d'identification d'authentification de l'API cible
  • Clé API OpenAI
  • Clé API Google Gemini
Aperçu du workflow
Visualisation des connexions entre les nœuds, avec support du zoom et du déplacement
Exporter le workflow
Copiez la configuration JSON suivante dans n8n pour importer et utiliser ce workflow
{
  "meta": {
    "instanceId": "a96ce695b95a8d0373d0f6e4718fa38b0e9bcf8446b99d351d0c5da3f156c7e5",
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "7c36980c-0a71-4508-a4a6-af397d6b4d1d",
      "name": "RSS Read",
      "type": "n8n-nodes-base.rssFeedRead",
      "position": [
        240,
        152
      ],
      "parameters": {
        "url": "https://www.reddit.com/r/n8n.rss",
        "options": {}
      },
      "typeVersion": 1.2
    },
    {
      "id": "50ee913e-46bc-46e2-9416-97198faba1e3",
      "name": "Initiate batch extraction from URL",
      "type": "@brightdata/n8n-nodes-brightdata.brightData",
      "position": [
        912,
        152
      ],
      "parameters": {
        "urls": "={{ $json.data.toJsonString() }}",
        "resource": "webScrapper",
        "operation": "triggerCollectionByUrl",
        "dataset_id": {
          "__rl": true,
          "mode": "list",
          "value": "gd_lvz8ah06191smkebj4",
          "cachedResultName": "Reddit- Posts"
        },
        "requestOptions": {}
      },
      "credentials": {
        "brightdataApi": {
          "id": "4iwoUulbxZ1WHLdz",
          "name": "Angel BrightData account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "bd35cd68-270a-46eb-b05d-e698d344bf02",
      "name": "Extract URLs",
      "type": "n8n-nodes-base.set",
      "position": [
        464,
        152
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "11be4491-e850-4cec-8401-45592419e30f",
              "name": "url",
              "type": "string",
              "value": "={{ $json.link }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "42f27a49-f950-4759-b433-a13e765facea",
      "name": "Agréger URLs to Single Object",
      "type": "n8n-nodes-base.aggregate",
      "position": [
        688,
        152
      ],
      "parameters": {
        "options": {},
        "aggregate": "aggregateAllItemData"
      },
      "typeVersion": 1
    },
    {
      "id": "92ce2ec2-8f63-4dbf-85ed-c5be766d6710",
      "name": "Boucler sur les éléments",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        1136,
        152
      ],
      "parameters": {
        "options": {
          "reset": true
        }
      },
      "typeVersion": 3
    },
    {
      "id": "08eee5cc-dc09-46f3-b71f-728307d0d44e",
      "name": "Check Snapshot Again for Success",
      "type": "n8n-nodes-base.noOp",
      "position": [
        1984,
        256
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "5056bdbc-6332-4121-8b9f-d4bca6d76a9e",
      "name": "Check the status of a batch extraction",
      "type": "@brightdata/n8n-nodes-brightdata.brightData",
      "position": [
        1360,
        160
      ],
      "parameters": {
        "resource": "webScrapper",
        "operation": "monitorProgressSnapshot",
        "snapshot_id": "={{ $json.snapshot_id }}",
        "requestOptions": {}
      },
      "credentials": {
        "brightdataApi": {
          "id": "4iwoUulbxZ1WHLdz",
          "name": "Angel BrightData account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "dc15490e-93cd-4e23-9531-0874b6a72630",
      "name": "Check if Batch Ready",
      "type": "n8n-nodes-base.if",
      "position": [
        1584,
        160
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "f5deab49-ea1c-456b-b61a-5458adf991a5",
              "operator": {
                "name": "filter.operator.equals",
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json.status }}",
              "rightValue": "ready"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "4ed4650b-2fda-4f85-802c-9824f1e6572c",
      "name": "Attendre 5 seconds",
      "type": "n8n-nodes-base.wait",
      "position": [
        1808,
        256
      ],
      "webhookId": "31ec9024-cef1-4995-82b2-d26360460782",
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "10df46b5-a8d3-4281-8771-37b01f717fc2",
      "name": "Download the snapshot content",
      "type": "@brightdata/n8n-nodes-brightdata.brightData",
      "position": [
        2224,
        144
      ],
      "parameters": {
        "resource": "webScrapper",
        "operation": "downloadSnapshot",
        "snapshot_id": "={{ $json.snapshot_id }}",
        "requestOptions": {}
      },
      "credentials": {
        "brightdataApi": {
          "id": "4iwoUulbxZ1WHLdz",
          "name": "Angel BrightData account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "87c4f679-17a4-4e08-a06b-be2fcb67a6fe",
      "name": "Extract Essential Data",
      "type": "n8n-nodes-base.set",
      "position": [
        2448,
        144
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "e30d65f3-a6be-4df2-8672-2f69633f9296",
              "name": "title",
              "type": "string",
              "value": "={{ $json.title }}"
            },
            {
              "id": "cc932518-35b3-42cc-9ed7-76b695c5607a",
              "name": "description",
              "type": "string",
              "value": "={{ $json.description }}"
            },
            {
              "id": "3cd26612-27f6-4d31-bfe0-7075d2c05a44",
              "name": "comments",
              "type": "array",
              "value": "={{ $json.comments }}"
            },
            {
              "id": "54b22b70-0c4c-4e68-975b-77fbf2112ede",
              "name": "post_id",
              "type": "string",
              "value": "={{ $json.post_id }}"
            },
            {
              "id": "189999eb-6f59-4810-be8f-dfd1f7f01ef5",
              "name": "url",
              "type": "string",
              "value": "={{ $json.url }}"
            },
            {
              "id": "332a53a2-4182-4490-adc3-1a87426c0ba1",
              "name": "num_upvotes",
              "type": "number",
              "value": "={{ $json.num_upvotes }}"
            },
            {
              "id": "2754e3a3-ee58-4c75-ae8c-296f4c1249a0",
              "name": "num_comments",
              "type": "number",
              "value": "={{ $json.num_comments }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "4e8af0c1-ebcb-4e2b-af25-46ba8800c946",
      "name": "Reduce Objects to 1",
      "type": "n8n-nodes-base.set",
      "position": [
        2672,
        144
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "00bbe5d7-c761-422c-a542-b32c0f59fd47",
              "name": "postdata",
              "type": "string",
              "value": "=Title: {{ $json.title }}\nDescription: {{ $json.description }}\nURL: {{ $json.url }}\nUpvotes: {{ $json.num_upvotes }}\nComment Count: {{ $json.num_comments }}\nComments: {{ $jmespath($json.comments, '[].{comment: comment, replies: replies[].reply}') \n   .map(item => ({\n     comment: item.comment || '',\n     replies: (item.replies || []).filter(r => r !== null)\n   })) \n   .toJsonString() }}\n"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "55eebf96-e009-4bb2-a1c2-d10666f5f8cb",
      "name": "Agréger",
      "type": "n8n-nodes-base.aggregate",
      "position": [
        2896,
        144
      ],
      "parameters": {
        "options": {},
        "fieldsToAggregate": {
          "fieldToAggregate": [
            {
              "fieldToAggregate": "postdata"
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "id": "9a8564aa-17d8-45ae-867b-5062df316301",
      "name": "Agent IA",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        3232,
        112
      ],
      "parameters": {
        "text": "={{ $json.postdata.join('\\n\\n') }}",
        "options": {
          "systemMessage": "You are an editorial AI that turns a daily bundle of Reddit posts into a Morning Brew–style email newsletter in clean, inline-styled HTML (NO markdown, NO scripts, NO external CSS).\n\nGOAL\n- Produce a single HTML document, 600px max content width, mobile-friendly, with clearly labeled sections.\n- Voice: brisk, witty-but-professional, informative > clever. One smart joke per issue max.\n- Keep paragraphs short (1–3 sentences). Use bullets for scannability.\n\nINPUT\n- You receive `POSTS_JSON`: an array of objects. Each object has a single string field `postdata` that includes lines like:\n  - \"Title: …\"\n  - \"Description: …\"\n  - \"URL: …\"\n  - \"Upvotes: …\"\n  - \"Comment Count: …\"\n  - \"Comments: …\" where Comments may be empty, null, or a JSON string representing an array of `{comment: string, replies?: string[]}` OR an array of `{comment, replies}` already.\n- Treat missing/empty values as null/empty.\n- Strip boilerplate tokens like \"Read more\", \"View in app\".\n\nNORMALIZATION\n1) For each item, parse `postdata` into fields:\n   - title (string)\n   - description (string; trim whitespace; collapse repeated spaces)\n   - url (string; must be absolute)\n   - upvotes (integer; default 0)\n   - comment_count (integer; default 0)\n   - comments (array of strings). If Comments is:\n     - empty/missing → []\n     - JSON string → parse; flatten to strings: comment + all replies\n     - JSON array → flatten to strings: comment + replies\n2) Deduplicate by `url` (keep the highest (upvotes + comment_count) one).\n3) Score each post for ranking:\n   - score = upvotes*3 + comment_count*2\n   - Tie-breakers: longer, clearer descriptions win; then alphabetical by title.\n\nSECTIONS & COUNTS\n- Hero / Top Stories: top 3 by score (or fewer if <3 posts).\n- Quick Hits: next 5–8 items by score, single-sentence summaries.\n- Community Q&A: up to 3 items that are explicitly asking for help/feedback (detect with question marks, words like “how”, “help”, “anyone”, “ideas”, “what’s the best”, etc.).\n- Comment Spotlight: 3–5 notable comments (most informative/representative) across ALL posts, trimmed to ≤200 chars each with ellipses if needed; include a source link to the parent post.\n- If a section has no items, omit the section entirely—do not render empty headings.\n\nWRITING RULES\n- For Top Stories, each card includes:\n  - Title (linked)\n  - 1–2 sentence summary in your voice\n  - \"Why it matters\" (1–3 crisp bullets)\n  - \"By the numbers\" (optional; only if numeric facts exist)\n  - CTA link: “Discuss on r/n8n →”\n- For Quick Hits, 1 sentence + link.\n- For Community Q&A, surface the question in a bolded lead-in, then 1 sentence of context + link.\n- For Comment Spotlight, present the trimmed comment text in quotes plus a small source line with the post title linked.\n\nSTYLE & TONE\n- Morning Brew vibe: skimmable, concrete, conversational; avoid hype, avoid over-clever puns.\n- No first-person singular from the writer (“I”), use newsletter “we” sparingly.\n- Avoid speculation; stick to what’s in the source text.\n- Never fabricate links or numbers.\n\nHTML REQUIREMENTS\n- Output ONLY one complete HTML file. No JSON. No markdown.\n- Use a 100% width wrapper table and a centered 600px container table for email compatibility.\n- All styles must be inline; use system fonts.\n- Include a simple header with newsletter name and date, a nav row (Top Stories • Quick Hits • Community Q&A • Comment Spotlight) that anchors to sections if they exist.\n- Make links obvious and accessible (underline; target not set).\n- Sanitize all text: escape HTML special characters in titles/descriptions/comments.\n\nVARIABLES\n- If provided, use:\n  - {{newsletter_name}} (default: \"Automation Brew\")\n  - {{issue_date}} in America/Phoenix; format: \"Tuesday, August 19, 2025\"\n- If not provided, compute current date in America/Phoenix and format as above.\n\nTRIMMING & CLEANUP\n- Trim descriptions to ~50–80 words for Top Stories; ~25–35 words for Quick Hits.\n- Remove trailing boilerplate phrases (“Read more”, “View in app”, “View in app Read more”).\n- Collapse repeated whitespace/newlines in comments.\n- When comments exceed 200 chars in Spotlight, trim at a word boundary and append “…”.\n\nACCESSIBILITY\n- Ensure sufficient contrast; include `alt` text on decorative dividers as empty `alt=\"\"`.\n- Use semantic headings (`<h1>`, `<h2>`) but keep inline styles for email.\n\nERROR/FALLBACK\n- If `POSTS_JSON` is empty or cannot be parsed, render a minimal HTML with the header and a single “No new posts today” card and a link to r/n8n.\n\nOUTPUT TEMPLATE (fill with real content; remove any empty sections entirely)\n\n<!doctype html>\n<html>\n  <body style=\"margin:0;padding:0;background:#f6f7fb;\">\n    <table role=\"presentation\" width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" style=\"background:#f6f7fb;\">\n      <tr><td align=\"center\">\n        <table role=\"presentation\" width=\"600\" cellpadding=\"0\" cellspacing=\"0\" style=\"width:600px;max-width:600px;background:#ffffff;border-radius:8px;overflow:hidden;margin:24px 12px;\">\n          <!-- Header -->\n          <tr><td style=\"padding:20px 24px;border-bottom:1px solid #eee;\">\n            <h1 style=\"margin:0;font-family:Arial,Helvetica,sans-serif;font-size:22px;line-height:1.3;color:#111;\">\n              {{newsletter_name}}\n            </h1>\n            <div style=\"margin-top:4px;font-family:Arial,Helvetica,sans-serif;font-size:13px;color:#555;\">\n              {{issue_date}}\n            </div>\n          </td></tr>\n\n          <!-- Nav (render only if multiple sections present) -->\n          <tr><td style=\"padding:12px 24px;border-bottom:1px solid #eee;\">\n            <div style=\"font-family:Arial,Helvetica,sans-serif;font-size:13px;color:#333;\">\n              <!-- Conditionally include anchors that exist -->\n              <a href=\"#top-stories\" style=\"color:#1a73e8;text-decoration:underline;margin-right:12px;\">Top Stories</a>\n              <a href=\"#quick-hits\" style=\"color:#1a73e8;text-decoration:underline;margin-right:12px;\">Quick Hits</a>\n              <a href=\"#community-qa\" style=\"color:#1a73e8;text-decoration:underline;margin-right:12px;\">Community Q&A</a>\n              <a href=\"#comment-spotlight\" style=\"color:#1a73e8;text-decoration:underline;\">Comment Spotlight</a>\n            </div>\n          </td></tr>\n\n          <!-- Top Stories -->\n          <tr id=\"top-stories\"><td style=\"padding:16px 24px;\">\n            <h2 style=\"margin:8px 0 12px;font-family:Arial,Helvetica,sans-serif;font-size:18px;color:#111;\">Top Stories</h2>\n\n            <!-- Repeat for each top story -->\n            <!-- STORY CARD -->\n            <!--\n            <table role=\"presentation\" width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" style=\"margin-bottom:16px;border:1px solid #eee;border-radius:8px;\">\n              <tr><td style=\"padding:14px 16px;\">\n                <a href=\"POST_URL\" style=\"font-family:Arial,Helvetica,sans-serif;font-size:16px;color:#1a73e8;text-decoration:underline;font-weight:bold;\">POST_TITLE</a>\n                <div style=\"font-family:Arial,Helvetica,sans-serif;font-size:14px;color:#222;margin-top:6px;\">SUMMARY_SENTENCES</div>\n                <div style=\"font-family:Arial,Helvetica,sans-serif;font-size:13px;color:#111;margin-top:10px;font-weight:bold;\">Why it matters</div>\n                <ul style=\"padding-left:18px;margin:6px 0 0;font-family:Arial,Helvetica,sans-serif;font-size:13px;color:#333;\">\n                  <li>BULLET_1</li>\n                  <li>BULLET_2</li>\n                  <!-- Optional\n                  <li>BULLET_3</li> -->\n                </ul>\n                <!-- Optional By the numbers -->\n                <!-- <div style=\"font-family:Arial,Helvetica,sans-serif;font-size:13px;color:#111;margin-top:10px;font-weight:bold;\">By the numbers</div>\n                <ul style=\"padding-left:18px;margin:6px 0 0;font-family:Arial,Helvetica,sans-serif;font-size:13px;color:#333;\">\n                  <li>Upvotes: N • Comments: M</li>\n                </ul> -->\n                <div style=\"margin-top:10px;\">\n                  <a href=\"POST_URL\" style=\"font-family:Arial,Helvetica,sans-serif;font-size:13px;color:#1a73e8;text-decoration:underline;\">Discuss on r/n8n →</a>\n                </div>\n              </td></tr>\n            </table>\n            -->\n          </td></tr>\n\n          <!-- Quick Hits -->\n          <tr id=\"quick-hits\"><td style=\"padding:8px 24px 16px;\">\n            <h2 style=\"margin:8px 0 12px;font-family:Arial,Helvetica,sans-serif;font-size:18px;color:#111;\">Quick Hits</h2>\n            <ul style=\"padding-left:18px;margin:0;font-family:Arial,Helvetica,sans-serif;font-size:14px;color:#222;\">\n              <!-- Repeat per item -->\n              <!-- <li>ONE_SENTENCE_SUMMARY <a href=\"POST_URL\" style=\"color:#1a73e8;text-decoration:underline;\">link</a></li> -->\n            </ul>\n          </td></tr>\n\n          <!-- Community Q&A -->\n          <tr id=\"community-qa\"><td style=\"padding:8px 24px 16px;\">\n            <h2 style=\"margin:8px 0 12px;font-family:Arial,Helvetica,sans-serif;font-size:18px;color:#111;\">Community Q&amp;A</h2>\n            <!-- Repeat per item -->\n            <!--\n            <div style=\"margin-bottom:12px;\">\n              <div style=\"font-family:Arial,Helvetica,sans-serif;font-size:14px;color:#111;font-weight:bold;\">QUESTION_HEADLINE</div>\n              <div style=\"font-family:Arial,Helvetica,sans-serif;font-size:14px;color:#222;margin-top:4px;\">ONE_SENTENCE_CONTEXT <a href=\"POST_URL\" style=\"color:#1a73e8;text-decoration:underline;\">Join the thread →</a></div>\n            </div>\n            -->\n          </td></tr>\n\n          <!-- Comment Spotlight -->\n          <tr id=\"comment-spotlight\"><td style=\"padding:8px 24px 24px;\">\n            <h2 style=\"margin:8px 0 12px;font-family:Arial,Helvetica,sans-serif;font-size:18px;color:#111;\">Comment Spotlight</h2>\n            <!-- Repeat per comment -->\n            <!--\n            <div style=\"margin-bottom:10px;\">\n              <div style=\"font-family:Arial,Helvetica,sans-serif;font-size:14px;color:#222;\">“TRIMMED_COMMENT_TEXT…”</div>\n              <div style=\"font-family:Arial,Helvetica,sans-serif;font-size:12px;color:#666;margin-top:2px;\">From <a href=\"POST_URL\" style=\"color:#1a73e8;text-decoration:underline;\">POST_TITLE</a></div>\n            </div>\n            -->\n          </td></tr>\n\n          <!-- Footer -->\n          <tr><td style=\"padding:18px 24px;border-top:1px solid #eee;background:#fafbff;\">\n            <div style=\"font-family:Arial,Helvetica,sans-serif;font-size:12px;color:#666;line-height:1.5;\">\n              You’re receiving this because you subscribed to daily r/n8n highlights.\n              Content summarized from public Reddit posts. Links go to Reddit.\n            </div>\n          </td></tr>\n        </table>\n      </td></tr>\n    </table>\n  </body>\n</html>\n\nPROCESS\n1) Parse → normalize → dedupe → score.\n2) Select Top Stories (3), then Quick Hits (5–8), then Community Q&A (up to 3 based on question-ness).\n3) Build Comment Spotlight by scanning all comments for informative remarks (exclude reminders, bots, and “please share” spam).\n4) Write summaries and bullets following the rules.\n5) Render the HTML template, omitting sections with no content.\n6) Output only the final HTML.\n"
        },
        "promptType": "define",
        "needsFallback": true
      },
      "typeVersion": 2.2
    },
    {
      "id": "b982de15-e810-4790-ba9a-17ac85aa74ec",
      "name": "Modèle de chat OpenAI",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        3184,
        336
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-5",
          "cachedResultName": "gpt-5"
        },
        "options": {
          "timeout": 30000
        }
      },
      "credentials": {
        "openAiApi": {
          "id": "SJosnTvSH04BmvxV",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "b4d15d5e-0953-42cf-b693-80e9ed5a856d",
      "name": "Send a message",
      "type": "n8n-nodes-base.gmail",
      "position": [
        3712,
        96
      ],
      "webhookId": "8acb67e2-6fd6-4e52-a087-70a416a61685",
      "parameters": {
        "sendTo": "angel@n8n.io",
        "message": "={{ $json.output }}",
        "options": {},
        "subject": "Daily Digest "
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "tQI1jhxlWFNaGFgm",
          "name": "Gmail account"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "0489905c-68c8-4aad-9871-3844fb20dfb6",
      "name": "Modèle de chat Google Gemini",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        3312,
        336
      ],
      "parameters": {
        "options": {}
      },
      "credentials": {
        "googlePalmApi": {
          "id": "jEvOQHKuwak5oaj7",
          "name": "Google Gemini(PaLM) Api account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "a23a7427-dcd5-446e-a6e5-df823dc4dc99",
      "name": "Déclencheur planifié",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        16,
        152
      ],
      "parameters": {
        "rule": {
          "interval": [
            {}
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "b4060c87-d977-4a04-8200-270724248ca6",
      "name": "Markdown",
      "type": "n8n-nodes-base.markdown",
      "position": [
        3712,
        320
      ],
      "parameters": {
        "html": "={{ $json.output }}",
        "options": {},
        "destinationKey": "markdown"
      },
      "typeVersion": 1
    },
    {
      "id": "8e6c8267-c2b4-4d23-8ee1-0e8728e84ef0",
      "name": "Publish to Dev.to",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        3936,
        320
      ],
      "parameters": {
        "url": "https://dev.to/api/articles",
        "method": "POST",
        "options": {},
        "jsonBody": "={{ (() => {\n  let s = $json.markdown ?? '';\n  if (typeof s !== 'string') s = String(s ?? '');\n\n  if (/\\\\[nrt`]/.test(s)) {\n    s = s.replace(/\\\\r\\\\n/g,'\\n').replace(/\\\\n/g,'\\n').replace(/\\\\t/g,'\\t').replace(/\\\\`/g,'`');\n  }\n\n  s = s.replace(/^\\s*(?:```[^\\n]*\\n|\\\\`\\\\`\\\\`[^\\n]*\\n)/, '');\n  s = s.replace(/(?:\\n)?(?:```+|\\\\`\\\\`\\\\`+)\\s*$/, '');\n  s = s.replace(/\\r\\n/g,'\\n');\n\n  s = s.replace(/^(?:\\s*\\|?\\s*[-:| ]+)+\\s*$/gm,'');\n  s = s.replace(/^\\s*\\|\\s?/gm,'');\n  s = s.replace(/\\s+\\|\\s+/g,' • ');\n\n  s = s.replace(/(^|\\n)\\s*(Top Stories|Quick Hits|Community Q&A|Comment Spotlight)\\s*(?=\\n|$)/g, '\\n## $2\\n');\n\n  s = s.replace(/(^|\\n)\\s*\\[([^\\]]+)\\]\\(([^)]+)\\)/g, '\\n### [$2]($3)\\n');\n\n  s = s.replace(/\\bWhy it matters\\b/g, '\\n\\n**Why it matters**\\n');\n  s = s.replace(/\\bBy the numbers\\b/g, '\\n\\n**By the numbers**\\n');\n\n  s = s.replace(/\\)\\s+(?=\\[)/g, ')\\n\\n[');\n  s = s.replace(/(^|\\n)(#{1,6}\\s+[^\\n]+)\\n(?!\\n)/g, '$1$2\\n\\n');\n  s = s.replace(/\\n{3,}/g,'\\n\\n').trim();\n\n  return {\n    article: {\n      title: `Reddit Daily Digest n8n Summary for ${$now.format('MM-dd-yyyy')} Workflow`,\n      body_markdown: s,\n      published: true,\n      description: 'A daily digest of n8n reddit posts for today.',\n      tags: ['n8n']\n    }\n  };\n})() }}",
        "sendBody": true,
        "sendHeaders": true,
        "specifyBody": "json",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpCustomAuth",
        "headerParameters": {
          "parameters": [
            {
              "name": "Content-type",
              "value": "application/json"
            }
          ]
        }
      },
      "credentials": {
        "httpCustomAuth": {
          "id": "ayqX3eoZRFcMUTnB",
          "name": "Dev To"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "efbe61ff-2919-4abb-a16d-5ec7ec9194b9",
      "name": "Note adhésive",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -16,
        0
      ],
      "parameters": {
        "color": 7,
        "width": 864,
        "height": 480,
        "content": "## Get most recent reddit posts"
      },
      "typeVersion": 1
    },
    {
      "id": "5282cddd-0290-460a-b428-d83bbf36f204",
      "name": "Note adhésive1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        864,
        0
      ],
      "parameters": {
        "color": 7,
        "width": 1504,
        "height": 480,
        "content": "## Pass Posts to Bright Data to get comment and upvote data"
      },
      "typeVersion": 1
    },
    {
      "id": "6dd01817-fea1-4a81-85c7-6c6b6fe32aa3",
      "name": "Note adhésive2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2384,
        0
      ],
      "parameters": {
        "color": 7,
        "width": 640,
        "height": 480,
        "content": "## Prep output for LLM"
      },
      "typeVersion": 1
    },
    {
      "id": "6b916ef9-aa05-4e70-8d46-d84fe839126f",
      "name": "Note adhésive3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3040,
        0
      ],
      "parameters": {
        "color": 7,
        "width": 544,
        "height": 480,
        "content": "## Convert posts to summary"
      },
      "typeVersion": 1
    },
    {
      "id": "f1c9c7f9-c43d-4b7b-b890-33fdbfd59f84",
      "name": "Note adhésive4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3600,
        0
      ],
      "parameters": {
        "color": 7,
        "width": 384,
        "height": 240,
        "content": "## Send HTML email newsletter"
      },
      "typeVersion": 1
    },
    {
      "id": "e7f15b40-9c0b-4ac0-bb46-b5739ae413cc",
      "name": "Note adhésive5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3600,
        256
      ],
      "parameters": {
        "color": 7,
        "width": 560,
        "height": 224,
        "content": "## Convert and Post to Dev.to"
      },
      "typeVersion": 1
    }
  ],
  "pinData": {
    "AI Agent": [
      {
        "output": "```html\n<!doctype html>\n<html>\n  <body style=\"margin:0;padding:0;background:#f6f7fb;\">\n    <table role=\"presentation\" width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" style=\"background:#f6f7fb;\">\n      <tr><td align=\"center\">\n        <table role=\"presentation\" width=\"600\" cellpadding=\"0\" cellspacing=\"0\" style=\"width:600px;max-width:600px;background:#ffffff;border-radius:8px;overflow:hidden;margin:24px 12px;\">\n          <!-- Header -->\n          <tr><td style=\"padding:20px 24px;border-bottom:1px solid #eee;\">\n            <h1 style=\"margin:0;font-family:Arial,Helvetica,sans-serif;font-size:22px;line-height:1.3;color:#111;\">\n              Automation Brew\n            </h1>\n            <div style=\"margin-top:4px;font-family:Arial,Helvetica,sans-serif;font-size:13px;color:#555;\">\n              Friday, May 17, 2024\n            </div>\n          </td></tr>\n\n          <!-- Nav -->\n          <tr><td style=\"padding:12px 24px;border-bottom:1px solid #eee;\">\n            <div style=\"font-family:Arial,Helvetica,sans-serif;font-size:13px;color:#333;\">\n              <a href=\"#top-stories\" style=\"color:#1a73e8;text-decoration:underline;margin-right:12px;\">Top Stories</a>\n              <a href=\"#quick-hits\" style=\"color:#1a73e8;text-decoration:underline;margin-right:12px;\">Quick Hits</a>\n              <a href=\"#community-qa\" style=\"color:#1a73e8;text-decoration:underline;margin-right:12px;\">Community Q&amp;A</a>\n              <a href=\"#comment-spotlight\" style=\"color:#1a73e8;text-decoration:underline;\">Comment Spotlight</a>\n            </div>\n          </td></tr>\n\n          <!-- Top Stories -->\n          <tr id=\"top-stories\"><td style=\"padding:16px 24px;\">\n            <h2 style=\"margin:8px 0 12px;font-family:Arial,Helvetica,sans-serif;font-size:18px;color:#111;\">Top Stories</h2>\n\n            <!-- STORY CARD 1 -->\n            <table role=\"presentation\" width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" style=\"margin-bottom:16px;border:1px solid #eee;border-radius:8px;\">\n              <tr><td style=\"padding:14px 16px;\">\n                <a href=\"https://www.reddit.com/r/n8n/comments/1mtv9re/i_built_a_personal_ai_assistant_that_runs_my_life/\" style=\"font-family:Arial,Helvetica,sans-serif;font-size:16px;color:#1a73e8;text-decoration:underline;font-weight:bold;\">I Built a Personal AI Assistant That Runs My Life Through WhatsApp, Powered by n8n and a Self-Hosted LLM</a>\n                <div style=\"font-family:Arial,Helvetica,sans-serif;font-size:14px;color:#222;margin-top:6px;\">A user shares a comprehensive AI assistant built with n8n that manages daily tasks via WhatsApp, from bill payments and scheduling to summarizing emails and acting as a music DJ. The system uses a central AI brain to delegate tasks to specialized sub-workflows, integrating with various APIs for a seamless conversational interface.</div>\n                <div style=\"font-family:Arial,Helvetica,sans-serif;font-size:13px;color:#111;margin-top:10px;font-weight:bold;\">Why it matters</div>\n                <ul style=\"padding-left:18px;margin:6px 0 0;font-family:Arial,Helvetica,sans-serif;font-size:13px;color:#333;\">\n                  <li>Demonstrates n8n&#39;s power for highly personalized, complex automations.</li>\n                  <li>Showcases practical applications of self-hosted LLMs and AI agents for personal productivity.</li>\n                  <li>Offers a blueprint for integrating diverse services into a unified control system.</li>\n                </ul>\n                <div style=\"font-family:Arial,Helvetica,sans-serif;font-size:13px;color:#111;margin-top:10px;font-weight:bold;\">By the numbers</div>\n                <ul style=\"padding-left:18px;margin:6px 0 0;font-family:Arial,Helvetica,sans-serif;font-size:13px;color:#333;\">\n                  <li>Upvotes: 369 &bull; Comments: 64</li>\n                </ul>\n                <div style=\"margin-top:10px;\">\n                  <a href=\"https://www.reddit.com/r/n8n/comments/1mtv9re/i_built_a_personal_ai_assistant_that_runs_my_life/\" style=\"font-family:Arial,Helvetica,sans-serif;font-size:13px;color:#1a73e8;text-decoration:underline;\">Discuss on r/n8n &rarr;</a>\n                </div>\n              </td></tr>\n            </table>\n\n            <!-- STORY CARD 2 -->\n            <table role=\"presentation\" width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" style=\"margin-bottom:16px;border:1px solid #eee;border-radius:8px;\">\n              <tr><td style=\"padding:14px 16px;\">\n                <a href=\"https://www.reddit.com/r/n8n/comments/1mugdof/i_built_an_ai_agent_army_in_n8n_that_completely/\" style=\"font-family:Arial,Helvetica,sans-serif;font-size:16px;color:#1a73e8;text-decoration:underline;font-weight:bold;\">I Built an AI Agent Army in n8n That Completely Replaced My Personal Assistant</a>\n                <div style=\"font-family:Arial,Helvetica,sans-serif;font-size:14px;color:#222;margin-top:6px;\">This project details a multi-agent AI system built in n8n that functions as a 24/7 personal assistant via Telegram, managing emails, scheduling, finances, travel, news, research, content creation, and social media. It features an orchestrator agent that routes complex requests to eight specialized agents.</div>\n                <div style=\"font-family:Arial,Helvetica,sans-serif;font-size:13px;color:#111;margin-top:10px;font-weight:bold;\">Why it matters</div>\n                <ul style=\"padding-left:18px;margin:6px 0 0;font-family:Arial,Helvetica,sans-serif;font-size:13px;color:#333;\">\n                  <li>Illustrates advanced multi-agent AI architectures within n8n.</li>\n                  <li>Highlights significant time savings (20+ hours/week) for routine tasks.</li>\n                  <li>Presents a powerful alternative to human assistants for a fraction of the cost.</li>\n                </ul>\n                <div style=\"font-family:Arial,Helvetica,sans-serif;font-size:13px;color:#111;margin-top:10px;font-weight:bold;\">By the numbers</div>\n                <ul style=\"padding-left:18px;margin:6px 0 0;font-family:Arial,Helvetica,sans-serif;font-size:13px;color:#333;\">\n                  <li>Upvotes: 194 &bull; Comments: 64</li>\n                </ul>\n                <div style=\"margin-top:10px;\">\n                  <a href=\"https://www.reddit.com/r/n8n/comments/1mugdof/i_built_an_ai_agent_army_in_n8n_that_completely/\" style=\"font-family:Arial,Helvetica,sans-serif;font-size:13px;color:#1a73e8;text-decoration:underline;\">Discuss on r/n8n &rarr;</a>\n                </div>\n              </td></tr>\n            </table>\n\n            <!-- STORY CARD 3 -->\n            <table role=\"presentation\" width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" style=\"margin-bottom:16px;border:1px solid #eee;border-radius:8px;\">\n              <tr><td style=\"padding:14px 16px;\">\n                <a href=\"https://www.reddit.com/r/n8n/comments/1mthwbv/built_myself_an_automation_that_tracks_calories/\" style=\"font-family:Arial,Helvetica,sans-serif;font-size:16px;color:#1a73e8;text-decoration:underline;font-weight:bold;\">Built myself an automation that tracks calories from food images.</a>\n                <div style=\"font-family:Arial,Helvetica,sans-serif;font-size:14px;color:#222;margin-top:6px;\">An n8n user created a free, self-hosted automation that calculates calories from food images using a Google API. This innovative workflow showcases how n8n can be leveraged for personal health and tracking, operating at no ongoing cost.</div>\n                <div style=\"font-family:Arial,Helvetica,sans-serif;font-size:13px;color:#111;margin-top:10px;font-weight:bold;\">Why it matters</div>\n                <ul style=\"padding-left:18px;margin:6px 0 0;font-family:Arial,Helvetica,sans-serif;font-size:13px;color:#333;\">\n                  <li>Provides a practical, zero-cost solution for calorie tracking using visual AI.</li>\n                  <li>Highlights the flexibility of n8n for niche, personal automation projects.</li>\n                  <li>Demonstrates self-hosting benefits for advanced features without recurring fees.</li>\n                </ul>\n                <div style=\"font-family:Arial,Helvetica,sans-serif;font-size:13px;color:#111;margin-top:10px;font-weight:bold;\">By the numbers</div>\n                <ul style=\"padding-left:18px;margin:6px 0 0;font-family:Arial,Helvetica,sans-serif;font-size:13px;color:#333;\">\n                  <li>Upvotes: 155 &bull; Comments: 52</li>\n                </ul>\n                <div style=\"margin-top:10px;\">\n                  <a href=\"https://www.reddit.com/r/n8n/comments/1mthwbv/built_myself_an_automation_that_tracks_calories/\" style=\"font-family:Arial,Helvetica,sans-serif;font-size:13px;color:#1a73e8;text-decoration:underline;\">Discuss on r/n8n &rarr;</a>\n                </div>\n              </td></tr>\n            </table>\n          </td></tr>\n\n          <!-- Quick Hits -->\n          <tr id=\"quick-hits\"><td style=\"padding:8px 24px 16px;\">\n            <h2 style=\"margin:8px 0 12px;font-family:Arial,Helvetica,sans-serif;font-size:18px;color:#111;\">Quick Hits</h2>\n            <ul style=\"padding-left:18px;margin:0;font-family:Arial,Helvetica,sans-serif;font-size:14px;color:#222;\">\n              <li>Tired of job applications? This user built an n8n workflow, triggered by a Chrome extension, to automate extracting job details, generating custom cover letters, and logging everything into Google Sheets and Docs in seconds. <a href=\"https://www.reddit.com/r/n8n/comments/1mtviu8/i_got_tired_of_applying_for_jobs_so_i_built_an/\" style=\"color:#1a73e8;text-decoration:underline;\">link</a></li>\n              <li>Learn how to automate long-form video creation for free with this n8n workflow, which customizes voice, artistic style, overlays, and sound effects. <a href=\"https://www.reddit.com/r/n8n/comments/1mtxjuy/this_workflow_makes_2h30_videos_on_autopilot/\" style=\"color:#1a73e8;text-decoration:underline;\">link</a></li>\n              <li>A new n8n template automatically adds descriptive sticky notes to your workflows using GPT-4o-mini, making documentation readable and shareable without manual effort. <a href=\"https://n8n.io/workflows/7465-auto-document-workflows-with-gpt-4o-mini-sticky-notes/\" style=\"color:#1a73e8;text-decoration:underline;\">link</a></li>\n              <li>Automate your email follow-ups with this n8n workflow that catches incoming emails, sends initial replies, and dispatches follow-ups if no response, effectively creating a mini CRM. <a href=\"https://www.reddit.com/r/n8n/comments/1muaond/email_follow_ups/\" style=\"color:#1a73e8;text-decoration:underline;\">link</a></li>\n              <li>Discover a smart n8n workflow that uses Google&#39;s Gemini AI to monitor subreddits, identify potential business leads, and organize them into Google Sheets for automation specialists. <a href=\"https://www.reddit.com/r/n8n/comments/1mudrwl/i_built_an_aipowered_lead_finder_that_monitors/\" style=\"color:#1a73e8;text-decoration:underline;\">link</a></li>\n              <li>A new n8n user shares their initial workflow for pulling European football league stats into Google Sheets, updating league tables, and generating weekly match predictions emailed as Looker reports. <a href=\"https://www.reddit.com/r/n8n/comments/1mufo10/first_workflow/\" style=\"color:#1a73e8;text-decoration:underline;\">link</a></li>\n              <li>Check out the latest weekly self-promotion thread where n8n users showcase their innovative workflows, offer consulting services, and share GitHub repos for advanced use cases. <a href=\"https://www.reddit.com/r/n8n/comments/1mp85yl/weekly_self_promotion_thread/\" style=\"color:#1a73e8;text-decoration:underline;\">link</a></li>\n            </ul>\n          </td></tr>\n\n          <!-- Community Q&A -->\n          <tr id=\"community-qa\"><td style=\"padding:8px 24px 16px;\">\n            <h2 style=\"margin:8px 0 12px;font-family:Arial,Helvetica,sans-serif;font-size:18px;color:#111;\">Community Q&amp;A</h2>\n            <!-- Q&A 1 -->\n            <div style=\"margin-bottom:12px;\">\n              <div style=\"font-family:Arial,Helvetica,sans-serif;font-size:14px;color:#111;font-weight:bold;\">&quot;How do you ensure your n8n AI agents, especially those interacting with Google services, remain reliable and don&#39;t forget tasks or suffer from expired connections?&quot;</div>\n              <div style=\"font-family:Arial,Helvetica,sans-serif;font-size:14px;color:#222;margin-top:4px;\">A user running a legal firm&#39;s AI agent for customer interactions and meeting bookings faces issues with Google connection expiry and task oversight when the agent is idle. <a href=\"https://www.reddit.com/r/n8n/comments/1muimu6/how_do_you_make_your_n8n_ai_agents_more_reliable/\" style=\"color:#1a73e8;text-decoration:underline;\">Join the thread &rarr;</a></div>\n            </div>\n            <!-- Q&A 2 -->\n            <div style=\"margin-bottom:12px;\">\n              <div style=\"font-family:Arial,Helvetica,sans-serif;font-size:14px;color:#111;font-weight:bold;\">&quot;Does the latest n8n version, with its unlimited workflow capacity announcement, affect execution limits for self-hosted instances, especially with high weekly execution volumes?&quot;</div>\n              <div style=\"font-family:Arial,Helvetica,sans-serif;font-size:14px;color:#222;margin-top:4px;\">A user managing around 200k weekly executions on a self-hosted n8n instance seeks clarification on potential limitations introduced by recent updates. <a href=\"https://www.reddit.com/r/n8n/comments/1muikdf/does_selfhosted_have_execution_limits_latest/\" style=\"color:#1a73e8;text-decoration:underline;\">Join the thread &rarr;</a></div>\n            </div>\n            <!-- Q&A 3 -->\n            <div style=\"margin-bottom:12px;\">\n              <div style=\"font-family:Arial,Helvetica,sans-serif;font-size:14px;color:#111;font-weight:bold;\">&quot;Will Google reject my API access request for n8n integration due to a domain conflict, and how can Open AI be used to optimize campaigns once approved?&quot;</div>\n              <div style=\"font-family:Arial,Helvetica,sans-serif;font-size:14px;color:#222;margin-top:4px;\">A user encountered an issue with Google Ads OAuth ID and Developer Token generation, receiving a domain conflict email and is looking for advice on integration approval and AI optimization strategies. <a href=\"https://www.reddit.com/r/n8n/comments/1mukei6/n8n_google_ads_integration/\" style=\"color:#1a73e8;text-decoration:underline;\">Join the thread &rarr;</a></div>\n            </div>\n          </td></tr>\n\n          <!-- Comment Spotlight -->\n          <tr id=\"comment-spotlight\"><td style=\"padding:8px 24px 24px;\">\n            <h2 style=\"margin:8px 0 12px;font-family:Arial,Helvetica,sans-serif;font-size:18px;color:#111;\">Comment Spotlight</h2>\n            <!-- Comment 1 -->\n            <div style=\"margin-bottom:10px;\">\n              <div style=\"font-family:Arial,Helvetica,sans-serif;font-size:14px;color:#222;\">&ldquo;Ya it is quite easy to achieve, if you want one build just DM, if you want to build yourself just search how to create RAG chatbots in n8n in YouTube there are loads of tutorials.&rdquo;</div>\n              <div style=\"font-family:Arial,Helvetica,sans-serif;font-size:12px;color:#666;margin-top:2px;\">From <a href=\"https://www.reddit.com/r/n8n/comments/1muivox/feedback_thinking_on_using_n8n_for_clients/\" style=\"color:#1a73e8;text-decoration:underline;\">Feedback - thinking on using n8n for clients requests</a></div>\n            </div>\n            <!-- Comment 2 -->\n            <div style=\"margin-bottom:10px;\">\n              <div style=\"font-family:Arial,Helvetica,sans-serif;font-size:14px;color:#222;\">&ldquo;Just make a scheduled connection keep alive request. Simply put a dummy conversation in the Google sheet etc. and delete it.&rdquo;</div>\n              <div style=\"font-family:Arial,Helvetica,sans-serif;font-size:12px;color:#666;margin-top:2px;\">From <a href=\"https://www.reddit.com/r/n8n/comments/1muimu6/how_do_you_make_your_n8n_ai_agents_more_reliable/\" style=\"color:#1a73e8;text-decoration:underline;\">How do you make your n8n AI agents more reliable?</a></div>\n            </div>\n            <!-- Comment 3 -->\n            <div style=\"margin-bottom:10px;\">\n              <div style=\"font-family:Arial,Helvetica,sans-serif;font-size:14px;color:#222;\">&ldquo;How is having the flow waiting for days to get a response better than running a separate workflow daily that checks for needed follow-up? You already have the mails store in a sheet. How is this workflow resilient to disconnections of some sort during the waiting?&rdquo;</div>\n              <div style=\"font-family:Arial,Helvetica,sans-serif;font-size:12px;color:#666;margin-top:2px;\">From <a href=\"https://www.reddit.com/r/n8n/comments/1muaond/email_follow_ups/\" style=\"color:#1a73e8;text-decoration:underline;\">Email follow ups</a></div>\n            </div>\n            <!-- Comment 4 -->\n            <div style=\"margin-bottom:10px;\">\n              <div style=\"font-family:Arial,Helvetica,sans-serif;font-size:14px;color:#222;\">&ldquo;These things that tell you the calories from a pic are criminaly wrong. What if the cook added 3 spons of oil to that sandwich inside? (+100kcal) or used light mayonese? (-200kcal compare to regular). Now compound that error over a month, and you&#39;ll be off by several thousands of kcal. I don&#39;t understand the purpose of collecting the wrong information. These apps are a great programming exercise, but that&#39;s it.&rdquo;</div>\n              <div style=\"font-family:Arial,Helvetica,sans-serif;font-size:12px;color:#666;margin-top:2px;\">From <a href=\"https://www.reddit.com/r/n8n/comments/1mthwbv/built_myself_an_automation_that_tracks_calories/\" style=\"color:#1a73e8;text-decoration:underline;\">Built myself an automation that tracks calories from food images.</a></div>\n            </div>\n            <!-- Comment 5 -->\n            <div style=\"margin-bottom:10px;\">\n              <div style=\"font-family:Arial,Helvetica,sans-serif;font-size:14px;color:#222;\">&ldquo;Really cool idea! I&rsquo;ve been trying to use n8n for some of my office workflows, and documentation is always the part I put off. Auto-sticky notes would save a ton of time, especially for sharing with teammates.&rdquo;</div>\n              <div style=\"font-family:Arial,Helvetica,sans-serif;font-size:12px;color:#666;margin-top:2px;\">From <a href=\"https://www.reddit.com/r/n8n/comments/1mucao2/i_hate_to_document_my_workflows_so_i_automated_it/\" style=\"color:#1a73e8;text-decoration:underline;\">I hate to document my workflows so I automated it</a></div>\n            </div>\n          </td></tr>\n\n          <!-- Footer -->\n          <tr><td style=\"padding:18px 24px;border-top:1px solid #eee;background:#fafbff;\">\n            <div style=\"font-family:Arial,Helvetica,sans-serif;font-size:12px;color:#666;line-height:1.5;\">\n              You&rsquo;re receiving this because you subscribed to daily r/n8n highlights.\n              Content summarized from public Reddit posts. Links go to Reddit.\n            </div>\n          </td></tr>\n        </table>\n      </td></tr>\n    </table>\n  </body>\n</html>\n```"
      }
    ]
  },
  "connections": {
    "AI Agent": {
      "main": [
        [
          {
            "node": "b4d15d5e-0953-42cf-b693-80e9ed5a856d",
            "type": "main",
            "index": 0
          },
          {
            "node": "b4060c87-d977-4a04-8200-270724248ca6",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "b4060c87-d977-4a04-8200-270724248ca6": {
      "main": [
        [
          {
            "node": "8e6c8267-c2b4-4d23-8ee1-0e8728e84ef0",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "7c36980c-0a71-4508-a4a6-af397d6b4d1d": {
      "main": [
        [
          {
            "node": "bd35cd68-270a-46eb-b05d-e698d344bf02",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Aggregate": {
      "main": [
        [
          {
            "node": "AI Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "bd35cd68-270a-46eb-b05d-e698d344bf02": {
      "main": [
        [
          {
            "node": "Aggregate URLs to Single Object",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait 5 seconds": {
      "main": [
        [
          {
            "node": "08eee5cc-dc09-46f3-b71f-728307d0d44e",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Loop Over Items": {
      "main": [
        [],
        [
          {
            "node": "5056bdbc-6332-4121-8b9f-d4bca6d76a9e",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Schedule Trigger": {
      "main": [
        [
          {
            "node": "7c36980c-0a71-4508-a4a6-af397d6b4d1d",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "AI Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "4e8af0c1-ebcb-4e2b-af25-46ba8800c946": {
      "main": [
        [
          {
            "node": "Aggregate",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "dc15490e-93cd-4e23-9531-0874b6a72630": {
      "main": [
        [
          {
            "node": "10df46b5-a8d3-4281-8771-37b01f717fc2",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Wait 5 seconds",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "87c4f679-17a4-4e08-a06b-be2fcb67a6fe": {
      "main": [
        [
          {
            "node": "4e8af0c1-ebcb-4e2b-af25-46ba8800c946",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Gemini Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "AI Agent",
            "type": "ai_languageModel",
            "index": 1
          }
        ]
      ]
    },
    "10df46b5-a8d3-4281-8771-37b01f717fc2": {
      "main": [
        [
          {
            "node": "87c4f679-17a4-4e08-a06b-be2fcb67a6fe",
            "type": "main",
            "index": 0
          }
        ],
        []
      ]
    },
    "Aggregate URLs to Single Object": {
      "main": [
        [
          {
            "node": "50ee913e-46bc-46e2-9416-97198faba1e3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "08eee5cc-dc09-46f3-b71f-728307d0d44e": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "50ee913e-46bc-46e2-9416-97198faba1e3": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "5056bdbc-6332-4121-8b9f-d4bca6d76a9e": {
      "main": [
        [
          {
            "node": "dc15490e-93cd-4e23-9531-0874b6a72630",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Foire aux questions

Comment utiliser ce workflow ?

Copiez le code de configuration JSON ci-dessus, créez un nouveau workflow dans votre instance n8n et sélectionnez "Importer depuis le JSON", collez la configuration et modifiez les paramètres d'authentification selon vos besoins.

Dans quelles scénarios ce workflow est-il adapté ?

Avancé - Résumé IA, IA Multimodale

Est-ce payant ?

Ce workflow est entièrement gratuit et peut être utilisé directement. Veuillez noter que les services tiers utilisés dans le workflow (comme l'API OpenAI) peuvent nécessiter un paiement de votre part.

Informations sur le workflow
Niveau de difficulté
Avancé
Nombre de nœuds26
Catégorie2
Types de nœuds16
Description de la difficulté

Adapté aux utilisateurs avancés, avec des workflows complexes contenant 16+ nœuds

Auteur
Angel Menendez

Angel Menendez

@djangelic

Angel Menendez is a Staff Developer Advocate at n8n.io, specializing in low-code tools for cybersecurity workflows. From Puerto Rico, Angel's tech journey began by helping his father translate technical books. He later started a web development business and transitioned from a career as a flight attendant to cybersecurity engineering. His workflows have saved companies significant time. Outside work, Angel enjoys time with his two sons, riding electric bikes, reading, and exploring new places.

Liens externes
Voir sur n8n.io

Partager ce workflow

Catégories

Catégories: 34