AutomationFlowsAI & RAG › Weekly Databox Paid Ads Reports to Slack & Email

Weekly Databox Paid Ads Reports to Slack & Email

Original n8n title: Send Weekly Databox Paid Ads Performance Reports to Slack and Email

ByDatabox @databox on n8n.io

Stop spending hours manually pulling paid ads data. This workflow connects to Databox via MCP, auto-discovers every connected paid platform, fetches 6 key metrics, and delivers a consolidated weekly report to Slack and email - every Monday at 9 AM, completely hands-free.…

Cron / scheduled trigger★★★★☆ complexityAI-powered13 nodesMcp Client ToolAgentSlackGmailOpenAI Chat
AI & RAG Trigger: Cron / scheduled Nodes: 13 Complexity: ★★★★☆ AI nodes: yes Added:

This workflow corresponds to n8n.io template #14321 — we link there as the canonical source.

This workflow follows the Agent → Gmail 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 →

Download .json
{
  "id": "XDT0FnJeLaptKAdJ",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "Automated paid ads weekly performance report",
  "tags": [
    {
      "id": "7XcRjjhmW6BjshRr",
      "name": "Reporting",
      "createdAt": "2026-02-23T10:24:02.458Z",
      "updatedAt": "2026-02-23T10:24:02.458Z"
    },
    {
      "id": "OITWk9JNRp1srhj6",
      "name": "Paid Ads",
      "createdAt": "2026-02-26T16:50:04.993Z",
      "updatedAt": "2026-02-26T16:50:04.993Z"
    },
    {
      "id": "ZLNp4q7bLInAPzlr",
      "name": "Databox MCP",
      "createdAt": "2026-02-12T05:49:19.149Z",
      "updatedAt": "2026-02-12T05:49:19.149Z"
    },
    {
      "id": "fTDWEyDAVwyzsAEy",
      "name": "YouTube",
      "createdAt": "2026-02-23T11:29:25.475Z",
      "updatedAt": "2026-02-23T11:29:25.475Z"
    },
    {
      "id": "fjJWe0P5GkqnbIXj",
      "name": "Automation",
      "createdAt": "2026-02-12T05:49:19.177Z",
      "updatedAt": "2026-02-12T05:49:19.177Z"
    }
  ],
  "nodes": [
    {
      "id": "bf94a011-2f67-4330-aa95-bee4a2cc5eb1",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        5904,
        6576
      ],
      "parameters": {
        "color": 7,
        "width": 1688,
        "height": 612,
        "content": "## Automated Paid Ads Weekly Performance Report via Databox MCP\n\nAutomate your paid advertising performance reporting across all platforms with AI-powered insights delivered every Monday morning. This workflow connects to your Databox account via MCP, automatically discovers which paid ads platforms you have connected, fetches 6 key metrics from each platform, calculates week-over-week performance changes, and sends beautifully formatted consolidated reports to both Slack and email-completely hands-free.\n\n### What you'll get\n- \ud83d\udcca Automated weekly reports \n- \ud83d\udcc8 6 key metrics tracked per platform: Cost/Spend, Clicks, CPC, CTR, Impressions, Conversions\n- \ud83c\udfaf Week-over-week % changes \n- \ud83d\udcac Summary with highlights and AI-generated insights\n- \ud83d\udce7 HTML email report \n- \u23f0 Scheduled automation\n\n### How it works\n`Schedule Trigger` \u2192 `AI Agent (auto-discovers connected platforms via Databox MCP)` \u2192 `Aggregates metrics across all platforms` \u2192 `Send report to Slack + Email`\n\n### What you need\n- Databox account with at least one paid ads platform connected \u2192 Free plan available: https://databox.com/?ref=n8n\n- Claude or ChatGPT API key\n- Slack account (optional)\n- Gmail account (optional)\n\n### Supported Platforms\nFacebook Ads \u2022 Google Ads \u2022 LinkedIn Ads \u2022 YouTube Ads \u2022 Reddit Ads \u2022 TikTok Ads \u2022 Snapchat Ads \u2022 Microsoft Advertising \u2022 X (Twitter) Ads \u2022 Pinterest Ads"
      },
      "typeVersion": 1
    },
    {
      "id": "ef60debc-97bb-4d10-80f9-ee41f4f5b219",
      "name": "Sticky Note 1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        5904,
        7216
      ],
      "parameters": {
        "color": 4,
        "width": 500,
        "height": 1138,
        "content": "## 1\ufe0f\u20e3 Scheduled Execution\n\n### What this section does\nTriggers the workflow every **Monday at 9 AM** and captures the current date so the AI Agent can calculate the correct 7-day reporting windows (current week vs. previous week).\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n### Change the schedule (optional)\n- Click the \"Every Monday 9 AM\" node\n- Click on the Cron Expression field\n- Modify the schedule (e.g., change to daily, weekly on different day, or custom time)"
      },
      "typeVersion": 1
    },
    {
      "id": "c21c7662-dc7c-4777-8e84-b5df1798e19b",
      "name": "Sticky Note 2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        6448,
        7216
      ],
      "parameters": {
        "color": 6,
        "width": 550,
        "height": 1132,
        "content": "## 2\ufe0f\u20e3 AI Agent + Databox MCP Setup\n\n### What this section/Agent does\nThe AI Agent connects to Databox via MCP and intelligently auto-discovers your connected paid ads platforms, fetches data across all of them for 6 key metrics, aggregates performance, calculates week-over-week changes, and formats professional reports for Slack and Email.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n### What you need to do \u26a0\ufe0f\n1. Click the **OpenAI Chat Model** node \u2192 add your `API key` credential\n   - You can also replace this node with the **OpenAI Chat Model** node\n2. Click the **Databox MCP Tool** node \u2192 set Authentication to `OAuth2` \u2192 authorize with your Databox account\n3. **Ensure at least one paid ads platform is connected** in your Databox account\n\n### How to connect Databox MCP Tool in n8n\n@[youtube](892KtXhv-vI)"
      },
      "typeVersion": 1
    },
    {
      "id": "d0ecc1bd-1929-49f6-9b8e-3793b120152a",
      "name": "Sticky Note 3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        7040,
        7216
      ],
      "parameters": {
        "color": 5,
        "width": 550,
        "height": 1132,
        "content": "## 3\ufe0f\u20e3 Output & Notification\n\n### What this section does\nThe Parse AI Output node splits the Agent's response into two formatted reports - a concise Slack summary with top-level metrics and AI-generated insights, and a rich HTML email with individual platform tables and color-coded week-over-week changes - then delivers both simultaneously.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n### What you need to do \u26a0\ufe0f\n- **Slack**: Connect your account in **Send to Slack** node and set the Slack `channel` for report delivery\n- **Email**: Add your Gmail/SMTP credentials to the **Send Email** node\n- **Optional**: Add a Microsoft Teams, Discord, or Telegram node for additional outputs"
      },
      "typeVersion": 1
    },
    {
      "id": "df05566a-c4ff-432c-b754-e29628646ac8",
      "name": "Every Monday 9 AM",
      "type": "n8n-nodes-base.scheduleTrigger",
      "notes": "Triggers every Monday at 9 AM",
      "position": [
        5984,
        7456
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "cronExpression",
              "expression": "0 9 * * 1"
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "ab859925-15a9-4421-89b3-df2c7cc7a4fc",
      "name": "Get Current Date",
      "type": "n8n-nodes-base.dateTime",
      "position": [
        6208,
        7456
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 2
    },
    {
      "id": "ca60e49c-7b15-4aac-bc68-180c4ab94b97",
      "name": "Databox MCP Tool",
      "type": "@n8n/n8n-nodes-langchain.mcpClientTool",
      "position": [
        6768,
        7664
      ],
      "parameters": {
        "options": {},
        "endpointUrl": "https://mcp.databox.com/mcp",
        "authentication": "mcpOAuth2Api"
      },
      "credentials": {
        "mcpOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "501ab843-4c7a-4745-8590-8fedebef3212",
      "name": "Paid Ads Reporting Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        6608,
        7456
      ],
      "parameters": {
        "text": "=Today's Date: {{ $json.formattedDate }}\n\nGenerate a comprehensive weekly performance report for ALL connected paid advertising platforms.\n\nDetermine the exact date ranges for \"the last 7 days\" and the \"previous 7 days\" based on TODAY's DATE.\n\nQuery Databox to:\n1. Discover which paid ads platforms are connected (Facebook Ads, Google Ads, LinkedIn Ads, YouTube Ads, Reddit Ads, TikTok Ads, Snapchat Ads, Microsoft Advertising, X/Twitter Ads, Pinterest Ads)\n2. For EACH connected platform, fetch these 6 metrics for both weeks:\n   - Cost/Spend\n   - Clicks\n   - CPC (Cost Per Click)\n   - CTR (Click-Through Rate)\n   - Impressions\n   - Conversions\n\nCalculate:\n- Week-over-week (WoW) percentage changes for EVERY metric on EVERY platform\n- Aggregated totals across all platforms (total spend, total clicks, total impressions, total conversions)\n- Average CPC and CTR across all platforms (weighted by volume)\n\nFormat the output into a Slack summary and a detailed HTML email with platform breakdowns.",
        "options": {
          "systemMessage": "You are a performance reporting assistant that queries Databox through the MCP Client and formats cross-platform paid advertising reports.\n\nSTEP-BY-STEP WORKFLOW:\n\n1. Call list_accounts to get the account ID.\n\n2. Call list_data_sources with that account ID to discover ALL connected paid ads platforms. Look for data sources matching these names/patterns:\n   - Facebook Ads (or variations like \"Facebook Ad Account\")\n   - Google Ads (or \"Google AdWords\")\n   - LinkedIn Ads\n   - YouTube Ads\n   - Reddit Ads\n   - TikTok Ads\n   - Snapchat Ads\n   - Microsoft Advertising (or \"Bing Ads\")\n   - X Ads (or \"Twitter Ads\")\n   - Pinterest Ads\n\n3. For EACH connected platform found, call load_metric_data for these 6 metrics (use the appropriate metric keys for each platform):\n   - Cost/Spend (metric keys may vary: \"cost\", \"spend\", \"amount_spent\")\n   - Clicks\n   - CPC (Cost Per Click)\n   - CTR (Click-Through Rate)\n   - Impressions\n   - Conversions (or \"purchases\", \"leads\" depending on platform)\n\n   Use these parameters for each metric call:\n   - data_source_id: the platform's source ID from step 2\n   - start_date: 14 days before today (YYYY-MM-DD)\n   - end_date: today (YYYY-MM-DD)\n   - granulation_time_unit: 3 (weekly)\n   - granulation_multiplier: 1\n   - is_whole_range: false\n\n   Each call returns two data points \u2014 previous week and current week.\n\n4. If a platform is NOT connected or returns no data, silently skip it. Do NOT mention missing platforms in the output.\n\n5. If NO paid ads platforms are connected or all platforms return zero data:\n   - In the Slack message: State \"No paid advertising activity detected for the reporting period.\"\n   - In the email: Include \"Platforms analyzed: None\" in the subtitle and a message explaining no reportable activity was found.\n   - STILL include the ---SEPARATOR--- delimiter and generate the email structure with empty/zero values.\n\n5. Calculate WoW percentage change for every metric on every platform: ((current - previous) / previous) * 100\n\n6. Aggregate totals:\n   - Total Spend = sum of all platforms' spend\n   - Total Clicks = sum of all platforms' clicks\n   - Total Impressions = sum of all platforms' impressions\n   - Total Conversions = sum of all platforms' conversions\n   - Average CPC = Total Spend / Total Clicks\n   - Average CTR = (Total Clicks / Total Impressions) * 100\n\n7. Format the output.\n\nCRITICAL OUTPUT INSTRUCTIONS:\nAfter completing all calculations internally, output ONLY the two formatted sections below. Do NOT include any pre-calculation notes, data mapping explanations, raw values, formulas, or intermediate steps in your response. Your output must START DIRECTLY with the Slack message format.\n\nFORMAT RULES:\nOutput two sections separated exactly by ---SEPARATOR---\n\nFIRST \u2014 Slack message:\nPaid Ads Performance Snapshot \ud83d\udcca\n[Last 7 Days Dates]\n\n[One sentence summary highlighting cross-platform performance trends]\n\n*Aggregated Totals Across All Platforms:*\n\ud83d\udcb0 *Total Spend:* $[value] ([+/-X.X%] WoW)\n\ud83d\uddb1\ufe0f *Total Clicks:* [value] ([+/-X.X%] WoW)\n\ud83d\udc41\ufe0f *Total Impressions:* [value] ([+/-X.X%] WoW)\n\ud83c\udfaf *Total Conversions:* [value] ([+/-X.X%] WoW)\n\ud83d\udcb5 *Avg CPC:* $[value] ([+/-X.X%] WoW)\n\ud83d\udcca *Avg CTR:* [value]% ([+/-X.X%] WoW)\n\n*Platform Breakdown:*\n[For each connected platform, list top 3 metrics with emojis]\n\nAutomated with this n8n workflow\n\n---SEPARATOR---\n\nSECOND \u2014 HTML email:\nStructure:\n<h2 style=\"color: #3164FA; font-family: 'Helvetica Neue', Arial, sans-serif; font-weight: 600; margin-bottom: 5px;\">Paid Ads Weekly Report</h2>\n<p style=\"color: #666; font-family: 'Helvetica Neue', Arial, sans-serif; margin-top: 0; font-size: 14px;\">[Last 7 Days Dates] vs [Previous 7 Days Dates]</p>\n<p style=\"color: #666; font-family: 'Helvetica Neue', Arial, sans-serif; font-size: 13px; font-style: italic;\">Platforms analyzed: [List of connected platforms]</p>\n\n<p style=\"font-family: 'Helvetica Neue', Arial, sans-serif; color: #333; margin-bottom: 20px; line-height: 1.6;\">[Executive summary paragraph highlighting key insights across all platforms]</p>\n\n<div style=\"background-color: #F7F9FC; border-left: 4px solid #3164FA; padding: 15px; font-family: 'Helvetica Neue', Arial, sans-serif; margin-bottom: 20px; border-radius: 4px;\">\n  <strong style=\"color: #3164FA; font-size: 16px;\">Key Highlights - Aggregated Totals</strong><br><br>\n  Total Spend: $XX,XXX (<span style=\"color: #059669;\">+X.X% WoW</span>)<br>\n  Total Clicks: XX,XXX (<span style=\"color: #059669;\">+X.X% WoW</span>)<br>\n  Total Conversions: XXX (<span style=\"color: #059669;\">+X.X% WoW</span>)<br>\n  Avg CPC: $X.XX (<span style=\"color: #dc2626;\">+X.X% WoW</span>)<br>\n  Avg CTR: X.XX% (<span style=\"color: #059669;\">+X.X% WoW</span>)\n</div>\n\n<!-- For EACH connected platform, create a table: -->\n<h3 style=\"color: #3164FA; font-family: 'Helvetica Neue', Arial, sans-serif; font-weight: 600; margin-top: 30px; margin-bottom: 10px;\">[Platform Name] Performance</h3>\n\n<table style=\"width: 100%; border-collapse: collapse; font-family: 'Helvetica Neue', Arial, sans-serif; margin-bottom: 30px;\">\n  <tr style=\"background-color: #3164FA; color: white;\">\n    <th style=\"padding: 12px; border: 1px solid #e5e7eb; text-align: left; font-weight: 600;\">Metric</th>\n    <th style=\"padding: 12px; border: 1px solid #e5e7eb; text-align: left; font-weight: 600;\">This Week</th>\n    <th style=\"padding: 12px; border: 1px solid #e5e7eb; text-align: left; font-weight: 600;\">Last Week</th>\n    <th style=\"padding: 12px; border: 1px solid #e5e7eb; text-align: left; font-weight: 600;\">WoW</th>\n  </tr>\n  <tr style=\"background-color: #ffffff;\">\n    <td style=\"padding: 12px; border: 1px solid #e5e7eb; color: #333;\">Cost/Spend</td>\n    <td style=\"padding: 12px; border: 1px solid #e5e7eb; color: #333;\">$X,XXX</td>\n    <td style=\"padding: 12px; border: 1px solid #e5e7eb; color: #333;\">$X,XXX</td>\n    <td style=\"padding: 12px; border: 1px solid #e5e7eb; color: #059669;\">+X.X%</td>\n  </tr>\n  <tr style=\"background-color: #f9fafb;\">\n    <td style=\"padding: 12px; border: 1px solid #e5e7eb; color: #333;\">Clicks</td>\n    <td style=\"padding: 12px; border: 1px solid #e5e7eb; color: #333;\">X,XXX</td>\n    <td style=\"padding: 12px; border: 1px solid #e5e7eb; color: #333;\">X,XXX</td>\n    <td style=\"padding: 12px; border: 1px solid #e5e7eb; color: #dc2626;\">-X.X%</td>\n  </tr>\n  <tr style=\"background-color: #ffffff;\">\n    <td style=\"padding: 12px; border: 1px solid #e5e7eb; color: #333;\">CPC</td>\n    <td style=\"padding: 12px; border: 1px solid #e5e7eb; color: #333;\">$X.XX</td>\n    <td style=\"padding: 12px; border: 1px solid #e5e7eb; color: #333;\">$X.XX</td>\n    <td style=\"padding: 12px; border: 1px solid #e5e7eb; color: #059669;\">+X.X%</td>\n  </tr>\n  <tr style=\"background-color: #f9fafb;\">\n    <td style=\"padding: 12px; border: 1px solid #e5e7eb; color: #333;\">CTR</td>\n    <td style=\"padding: 12px; border: 1px solid #e5e7eb; color: #333;\">X.XX%</td>\n    <td style=\"padding: 12px; border: 1px solid #e5e7eb; color: #333;\">X.XX%</td>\n    <td style=\"padding: 12px; border: 1px solid #e5e7eb; color: #059669;\">+X.X%</td>\n  </tr>\n  <tr style=\"background-color: #ffffff;\">\n    <td style=\"padding: 12px; border: 1px solid #e5e7eb; color: #333;\">Impressions</td>\n    <td style=\"padding: 12px; border: 1px solid #e5e7eb; color: #333;\">XXX,XXX</td>\n    <td style=\"padding: 12px; border: 1px solid #e5e7eb; color: #333;\">XXX,XXX</td>\n    <td style=\"padding: 12px; border: 1px solid #e5e7eb; color: #dc2626;\">-X.X%</td>\n  </tr>\n  <tr style=\"background-color: #f9fafb;\">\n    <td style=\"padding: 12px; border: 1px solid #e5e7eb; color: #333;\">Conversions</td>\n    <td style=\"padding: 12px; border: 1px solid #e5e7eb; color: #333;\">XXX</td>\n    <td style=\"padding: 12px; border: 1px solid #e5e7eb; color: #333;\">XXX</td>\n    <td style=\"padding: 12px; border: 1px solid #e5e7eb; color: #059669;\">+X.X%</td>\n  </tr>\n</table>\n\n<!-- Repeat table for each connected platform -->\n\n<p style=\"color: #999; font-size: 11px; margin-top: 25px; font-family: 'Helvetica Neue', Arial, sans-serif; border-top: 1px solid #e5e7eb; padding-top: 15px;\">Automated reporting via Databox MCP & n8n</p>\n\nSTRICT RULES:\n- DO NOT include ANY text before the formatted output sections. Start your response directly with \"Paid Ads Performance Snapshot\"\n- DO NOT show calculation steps, data mapping, timestamps, raw values, or intermediate work\n- DO NOT mention platforms that are not connected or have no data\n- DO NOT include warnings or caveats\n- Use Databox brand color #3164FA for headings and highlights\n- Make WoW values green (#059669) if positive, red (#dc2626) if negative\n- For cost metrics, lower is better (show red for increases in CPC)\n- For CTR, clicks, impressions, conversions - higher is better (show green for increases)\n- Keep the Slack message concise \u2014 title, date, summary, aggregated metrics, platform breakdown, and footer\n- In email, include executive summary paragraph before Key Highlights box\n- Create separate tables for each connected platform in the email\n- If a previous week value is 0, show \"N/A\" for WoW instead of dividing by zero\n- Format all numbers with thousand separators (commas)\n- For currency values, use $ symbol and format as $X,XXX.XX\n- For percentages, format as X.XX%\n- List platforms analyzed in the email subtitle"
        },
        "promptType": "define"
      },
      "retryOnFail": false,
      "typeVersion": 3,
      "alwaysOutputData": true
    },
    {
      "id": "7db0ea3c-fe4b-4424-b99b-79061b0be967",
      "name": "Parse AI Output",
      "type": "n8n-nodes-base.code",
      "position": [
        7136,
        7456
      ],
      "parameters": {
        "jsCode": "const aiOutput = $input.first().json.output;\n\nif (!aiOutput) {\n  throw new Error('No output received from the Paid Ads Reporting Agent.');\n}\n\nconst parts = aiOutput.split('---SEPARATOR---');\n\nif (parts.length < 2) {\n  throw new Error('AI output missing ---SEPARATOR--- delimiter.');\n}\n\n// Extract subject from the HTML or use default\nlet emailSubject = 'Paid Ads Weekly Report';\nconst titleMatch = parts[1].match(/<h2[^>]*>(.*?)<\\/h2>/i);\nif (titleMatch) {\n  emailSubject = titleMatch[1].replace(/<[^>]*>/g, '').trim();\n}\n\nreturn [{\n  json: {\n    slackMessage: parts[0].trim(),\n    emailSubject: emailSubject,\n    emailHtml: parts[1].trim()\n  }\n}];"
      },
      "typeVersion": 2
    },
    {
      "id": "e4dde5cf-52b7-4c1b-93c5-8db357a00703",
      "name": "Send to Slack",
      "type": "n8n-nodes-base.slack",
      "notes": "Sends the Slack summary message",
      "position": [
        7376,
        7456
      ],
      "parameters": {
        "text": "={{ $json.slackMessage }}",
        "select": "channel",
        "channelId": {
          "__rl": true,
          "mode": "id",
          "value": "C0AELRTHZAA"
        },
        "otherOptions": {},
        "authentication": "oAuth2"
      },
      "credentials": {
        "slackOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "20a77cc8-17bc-45a4-b3e6-4dc8779ad650",
      "name": "Send Email",
      "type": "n8n-nodes-base.gmail",
      "notes": "Sends the full HTML report via Gmail",
      "position": [
        7376,
        7632
      ],
      "parameters": {
        "sendTo": "user@example.com",
        "message": "={{ $json.emailHtml }}",
        "options": {},
        "subject": "={{ $json.emailSubject }}"
      },
      "credentials": {
        "gmailOAuth2": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "e6313e1a-00e4-4a53-880e-cc60799e0c9c",
      "name": "OpenAI Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        6576,
        7664
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-5-mini",
          "cachedResultName": "gpt-5-mini"
        },
        "options": {},
        "builtInTools": {}
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "cb6b6fa3-51cb-4f98-9109-b836ffe29703",
      "name": "Sticky Note 4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        7616,
        6576
      ],
      "parameters": {
        "color": 7,
        "width": 948,
        "height": 610,
        "content": "## How it works\n\n@[youtube](Y3bJsPWtSIA)"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "0a509785-045e-462c-bea6-3484a0b0bbd8",
  "connections": {
    "Parse AI Output": {
      "main": [
        [
          {
            "node": "Send to Slack",
            "type": "main",
            "index": 0
          },
          {
            "node": "Send Email",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Databox MCP Tool": {
      "ai_tool": [
        [
          {
            "node": "Paid Ads Reporting Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Get Current Date": {
      "main": [
        [
          {
            "node": "Paid Ads Reporting Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Every Monday 9 AM": {
      "main": [
        [
          {
            "node": "Get Current Date",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "Paid Ads Reporting Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Paid Ads Reporting Agent": {
      "main": [
        [
          {
            "node": "Parse AI Output",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

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.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

Stop spending hours manually pulling paid ads data. This workflow connects to Databox via MCP, auto-discovers every connected paid platform, fetches 6 key metrics, and delivers a consolidated weekly report to Slack and email - every Monday at 9 AM, completely hands-free.…

Source: https://n8n.io/workflows/14321/ — original creator credit. Request a take-down →

More AI & RAG workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

AI & RAG

Created by: Peyton Leveillee Last updated: October 2025

OpenAI Chat, Google Sheets, HTTP Request +5
AI & RAG

This n8n-powered workflow automates the entire lifecycle of real estate lead intake, qualification, routing, assignment, and reporting across multiple channels. It brings WhatsApp inquiries and websit

Gmail, Typeform Trigger, WhatsApp Trigger +8
AI & RAG

This workflow automates end-to-end sustainability lifecycle management for corporate sustainability teams, ESG governance officers, and circular economy programme leads. It addresses the challenge of

Form Trigger, Agent, OpenAI Chat +11
AI & RAG

This workflow automates end-to-end ESG (Environmental, Social, and Governance) sustainability reporting for enterprise sustainability teams, compliance officers, and green governance leads. It solves

Agent, OpenAI Chat, Output Parser Structured +12
AI & RAG

This n8n workflow automates the daily generation of comprehensive analytics reports from multiple websites, processes them using OpenAI's powerful language models, and then delivers the insights direc

Memory Buffer Window, Google Analytics, Agent +6