Turn Slack into your team's AI research analyst with Apify MCP Apify has published a tutorial showing how to build an AI research agent in Slack using its Model Context Protocol (MCP) server, which connects to Apify Actors for live web data extraction. The workflow, built on n8n, lets teammates tag @Research Analyst to get answers like competitor pricing or Reddit sentiment summaries directly in the thread. Apify's MCP server enables the agent to select specialized scraping tools and return structured, analyzed data rather than just links. If you use X, you’ve probably seen people tag @grok to verify a claim or summarize a thread without leaving the conversation. Team research requests should feel just as effortless. But a “quick” competitor pricing check or Reddit sentiment summary can easily turn into an hour of switching tabs, collecting data, and writing up findings. Here, you’ll learn to build an AI research agent directly in Slack. It connects to Apify through MCP https://mcp.apify.com , selects the right scraping tools, gathers live web data, and returns a clear answer in the original thread with context for follow-up questions. What makes the Apify MCP server useful for research agents? You could connect a generic web search tool to an agent, and it would work well for basic lookups. The real difference is the depth of the answers you can get back. If you ask a search tool what users are complaining about in product reviews, it may simply return links to review pages for you to inspect yourself. An agent connected to the Apify MCP server can go further. It can identify the target platform, select a specialized Actor, and extract reviews or conversations as structured data that it can analyze, count, and summarize. Instead of stopping at page links, Apify Actors can retrieve specific reviews, pricing details, and discussions from platforms such as Shopify, G2, and Reddit, including sites that are almost impossible to access with generic search tools. If you’re new to MCP, Apify’s Model Context Protocol explainer https://blog.apify.com/what-is-model-context-protocol/ covers the standard. A hands-on guide to using MCP with Apify Actors https://blog.apify.com/how-to-use-mcp/ walks through the client-server setup with practical examples. You can also watch this video walkthrough to connect Apify Actors to an AI agent through MCP https://www.youtube.com/watch?v=BKu8H91uCTg and see the workflow in action. Summary of what you’ll build You'll build an n8n workflow that connects five components. It starts with a Slack trigger that listens for bot mentions in any channel and passes the request to an AI agent, which analyzes the question and determines how to respond. The agent connects to an Apify MCP server, granting it access to a set of Actors that it can select and run dynamically as needed. Simple memory keeps follow-up questions tied to the right context, while a Slack reply node sends the final answer back to the original thread. End-to-end, the flow looks like this: a teammate asks, @Research Analyst, what does Competitor X charge for its Pro plan? n8n captures the mention, the agent determines that it needs live web data, calls the appropriate Actor through MCP, processes the results, and replies in the same thread with the pricing details and source links. Prerequisites You'll need the following before you start. Phase 1 walks through setting up each: - An Apify account https://console.apify.com/sign-up the free monthly credits cover everything in this tutorial . - An OpenAI platform account https://platform.openai.com/ . - A Slack workspace where you have permission to install apps https://api.slack.com/apps/ . - An n8n Cloud account https://app.n8n.cloud/register . Phase 1: Set up your accounts and tokens Step 1: Get your Apify API token - Sign up at https://apify.com/ https://apify.com/ if you don’t have an account, then open Apify Console. - In the left sidebar, click Settings , then select API & Integrations . - Under Personal API tokens , copy your default token, or click Add new token to create one and name it slack-analyst . - Paste it somewhere safe; you’ll need it when you connect the Apify MCP server in Phase 4. This token lets the agent run Actors through your Apify account. Apify bills all usage to that account, so your teammates can start using the agent immediately without creating their own Apify accounts. Contact sales https://apify.com/contact-sales Step 2: Create your OpenAI API key - Go to https://platform.openai.com/ https://platform.openai.com/ and sign in or create an account. - Open API keys from the left sidebar. - Click Create new secret key , name it slack-analyst , leave Permissions set to All , and click Create secret key . - Copy the key and paste it somewhere safe. - Open Billing under Settings , add a payment method, and buy a small amount of credit. $5 is enough for testing. This key lets the model analyze each question, select the appropriate Actor, and generate the final response. OpenAI bills API usage separately from ChatGPT subscriptions, so you’ll need to enable API billing on your developer account even if you already subscribe to ChatGPT Plus. Step 3: Create the Slack app The bot your team mentions is a custom Slack app installed directly in your workspace. Slack recently updated this process to use templates, so the setup route will look different now if you have built apps in the past: - Go to https://api.slack.com/apps/ https://api.slack.com/apps/ and click Create New App . - In the Create new app dialog, choose Starter app under Start with a template , then click Continue . - Name the app something your team will naturally type, such as Research Analyst , and select your workspace. - On the review screen, click Create and Install . - The success screen displays the Slack command-line interface CLI and steps to run the app locally. Skip these steps and click Go to App Settings . - In the left sidebar, open OAuth & Permissions and scroll to Bot Token Scopes . Confirm that these three scopes are present, and click Add an OAuth Scope to add any that are missing: app mentions:read , chat:write , and channels:history . - If you added scopes, Slack shows a banner asking you to reinstall the app; click it and approve. - Scroll up and copy the Bot User OAuth Token . It starts with xoxb- . Paste it somewhere safe. These scopes let the bot receive mentions, post replies, and read messages in public channels it has joined. The Simple Memory node configured later preserves conversational context. The starter template includes basic event handling, but in Phase 4, you’ll point the app’s event subscriptions to your n8n webhook instead. Phase 2: Set up your n8n Cloud workspace This project requires a public web address URL for your n8n instance so Slack can deliver mention events through a webhook. n8n Cloud provides a secure public URL by default, so we’ll use it. Step 1: Create your workspace - Go to https://n8n.io/ https://n8n.io/ and click Get started for free . - Fill in your name, email, and a password to create the admin account. No credit card is needed for the trial. - Choose an account name. - Answer the short onboarding questions, verify your email if prompted, and n8n will open a new workspace editor for you. Phase 3: Configure the Apify MCP server The Apify MCP server lets you preload specific Actors as always-available tools. You can also enable Actor discovery so the agent can find and run additional Actors when needed. - Go to https://mcp.apify.com/ https://mcp.apify.com/ and sign in with your Apify account. - Under Preloaded Actors , click Add Actors and select two useful defaults: RAG Web Browser https://apify.com/apify/rag-web-browser for searching the web and reading pages, and Google Search Results Scraper https://apify.com/apify/google-search-scraper for questions about search rankings. - Turn on Actor discovery and management . This lets the agent search Apify Store at runtime when neither preloaded tool fits. - Scroll up and copy the Apify MCP server URL. Preloaded Actors provide a guided pathway for the agent. When handling tasks, the agent can autonomously discover and run any tool. This discovery process enables it to prioritize reliable, cost-effective tools, steering it away from the unpredictable nature of a store search while retaining access to a wide range of options. Phase 4: Build the workflow Step 1: Configure the Slack Trigger node - In the n8n editor, click Add workflow in the top-left corner, then name the workflow. - On the empty canvas, click Add first step , search for slack trigger , and select Slack . - Expand Triggers , then select Bot / App Mention . - Open Credential , then select Create New Credential . - Paste the bot token into Access Token and the app’s signing secret into Signature Secret . You can find the signing secret under App Credentials on the Slack app’s Basic Information page. - Turn on Watch Whole Workspace . - Save the workflow with Cmd/Ctrl + S , then click Publish in the top-right corner. - Expand Webhook URLs at the top of the node, open the Production tab, and copy the URL. It contains your workspace’s public app.n8n.cloud address. The signing secret secures the public webhook by verifying that incoming events are authentic. Watch Whole Workspace lets the bot respond in any channel it has joined, but only when someone mentions it. Publish the workflow now so Slack can validate the production URL, and publish again after future edits to update the live version. Step 2: Register the webhook with Slack Open your Slack app’s settings at https://api.slack.com/apps/ https://api.slack.com/apps/ and stay there for this step. - In the left sidebar, open Socket Mode and make sure it’s turned off. - Open Event Subscriptions in the left sidebar and turn on Enable Events . - Paste the production webhook URL into Request URL . - Under Subscribe to bot events , click Add Bot User Event , then add app mention . - Click Save Changes and approve the reinstall if Slack prompts you to. If Slack can’t verify the Request URL, confirm that Socket Mode is off and the workflow is published. The icon next to Publish should be green, not yellow. Step 3: AI Agent node - On the Slack Trigger node, click the + on its output dot. - Search ai agent and select the AI Agent operation. Rename it to Research analyst . - Set the Source for Prompt dropdown to "Define below". - Switch the Prompt field to Expression mode and paste {{ $json.text.replace /<@ ^ + \s /g, '' .trim }} . - Scroll down to Options and click Add Option , then choose System Message. - Paste the prompt below into the text box that appears. You are a research analyst working inside a company Slack workspace. Teammates mention you with research questions, and you answer them using live web data gathered through your Apify tools. Tool strategy: for general questions, search the web and read the most relevant pages with the RAG Web Browser. For questions about what ranks in search, use the Google Search Results Scraper. If the question targets a specific platform your preloaded tools don't cover, such as Reddit, a review site, a job board, or an e-commerce store, search the Apify Store for a suitable Actor, check its input schema, and run it with conservative limits. Keep result limits small: 10 to 20 items is enough to answer most questions. If a message contains a URL, fetch and read that URL rather than searching for it. Answer rules: synthesize, don't dump. Lead with the direct answer, then the key supporting facts, then the source links. Always include the URLs you drew from. If you could not find reliable data, say so plainly rather than guessing. If a question is too ambiguous to research, ask one short clarifying question instead of running tools. Formatting: you are writing for Slack, which does not render standard Markdown. Use Slack formatting only: single asterisks for bold, hyphens for bullet lists, and raw URLs or