The Polar MCP (Model Connection Protocol) allows you to integrate Polar Analytics directly with automation tools like n8n, enabling real-time alerts and data-driven workflows without any manual intervention.
By connecting Polar MCP with Slack, you can automate notifications and insights from your Polar workspace, helping your team stay on top of key performance metrics directly inside Slack.
In this article, you’ll learn how to:
Connect the Polar MCP to n8n
Configure Slack as an output node
Create automated workflows that send marketing and ecommerce insights to your team in real time
Connecting Polar MCP to n8n
Step 1. Get your Polar MCP Endpoint
Log in to your Polar Analytics account.
Navigate to your workspace and ensure all key connectors (Shopify, Meta Ads, Google Ads, etc.) are active.
Copy your Polar MCP endpoint:
https://api.polaranalytics.com/mcp
This endpoint allows n8n to pull live, read-only data directly from your Polar workspace.
Step 2. Configure Polar MCP in n8n
Log in to your n8n dashboard.
Create a new workflow and add an HTTP Request node as your first step.
In the configuration panel:
HTTP Method:
POSTURL:
https://api.polaranalytics.com/mcpAuthentication: Basic (use your Polar credentials)
Content Type:
application/json
Add your query to the Body field. Example:
{ "query": "SELECT date, channel, spend, revenue, roas FROM marketing_performance WHERE date >= CURRENT_DATE - INTERVAL '1 DAY'" }Click Execute Node to test your query.
If everything is configured correctly, you’ll see JSON output containing your Polar data.
Step 3. (Optional) Add a Trigger Node
If you’d like the workflow to run automatically (for example, every morning):
Add a Cron node before the HTTP Request node.
Set it to trigger daily at a specific time (e.g., 8:00 AM).
This ensures Polar MCP runs automatically without manual execution.
Setting Up Slack as the Output Node
Once your Polar MCP connection is tested, it’s time to send results directly to Slack.
Step 1. Add a Slack Node
In your n8n workflow, add a new node and select Slack.
Choose the Send Message operation.
Connect your Slack account using OAuth authorization (you’ll be prompted to allow n8n access).
Step 2. Customize Your Slack Message
Use Slack’s message body to include dynamic data from the Polar MCP query.
Example configuration:
Channel:
#marketing-insightsMessage:
📊 *Daily Marketing Summary* Date: {{$json["date"]}} Channel: {{$json["channel"]}} Spend: ${{$json["spend"]}} Revenue: ${{$json["revenue"]}} ROAS: {{$json["roas"]}} _Generated automatically by Polar Analytics + n8n_
This message dynamically pulls values from the Polar MCP response and posts them to your chosen Slack channel.
Step 3. Add Conditional Alerts (Optional)
To make your workflow smarter, you can add a IF node before the Slack node to only trigger messages based on specific conditions.
Example use cases:
Send a message if ROAS < 2.0 (low campaign efficiency)
Alert if ad spend increases more than 20% day-over-day
Post only when a new campaign launches or hits a milestone
Example condition:
{{$json["roas"] < 2}}If this condition is met, the Slack message node executes; otherwise, the workflow stops silently.
Example Use Cases
Here are a few examples of how ecommerce and marketing teams use Polar MCP with Slack and n8n:
1. Daily Marketing Summary
Automatically post a summary of spend, ROAS, and conversions to your #marketing-insights Slack channel every morning.
2. Performance Alerts
Trigger real-time notifications when a channel’s performance dips below target thresholds (e.g., Meta Ads ROAS < 2).
3. Campaign Launch Reports
Notify your team when a new campaign starts or crosses a revenue milestone — perfect for collaborative performance tracking.
4. Store Performance Snapshots
If you manage multiple brands or markets, create separate Slack alerts per workspace using n8n filters.
These automated messages keep your teams informed without manual report pulling — ideal for fast-moving ecommerce teams.
By integrating Polar MCP with n8n and Slack, you can automate data workflows, reduce manual reporting, and deliver actionable insights directly to the channels your team uses every day.
Key takeaways:
The Polar MCP allows secure, real-time data access through API-style queries.
n8n acts as your automation engine to trigger, process, and format data.
Slack delivers that data instantly to your team — for visibility, accountability, and speed.
Once configured, this integration becomes a powerful automation loop for your analytics, ensuring your team stays aligned and proactive.
For further guidance, explore:
This guide walks you through how to use Polar MCP inside n8n to generate automated KPI summaries and send them directly to Slack each morning. Using Polar as a data source, Anthropic’s Claude as your reasoning engine, and Slack as your output channel, you can build a fully automated reporting workflow in just a few steps.
We’ll provide the required connection settings, a complete workflow you can copy, and a step-by-step tutorial to help you get everything running smoothly—even if you’re new to n8n or MCP.
Getting Started
To complete the Polar MCP installation in n8n, you will need:
Polar account (sign up here)
n8n account (both paid and free accounts can be used)
A paid Anthropic API key
In this article, we’ll build a simple workflow to:
Pull KPIs from Polar Dashboards
Iterating through a set of regional Views
and send an email report.
Workflow
Example output in Slack
1. Add a schedule trigger
Set to trigger daily at 6am
Click “Back to canvas” to close this popup.
2. Add an AI Agent
Click the + button
Choose AI Agent
In the pop-up, change the prompt to "Define below"
Change the prompt to "Expression"
And paste in the prompt from below:
The current date and time is: {{ $now }}.
Inspect store performance for yesterday. Summarise the key metrics (sales, cac, roas, new customer %) compared to last 7 days, and then generate some commentary to recommend actions or insights.
Output Slack's simplified `mrkdwn` format suitable to be sent in a slack message. (`mrkdwn` does not support headings or lists, and is styled with: _italic_ *bold* ~strike~, >blockquote and ```codeblock``` )
Do not explain what you are doing or ask for a rating afterwards, output only the message which will be sent directly.Notice that:Models don’t know the current date and time, so you need to tell it with n8n’s special
{{ $now }}placeholder. This will allow it to understand what you mean by ‘yesterday’.We tell it not to add any explanatory text. This avoids text in your slack message like
Here's your store performance summary in Slack mrkdwn format:.Models need guidance on the special version rich text syntax used by slack, called
mrkdwn.
Increase the default “Max iterations” option to 50
Click "back to canvas"
3. Add a Chat Agent
Click the plus Chat Model button
Choose Anthropic Chat Model
Create a new credential and add your Anthropic API key
Choose Claude Opus as the model for best performance
Click "back to canvas"
4. Add the Polar MCP tool
Click to add a tool
Choose "MCP Client Tool"
Give it a useful name like "Polar MCP"
Enter the Polar MCP connection details
Endpoint: https://api.polaranalytics.com/mcp
Server Transport: HTTP Streamable
Authentication: Bearer Auth
Create a new credential for Bearer Auth
Get your Polar MCP API Key
generate an API key
copy to the clipboard
Paste in your Polar API key as the Bearer TokenThen save and close the popup.
Go “Back to canvas”
5. Connect to Slack
Click the AI Agent’s output plus button
Find the Slack connector and choose “Send a message”
Create a new credential
Choose OAuth2 and click “Connect my account”, then allow access in the following screen
Choose “Send message to”: Channel, and type your channel name (or select from the list)
In the Message Text change it to “Expression” and set the value{{ $json.output }}
6. Run your workflow to testClick “Execute workflow”
Check the message appeared in Slack:
7. Set it Live
Set your workflow to “Active” at the top of the screen.
Whole workflow as JSONYou can copy and paste this directly into n8n to avoid building it yourself:
{
"nodes": [
{
"parameters": {
"rule": {
"interval": [
{
"triggerAtHour": 6
}
]
}
},
"type": "n8n-nodes-base.scheduleTrigger",
"typeVersion": 1.2,
"position": [
0,
0
],
"id": "d4e15fb6-a97a-44a6-9325-562d87e63372",
"name": "Schedule Trigger"
},
{
"parameters": {
"promptType": "define",
"text": "=The current date and time is: {{ $now }}.\n\nInspect store performance for yesterday.\nSummarise the key metrics (sales, cac, roas, new customer %)\ncompared to last 7 days,\nand then generate some commentary to recommend actions or insights.\n\nOutput Slack's simplified `mrkdwn` format suitable to be sent in a slack message. (`mrkdwn` does not support headings or lists, and is styled with: _italic_ *bold* ~strike~, >blockquote and ```codeblock``` )\n\nDo not explain what you are doing or ask for a rating afterwards,\noutput only the message which will be sent directly.",
"options": {}
},
"type": "@n8n/n8n-nodes-langchain.agent",
"typeVersion": 2.2,
"position": [
208,
0
],
"id": "75b54b42-3305-4307-9a12-97136fb3ba0b",
"name": "AI Agent"
},
{
"parameters": {
"model": {
"__rl": true,
"value": "claude-opus-4-1-20250805",
"mode": "list",
"cachedResultName": "Claude Opus 4.1"
},
"options": {}
},
"type": "@n8n/n8n-nodes-langchain.lmChatAnthropic",
"typeVersion": 1.3,
"position": [
208,
192
],
"id": "829fe02a-15a5-45b9-bda4-b821a017b7f7",
"name": "Anthropic Chat Model",
"credentials": {
"anthropicApi": {
"id": "bJw9JkTyJ6T8628H",
"name": "Anthropic account"
}
}
},
{
"parameters": {
"endpointUrl": "https://api.polaranalytics.com/mcp",
"serverTransport": "httpStreamable",
"authentication": "bearerAuth",
"options": {}
},
"type": "@n8n/n8n-nodes-langchain.mcpClientTool",
"typeVersion": 1.1,
"position": [
352,
208
],
"id": "16eaa03e-b5fc-4270-b195-7f81b023ea08",
"name": "Polar MCP",
"credentials": {
"httpBearerAuth": {
"id": "21QokhLHTqcS2UHf",
"name": "Bearer Auth account"
}
}
},
{
"parameters": {
"authentication": "oAuth2",
"select": "channel",
"channelId": {
"__rl": true,
"value": "#put-your-channel-here",
"mode": "name"
},
"text": "= {{ $json.output }}",
"otherOptions": {}
},
"type": "n8n-nodes-base.slack",
"typeVersion": 2.3,
"position": [
560,
0
],
"id": "3415ccf8-d413-4ec4-90b3-6a8488556445",
"name": "Send a message",
"webhookId": "65523a9c-18dd-4363-9c7c-b0ca4e7008da",
"credentials": {
"slackOAuth2Api": {
"id": "pz3BpkgfcoPBSdFe",
"name": "Slack account"
}
}
}
],
"connections": {
"Schedule Trigger": {
"main": [
[
{
"node": "AI Agent",
"type": "main",
"index": 0
}
]
]
},
"AI Agent": {
"main": [
[
{
"node": "Send a message",
"type": "main",
"index": 0
}
]
]
},
"Anthropic Chat Model": {
"ai_languageModel": [
[
{
"node": "AI Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Polar MCP": {
"ai_tool": [
[
{
"node": "AI Agent",
"type": "ai_tool",
"index": 0
}
]
]
}
},
"pinData": {},
"meta": {
"templateCredsSetupCompleted": true,
"instanceId": "ce0c989b9244d7f82bca36af8201c7e764dbba42c6b965519008b3c1fcda3605"
}
}
Once your workflow is activated, n8n will automatically pull KPI data from Polar, analyze store performance using Claude, format the results in Slack-friendly mrkdwn, and send the report straight to your selected Slack channel every morning. This setup gives you a reliable, hands-off way to monitor daily performance and surface actionable insights to your team.You can extend this workflow at any time by adding additional data sources, new KPIs, conditional alerts, or more advanced formatting. And if you need help connecting MCP, configuring models, or troubleshooting errors, our support team is always here to assist you.
