
Every Monday morning, my Slack gets a message. It tells me exactly how outbound performed last week. Emails sent, open rates, reply rates, bounces. Broken down by campaign.
No one runs this report manually. An n8n workflow handles it. It runs on a cron trigger every Monday at 9 AM, pulls data from the Instantly API, aggregates the numbers, and posts the summary to Slack.
The workflow structure
Five nodes. That is all it takes.
Node 1: Schedule Trigger. Fires every Monday at 9 AM. Nothing fancy.
Node 2: HTTP Request. Calls the Instantly API to get a list of active campaigns. You need your API key configured as a credential in n8n.
Node 3: Loop. For each campaign, make another HTTP Request to fetch that campaign's analytics. Sends, opens, replies, bounces.
Node 4: Code node. This is where the aggregation happens. A simple JavaScript function that sums up all the metrics, calculates rates, and formats everything into a readable Slack message.
Node 5: HTTP Request to Slack. Posts the formatted message to your channel using an incoming webhook URL.
Why n8n over Zapier for this
Three reasons. First, the Code node. Zapier has code steps, but they are limited. n8n lets you write full JavaScript with access to all input data. For aggregation and formatting, this matters.
Second, no per-execution pricing. This workflow runs once a week. Not expensive on Zapier either. But when you have 20 workflows running daily, the cost difference adds up.
Third, self-hosting. Your API keys, your data, your infrastructure. For companies with security requirements, this is non-negotiable.
Get the workflow
I published the full n8n workflow JSON as a free download on the resources page. Import it into your n8n instance, add your credentials, and it runs. No building from scratch required.

