I Wired My Instagram Analyzer Actor Straight Into Slack With An MCP Connector - Here's What Broke First
I run Instagram Influencer Deep Analyzer , an Apify Actor that scrapes an Instagram profile, calculates engagement rate, and scores the account for fake-follower probability. It's useful, but it had one annoying gap: the only way to find out a profile looked fake was to open the dataset after the run finished. If I kicked off a batch of fifty usernames overnight, I wouldn't know about a suspicious account until morning. Apify's new MCP connectors gave me a clean way to close that gap. Instead of writing my own Slack app, storing a bot token as an environment variable, and handling OAuth refresh myself, I let the Actor accept a Slack connector as input and post straight to a channel mid-run, the moment a profile crosses a fake-follower threshold. What I was actually trying to fix The analyzer already calculates a fakeFollowerProbability score for every profile (src/scoring/ai-scorer.ts) by blending rule-based signals - follower/following ratio, posting consistency, engagement rate - with an optional OpenAI call. That score was only ever useful in hindsight. I wanted it to be useful the moment it was computed. The obvious approach is a webhook: call fetch() against Slack's chat.postMessage API with a bot token. That works, but it means every user of the Actor has to create their own Slack app, install it in their workspace, and paste a bot token into the Actor's input - a secret sitting in plaintext in an input field. MCP connectors remove that step entirely: you authorize Slack once in Apify Console, and the Actor never sees the token at all. How the connector actually reaches Slack Apify's MCP connectors work as a proxy. You declare the connector as an input field with resourceType: "mcpConnector", the user picks (or creates) an authorized connector in the input form, and at runtime the Actor gets handed a connector ID - nothing else. Here's the relevant chunk of .actor/input_schema.json: { "slackConnector": { "title": "Slack connector", "type": "string", "descripti