AutomationFlowsMarketing & Ads › Weekly Marketing Campaign Report

Weekly Marketing Campaign Report

Weekly Marketing Campaign Report. Uses salesforce, googleSheets, slack. Scheduled trigger; 5 nodes.

Cron / scheduled trigger★★★★☆ complexity5 nodesSalesforceGoogle SheetsSlack
Marketing & Ads Trigger: Cron / scheduled Nodes: 5 Complexity: ★★★★☆ Added:

This workflow follows the Google Sheets → Slack 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
{
  "name": "Weekly Marketing Campaign Report",
  "nodes": [
    {
      "id": "a3f1c2d4-8e5b-4f7a-9c1d-2b3e4f5a6b7c",
      "name": "Every Monday 8am UTC",
      "type": "n8n-nodes-base.scheduleTrigger",
      "typeVersion": 1.3,
      "position": [
        240,
        300
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "cronExpression",
              "expression": "0 8 * * 1"
            }
          ]
        }
      }
    },
    {
      "id": "b7e2d3f5-9a6c-4e8b-0d2e-3c4f5a6b7c8d",
      "name": "Query SF Campaigns",
      "type": "n8n-nodes-base.salesforce",
      "typeVersion": 1,
      "position": [
        460,
        300
      ],
      "parameters": {
        "resource": "search",
        "operation": "query",
        "query": "SELECT Id, Name, StartDate, NumberOfContacts, Status, Type FROM Campaign WHERE (Type = 'Conference' OR Type = 'Webinar') AND StartDate >= LAST_N_DAYS:30"
      },
      "credentials": {
        "salesforceOAuth2Api": {
          "name": "<your credential>"
        }
      }
    },
    {
      "id": "c8f3e4a6-0b7d-4f9c-1e3f-4d5a6b7c8d9e",
      "name": "Write to Google Sheet",
      "type": "n8n-nodes-base.googleSheets",
      "typeVersion": 4.7,
      "position": [
        680,
        300
      ],
      "parameters": {
        "resource": "sheet",
        "operation": "append",
        "documentId": {
          "mode": "id",
          "value": "YOUR_GOOGLE_SHEET_ID"
        },
        "sheetName": {
          "mode": "name",
          "value": "Campaigns"
        },
        "columns": {
          "mappingMode": "defineBelow",
          "value": {
            "Name": "={{ $json.Name }}",
            "StartDate": "={{ $json.StartDate }}",
            "NumberOfContacts": "={{ $json.NumberOfContacts }}",
            "Status": "={{ $json.Status }}",
            "Type": "={{ $json.Type }}"
          }
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      }
    },
    {
      "id": "d9a4f5b7-1c8e-4a0d-2f4a-5e6b7c8d9e0f",
      "name": "Summarize Totals",
      "type": "n8n-nodes-base.summarize",
      "typeVersion": 1.1,
      "position": [
        900,
        300
      ],
      "parameters": {
        "fieldsToSummarize": {
          "values": [
            {
              "aggregation": "count",
              "field": "Id"
            },
            {
              "aggregation": "sum",
              "field": "NumberOfContacts"
            }
          ]
        },
        "options": {
          "outputFormat": "singleItem"
        }
      }
    },
    {
      "id": "e0b5a6c8-2d9f-4b1e-3a5b-6f7c8d9e0f1a",
      "name": "Post to Slack",
      "type": "n8n-nodes-base.slack",
      "typeVersion": 2.4,
      "position": [
        1120,
        300
      ],
      "parameters": {
        "resource": "message",
        "operation": "post",
        "select": "channel",
        "channelId": {
          "mode": "name",
          "value": "#marketing-events"
        },
        "text": "=*Weekly Campaign Report* (past 30 days)\n\n*Total Campaigns (Conference + Webinar):* {{ $json.countId }}\n*Total Contacts:* {{ $json.sumNumberOfContacts }}\n\n_Data written to Google Sheets. Run: {{ $now.toFormat('yyyy-MM-dd') }}_"
      },
      "credentials": {
        "slackOAuth2Api": {
          "name": "<your credential>"
        }
      }
    }
  ],
  "connections": {
    "Every Monday 8am UTC": {
      "main": [
        [
          {
            "node": "Query SF Campaigns",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Query SF Campaigns": {
      "main": [
        [
          {
            "node": "Write to Google Sheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Write to Google Sheet": {
      "main": [
        [
          {
            "node": "Summarize Totals",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Summarize Totals": {
      "main": [
        [
          {
            "node": "Post to Slack",
            "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

Weekly Marketing Campaign Report. Uses salesforce, googleSheets, slack. Scheduled trigger; 5 nodes.

Source: https://github.com/alvarocubaa/n8n-workflow-builder/blob/c795214da6919f6f6749faff210360d38f8d2d96/examples/marketing/hack_event_sf_dashboards.json — original creator credit. Request a take-down →

More Marketing & Ads workflows → · Browse all categories →

Related workflows

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

Marketing & Ads

Watch target companies for C-level and VP hiring signals, then send AI-personalized outreach emails when leadership roles are posted.

Google Sheets, @Predictleads/N8N Nodes Predictleads, Slack +2
Marketing & Ads

Monitor customers for competitor tech adoption via PredictLeads and alert CSMs to prevent churn.

Google Sheets, @Predictleads/N8N Nodes Predictleads, Slack +1
Marketing & Ads

This workflow is designed for marketing teams, data analysts, and business owners who need to consistently track key performance indicators (KPIs). It saves hours of manual data collection and reporti

Google Analytics, HTTP Request, Google Sheets +3
Marketing & Ads

Streamline sales prioritization by automatically identifying, scoring, and routing high-value leads from GoHighLevel CRM to your sales team. This workflow scores contacts daily, flags top prospects, a

High Level, Slack, Google Sheets +1
Marketing & Ads

Weekly Campaign Metrics → Slack. Uses googleSheets, slack. Scheduled trigger; 4 nodes.

Google Sheets, Slack