This workflow corresponds to n8n.io template #14322 — we link there as the canonical source.
This workflow follows the Agent → OpenAI Chat 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 →
{
"id": "axvgeIfBbcec3FS6",
"meta": {
"templateCredsSetupCompleted": true
},
"name": "Ask your business data in Slack and get AI-powered insights",
"tags": [
{
"id": "ZLNp4q7bLInAPzlr",
"name": "Databox MCP",
"createdAt": "2026-02-12T05:49:19.149Z",
"updatedAt": "2026-02-12T05:49:19.149Z"
},
{
"id": "bFIOup2OMjumNSaA",
"name": "Slack",
"createdAt": "2026-03-25T10:40:09.364Z",
"updatedAt": "2026-03-25T10:40:09.364Z"
},
{
"id": "fjJWe0P5GkqnbIXj",
"name": "Automation",
"createdAt": "2026-02-12T05:49:19.177Z",
"updatedAt": "2026-02-12T05:49:19.177Z"
}
],
"nodes": [
{
"id": "f5b4185a-5d5b-44b1-8990-78ddafcd5b69",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
3680,
1776
],
"parameters": {
"color": 7,
"width": 1688,
"height": 408,
"content": "## Ask Your Business Data in Slack and Get AI-powered Insights via Databox MCP\n\nGet instant answers about your business metrics directly in Slack. Mention the bot with any question - \"How did Google Ads perform this week?\" or \"What's our YouTube watch time vs. last month?\" - and the AI agent pulls live data from Databox via MCP and replies in the channel.\n\n### How it works\n`Slack Trigger (Bot Mention)` \u2192 `AI Agent (queries Databox MCP)` \u2192 `Reply in Slack`\n\n### What you need\n- Databox account with data sources connected \u2192 Free plan available: https://databox.com/?ref=n8n\n- A custom Slack app (see setup instructions below)\n- OpenAI or Claude API key\n\n### Supported Data Sources\nGoogle Ads \u2022 Google Analytics \u2022 Facebook Ads \u2022 YouTube \u2022 HubSpot \u2022 Salesforce \u2022 Stripe \u2022 And 100+ more \u2192 https://databox.com/integrations"
},
"typeVersion": 1
},
{
"id": "ce43c8be-01bf-4152-9867-67ab2d8c45cc",
"name": "Sticky Note 1",
"type": "n8n-nodes-base.stickyNote",
"position": [
3680,
2208
],
"parameters": {
"color": 4,
"width": 500,
"height": 1436,
"content": "## 1\ufe0f\u20e3 Slack App + Trigger Setup\n\n### What this section does\nListens for @mentions of your Slack bot in a specific channel and forwards the question to the AI Agent.\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\n\n\n\n### What you need to do \u26a0\ufe0f\n### Step 1 - Create a Slack app \n1. Go to https://api.slack.com/apps and click **Create an App** \u2192 From scratch\n2. Name it (e.g. \"Databox Assistant\") and select your workspace\n3. Go to **OAuth & Permissions** \u2192 under Bot Token Scopes, add:\n - `app_mentions:read`\n - `chat:write`\n4. Click **Install to Workspace** and authorize - you'll get a **Bot User OAuth Token** (starts with `xoxb-`)\n5. Go to **Basic Information** \u2192 copy the **Signing Secret**\n\n### Step 2 - Create credential in n8n \n1. In n8n, go to **Credentials** \u2192 Add credential \u2192 search **Slack API**\n2. Paste the **Bot User OAuth Token** into Access Token\n3. Paste the **Signing Secret** into Signature Secret\n4. Save and select this credential in both the **Slack Trigger** and **Reply in Thread** nodes\n\n### Step 3 - Register the webhook \n1. Copy the **Production URL** from the Slack Trigger node (expand Webhook URLs at the top)\n2. Make the workflow **Active** (toggle top right in n8n)\n3. In your Slack app, go to **Event Subscriptions** \u2192 toggle On\n4. Paste the webhook URL - Slack will verify it automatically\n5. Under **Subscribe to bot events**, add `app_mention`\n6. Click **Save Changes**\n\n### Step 4 - Add bot to channel \n1. In Slack, go to the channel you want to monitor\n2. Type `/invite @YourBotName` to add the bot\n3. Update the **Channel to Watch** field in this trigger node to your channel ID\n - Find your channel ID: right-click channel \u2192 View channel details \u2192 scroll to bottom"
},
"typeVersion": 1
},
{
"id": "93ded68c-a533-491a-8002-128057675dc7",
"name": "Sticky Note 2",
"type": "n8n-nodes-base.stickyNote",
"position": [
4224,
2208
],
"parameters": {
"color": 6,
"width": 550,
"height": 1148,
"content": "## 2\ufe0f\u20e3 AI Agent + Databox MCP Setup\n\n### What this section does\nThe AI Agent reads the user's Slack question, queries Databox via MCP for the relevant data, and formats a concise Slack-friendly reply.\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\n\n\n\n### What you need to do \u26a0\ufe0f\n1. Click **OpenAI Chat Model** \u2192 add your `API key` credential\n - You can replace this with the **Anthropic Chat Model** node\n2. Click **Databox MCP Tool** \u2192 set Authentication to `OAuth2` \u2192 authorize with your Databox account\n3. Ensure the data sources relevant to your team's questions are connected in Databox\n\n\n### How to connect Databox MCP Tool in n8n\n@[youtube](892KtXhv-vI)"
},
"typeVersion": 1
},
{
"id": "9fe07b6a-5290-46a5-9823-8576b22e25f9",
"name": "Sticky Note 3",
"type": "n8n-nodes-base.stickyNote",
"position": [
4816,
2208
],
"parameters": {
"color": 5,
"width": 550,
"height": 1148,
"content": "## 3\ufe0f\u20e3 Slack Message\n\n### What this section does\nThe AI agent delivers in Slack, augmented with intelligent analysis to provide deeper insights and actionable information.\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\n\n\n\n\n### What you need to do \u26a0\ufe0f\n- Use the **same Slack API credential** as in the Slack Trigger node (the bot token, not a personal OAuth account)\n- Ensure your bot has been invited to the channel with `/invite @YourBotName`\n- **Optional**: Add an error message node if the agent returns no data"
},
"typeVersion": 1
},
{
"id": "554aa5e2-eb21-4950-a26e-aacca3f1b490",
"name": "Slack Trigger",
"type": "n8n-nodes-base.slackTrigger",
"notes": "Triggers when someone @mentions the bot - change channel ID to your channel",
"position": [
3856,
2432
],
"parameters": {
"options": {},
"trigger": [
"app_mention"
],
"channelId": {
"__rl": true,
"mode": "id",
"value": "C0AELRTHZAA"
}
},
"credentials": {
"slackApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "4443080d-06cb-476b-9eb4-9d3117e12be3",
"name": "Databox AI Assistant",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
4384,
2432
],
"parameters": {
"text": "=={{ $json.text }}",
"options": {
"systemMessage": "You are a data assistant for Databox. A team member has asked you a question about their business metrics via Slack.\n\nSTEP-BY-STEP WORKFLOW:\n1. Call list_accounts to get the account ID.\n2. Call list_data_sources to discover all connected data sources.\n3. Based on the user's question, identify the relevant data source(s) and metrics.\n4. Fetch the relevant data using load_metric_data or ask_genie for the time period mentioned (default to last 7 days if not specified).\n5. Calculate any comparisons or trends the user asked about.\n6. Reply in a concise, Slack-friendly format.\n\nFORMAT RULES:\n- Keep the answer short and focused - this is a Slack message, not a full report\n- Use *bold* for key numbers and metric names\n- Use emojis to make it scannable (\ud83d\udcca \ud83d\udcc8 \ud83d\udcc9 \ud83d\udcb0 \ud83c\udfaf)\n- If comparing two periods, show the WoW or MoM % change\n- Format numbers with commas. Use $ for currency, % for rates\n- End with one short AI-generated insight or recommendation\n- Do NOT include preamble, disclaimers, or sign-offs\n- If the question is ambiguous, make a reasonable assumption and answer it"
},
"promptType": "define"
},
"retryOnFail": false,
"typeVersion": 3,
"alwaysOutputData": true
},
{
"id": "7bed168f-5d5a-45f4-9e57-b2d646754209",
"name": "Databox MCP Tool",
"type": "@n8n/n8n-nodes-langchain.mcpClientTool",
"position": [
4576,
2656
],
"parameters": {
"options": {},
"endpointUrl": "https://mcp.databox.com/mcp",
"authentication": "mcpOAuth2Api"
},
"credentials": {
"mcpOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 1.2
},
{
"id": "5997d629-1be2-4c36-b72f-4c22b239d306",
"name": "OpenAI Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
4320,
2656
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4o",
"cachedResultName": "gpt-4o"
},
"options": {
"maxTokens": 4096
},
"builtInTools": {}
},
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.3
},
{
"id": "f8b06d7a-31c6-4ce6-9f79-03e680612195",
"name": "Post message",
"type": "n8n-nodes-base.slack",
"notes": "Replies in the same Slack channel - use the same Slack API credential as the trigger",
"position": [
5024,
2432
],
"parameters": {
"text": "={{ $json.output }}",
"select": "channel",
"channelId": {
"__rl": true,
"mode": "id",
"value": "={{ $('Slack Trigger').item.json.channel }}"
},
"otherOptions": {}
},
"credentials": {
"slackApi": {
"name": "<your credential>"
}
},
"typeVersion": 2.2
}
],
"active": true,
"settings": {
"executionOrder": "v1"
},
"versionId": "c2a8a269-27bb-43cb-9daa-3b3b9fe22e5a",
"connections": {
"Slack Trigger": {
"main": [
[
{
"node": "Databox AI Assistant",
"type": "main",
"index": 0
}
]
]
},
"Databox MCP Tool": {
"ai_tool": [
[
{
"node": "Databox AI Assistant",
"type": "ai_tool",
"index": 0
}
]
]
},
"OpenAI Chat Model": {
"ai_languageModel": [
[
{
"node": "Databox AI Assistant",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Databox AI Assistant": {
"main": [
[
{
"node": "Post message",
"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.
mcpOAuth2ApiopenAiApislackApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
Stop switching between Slack and your analytics dashboards. Mention the bot in any Slack channel, ask a business question, and get an AI-powered answer from Databox in seconds - without leaving Slack. Marketing and growth teams who want instant data answers during standups…
Source: https://n8n.io/workflows/14322/ — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
This workflow transforms Slack into a powerful command center for recruitment. Using an AI Agent (LangChain) integrated with the Recrutei ATS API and MCP, your team can manage candidates, vacancies, t
This workflow automates market-driven content ideation by continuously discovering real user pain points from public discussions and converting them into execution-ready content ideas. It is designed
This workflow implements role-based access control for AI agent tools using Port as the single source of truth for permissions. Different users get access to different tools based on their roles, with
Stop forgetting to send follow-up surveys. This workflow automatically generates a tailored post-meeting survey from your Google Meet notes the moment a meeting ends, and sends it to all attendees wit
Managing contracts manually is time-consuming and prone to human error, especially when documents need to be shared, tracked, and stored across different tools. This workflow automates the entire proc