Skip to content

Agent benchmark

Five jobs an AI agent does for your DMs. Who can do them?

Postkey is the most agentic DM automation tool. This page is how you can check that: five everyday jobs, run through Postkey's MCP server, and every rival read from its own docs, with dates and links.

The short answer

Postkey did all five jobs in our run: create a comment-to-DM automation, edit it, switch it on, read analytics, schedule a post. By their own docs, Blotato and SuperProfile can do all five through MCP too. InstantDM's MCP cannot build or switch on automations, and ManyChat, LinkDM and CreatorFlow have no MCP server. Postkey's difference is how it does them: a preview before every send and your approval by default.

Updated October 20, 2026

The five jobs

  1. 01

    Create a comment-to-DM automation. Asked as: "When someone comments GUIDE on my post, DM them my guide link."

  2. 02

    Edit it. Asked as: "Change the keyword and rewrite the first DM."

  3. 03

    Switch it on. Asked as: "Turn it on."

  4. 04

    Read analytics. Asked as: "How are my automations doing?"

  5. 05

    Schedule a post. Asked as: "Schedule this post for tomorrow."

Results

"Done" means we ran it ourselves through the tool's MCP server. "Yes", "No" and "Partly" are what the tool's own docs say, read October 20, 2026, with a link for each below. Nothing here is a guess: where the docs do not say, it says "Unclear".

Five jobs through each tool's MCP server (read or run October 20, 2026)
ToolCreate a comment-to-DM automationEdit itSwitch it onRead analyticsSchedule a post
PostkeyDone (we ran it)Done (we ran it)Done (we ran it)Done (we ran it)Done (we ran it)
BlotatoYes (its docs)Yes (its docs)Yes (its docs)Yes (its docs)Yes (its docs)
SuperProfileYes (its docs)Yes (its docs)Yes (its docs)Yes (its docs)Yes (its docs)
InrōYes (its docs)Yes (its docs)Yes (its docs)Partly (its docs)Yes (its docs)
InstantDMNo (its docs)No (its docs)No (its docs)Partly (its docs)No (its docs)
ChatfuelUnclearUnclearUnclearUnclearUnclear
ManyChatNo (its docs)No (its docs)No (its docs)No (its docs)No (its docs)
LinkDMNo (its docs)No (its docs)No (its docs)No (its docs)No (its docs)
CreatorFlowNo (its docs)No (its docs)No (its docs)No (its docs)No (its docs)

ManyChat, LinkDM and CreatorFlow: no MCP server found, so there was nothing to connect an assistant to. Rivals were not run by us; see "How we tested".

The MCP servers

Each tool's MCP server, in its own words (read October 20, 2026)
ToolAddress and sign-inToolsPlans
Postkey (in the MCP Registry)https://postkey.pro/mcp (OAuth 2.1 sign-in, or an agent key)45 toolsEvery plan
Blotato (in the MCP Registry)https://mcp.blotato.com/mcp (OAuth, or an API key)35 toolsPaid Starter, Creator and Agency plans; not the free trial
SuperProfile (in the MCP Registry)https://mcp.superprofile.bio/mcp (OAuth with PKCE and permission scopes)289 tools across 15 areasA free account; scheduling and some Auto-DM features need a paid plan
Inrōhttps://api.inro.social/mcp (OAuth 2.1, or a private API token)41 tools (help center; its blog says 25)Pro or trial
InstantDMhttps://openapi.instantdm.com/mcp (An API key in the address)22 toolsTrendsetter and up, and the free trial
Chatfuelhttps://mcp.chatfuel.com/panel (OAuth sign-in, or a token)Not published (beta; it passes through Chatfuel's GraphQL API)Not stated

No MCP server found: ManyChat, LinkDM and CreatorFlow.

Postkey's run, call by call

We ran the five jobs on a Postkey server built from main at commit b7589981, run locally with demo data (PE_DEMO=1), through the same MCP server and tools an assistant uses on postkey.pro. The connection asked for every permission except the X toolkit, so it listed 40 of the 45 tools.

With "ask first" on, the default for every new connection: postkey_publish_automation answered that the automation is waiting in Approvals: nothing is sent until a person approves it in Postkey. postkey_schedule_post answered that the post is waiting in Approvals and goes out only after a person approves it.

The automation was paused and the post unscheduled and deleted at the end (postkey_pause_automation, postkey_unschedule_post, postkey_delete_post).

  1. 01

    Run it yourself against a local Postkey server, or your own account with an agent key:

    cd app && npm run agent:benchmark -- --base=http://127.0.0.1:3331 --demo (a local PE_DEMO=1 POSTKEY_AGENT_API=1 server), or POSTKEY_AGENT_KEY=... npm run agent:benchmark -- --base=https://postkey.pro --live-ok
What each call did
JobWhat happenedMCP tools
Create a comment-to-DM automationA draft comment-to-DM automation from a template, with the keyword and link the person asked for. Nothing is sent until it is switched on.postkey_list_automation_templates, postkey_create_automation
Edit itNew keyword and first DM saved to the draft and read back; a live automation keeps its published version until it is switched on again. Over MCP this works for automations made with the Quick form; one built in the Flow Builder can only be renamed, the rest is edited in the Flow Builder.postkey_update_automation, postkey_get_automation
Switch it onPreviewed, then switched on (live). With "ask first" on, the default, it waits for a person's approval in Postkey instead.postkey_preview_action, postkey_publish_automation
Read analyticsPer automation and in total: triggered, DMs sent, delivered, read, link clicks, unique clicks, failed, unique contacts, click rate.postkey_get_automation_stats
Schedule a postA draft post, previewed, then scheduled for the next day. With "ask first" on, it waits for approval first.postkey_list_social_accounts, postkey_create_post, postkey_preview_action, postkey_schedule_post

How Postkey does the same jobs

What the run shows about how Postkey works, from Postkey's own tools:

  • Every send can be previewed first: postkey_preview_action shows what switching on or scheduling would do, and changes nothing.
  • Switching on an automation, scheduling a post and sending a reply wait for a person's approval by default. The person can turn that off per connection.
  • An edit to a live automation is saved to its draft; people keep getting the published version until it is switched on again.
  • Text from DMs and comments reaches the assistant marked as written by someone else, and it is told never to follow it.
  • Each connection has limits: up to 60 requests a minute and 200 changes a day by default.
  • The same automation an assistant builds opens in Postkey's Flow Builder, where a person can change anything.

Where rivals match Postkey or do more

On these five jobs, Postkey is not alone. By their own docs, Blotato and SuperProfile can do all five through MCP, and Inrō four of them. Where they do more, in their own words:

  • Blotato: Posts and schedules to 9 networks, Pinterest and Bluesky among them.
  • Blotato: AI image and video generation in the same MCP server.
  • Blotato: Listed in the official MCP Registry, like Postkey.
  • SuperProfile: Far more tools (289), covering its whole creator store: products, courses, webinars, bookings.
  • SuperProfile: A free account reaches the MCP server.
  • SuperProfile: Fine-grained permission scopes and idempotency keys on writes.
  • Inrō: Builds an automation three ways over MCP: from a template, from a prompt, or from a full tree of triggers and actions in JSON. Postkey's assistant builds from templates.
  • Inrō: Broadcast campaigns, contact segments and bulk contact updates through MCP.
  • Inrō: A partner connection for agencies.
  • InstantDM: Reads and answers the DM inbox and comments on Meta ads; reading is free, each send costs a credit.
  • Chatfuel: Its MCP server reaches the whole Chatfuel GraphQL API, so in principle anything the account allows.
  • ManyChat: The biggest DM automation tool, with the most channels and templates; its users ask for an agent-ready API on its own community board.
  • LinkDM: A generous free plan and DM credits that never expire.

Where Postkey falls short today

  • The assistant builds automations from Postkey's templates. A custom multi-step flow is built by a person in the Flow Builder; Inrō's MCP can build one from a prompt or a full JSON definition.
  • Over MCP, an automation built in the Flow Builder can only be renamed; its steps are edited in the Flow Builder.
  • Fewer tools than SuperProfile (289) and no AI image or video generation, which Blotato has.

Each rival, job by job

What each rival's own docs say, and where
Tool and jobIts docs sayDetails
Blotato: create a comment-to-DM automationYesblotato_create_automation: "It starts as an inactive draft unless isActive is true." (Blotato help: MCP tools reference)
Blotato: edit itYesblotato_update_automation. Its docs: "Content changes to a live automation publish immediately." (Blotato help: MCP tools reference)
Blotato: switch it onYesblotato_update_automation with isActive true (Blotato help: MCP tools reference)
Blotato: read analyticsYesblotato_get_automation_analytics (triggered, completed, failed) and blotato_get_post_analytics (Blotato help: MCP tools reference)
Blotato: schedule a postYesblotato_create_post with scheduledTime, or the next free slot (Blotato help: MCP tools reference)
SuperProfile: create a comment-to-DM automationYesprepare_automation, then save_auto_dm_automation: "A new automation is saved as a draft for you to review, and nothing sends until it is turned on." (SuperProfile: Instagram Auto-DM MCP)
SuperProfile: edit itYesget_automation, then prepare_automation and save_auto_dm_automation (SuperProfile: MCP tools)
SuperProfile: switch it onYesactivate_automation: "Publish a saved draft or resume a paused automation" (SuperProfile: MCP tools)
SuperProfile: read analyticsYesget_analytics: "Report Auto-DM runs and instrumented clicks" (SuperProfile: MCP tools)
SuperProfile: schedule a postYesprepare_scheduled_post, then schedule_post (paid plan) (SuperProfile: MCP tools)
Inrō: create a comment-to-DM automationYes"Comment-to-DM in one call: Attach a Comment-to-DM automation to any post through the media tool." (Inrō help: MCP server)
Inrō: edit itYes"Update an existing scenario: change its title, toggle it on or off, or replace its content" (Inrō help: build automations via API and MCP)
Inrō: switch it onYesThe same update call toggles a scenario on (Inrō help: build automations via API and MCP)
Inrō: read analyticsPartly"view campaign performance" (broadcasts). Automation performance is in its API; its MCP docs do not say it is a tool (Inrō help: MCP server)
Inrō: schedule a postYes"create, schedule, publish or delete Instagram posts (image, reel or carousel) and stories." (Inrō help: MCP server)
InstantDM: create a comment-to-DM automationNoNo create-automation tool; trigger_flow only starts a flow made by hand (instantdm.com/mcp)
InstantDM: edit itNoNo tool to change an automation (InstantDM OpenAPI spec (linked from its docs))
InstantDM: switch it onNodisable_automation pauses all automations; no tool switches one on (InstantDM OpenAPI spec (linked from its docs))
InstantDM: read analyticsPartlyInstagram account and post insights (get_account_insights, get_post_insights), not automation results (instantdm.com/mcp)
InstantDM: schedule a postNocreate_post publishes at once; it takes no time (InstantDM OpenAPI spec (linked from its docs))
Chatfuel: create a comment-to-DM automationUnclearIts MCP is in beta and lists no tools; it says it manages "comment replies" (chatfuel.com/llms.txt)
Chatfuel: edit itUnclearNo tool list published (chatfuel.com/llms.txt)
Chatfuel: switch it onUnclearNo tool list published (chatfuel.com/llms.txt)
Chatfuel: read analyticsUnclearNo tool list published (chatfuel.com/llms.txt)
Chatfuel: schedule a postUnclearNo tool list published, and no post scheduler found (chatfuel.com/llms.txt)
ManyChat: create a comment-to-DM automationNoNo endpoint creates a flow; the API lists flows and sends one to a contact (ManyChat Page API (swagger))
ManyChat: edit itNoNo endpoint changes a flow (ManyChat Page API (swagger))
ManyChat: switch it onNoNo endpoint switches a flow on (ManyChat Page API (swagger))
ManyChat: read analyticsNoNo analytics endpoint (ManyChat Page API (swagger))
ManyChat: schedule a postNoNo post scheduler (ManyChat Page API (swagger))
LinkDM: create a comment-to-DM automationNoNo MCP server or public API (linkdm.com/llms.txt)
LinkDM: edit itNoNo MCP server or public API (linkdm.com/llms.txt)
LinkDM: switch it onNoNo MCP server or public API (linkdm.com/llms.txt)
LinkDM: read analyticsNoNo MCP server or public API (linkdm.com/llms.txt)
LinkDM: schedule a postNoNo MCP server or public API (linkdm.com/llms.txt)
CreatorFlow: create a comment-to-DM automationNoNo MCP server or public API (creatorflow.so)
CreatorFlow: edit itNoNo MCP server or public API (creatorflow.so)
CreatorFlow: switch it onNoNo MCP server or public API (creatorflow.so)
CreatorFlow: read analyticsNoNo MCP server or public API (creatorflow.so)
CreatorFlow: schedule a postNoNo MCP server or public API (creatorflow.so)

Sources: Blotato help: MCP server, Blotato help: MCP tools reference, SuperProfile: Instagram Auto-DM MCP, SuperProfile: MCP tools, Inrō help: MCP server, Inrō help: build automations via API and MCP, instantdm.com/mcp, InstantDM OpenAPI spec (linked from its docs), chatfuel.com/llms.txt, ManyChat Page API (swagger), linkdm.com/llms.txt, creatorflow.so

How we tested, and what we did not

  • Postkey: run by us on October 20, 2026, MCP call by MCP call (scripts/agent-benchmark.ts in Postkey's code).
  • Blotato: Not run by us: MCP access needs a paid Blotato plan, and we have not bought one. The cells are from its own docs. Read October 20, 2026.
  • SuperProfile: Not run by us: it needs an account with a connected Instagram account, and we have not made one. The cells are from its own docs. Read October 20, 2026.
  • Inrō: Not run by us: it needs an account with a connected Instagram account, and we have not made one. The cells are from its own docs. Read October 20, 2026.
  • InstantDM: Not run by us: it needs an account with a connected Instagram account, and we have not made one. The cells are from its own docs. Read October 20, 2026.
  • Chatfuel: Not run by us: it needs an account with a connected Instagram account, and we have not made one. The cells are from its own docs. Read October 20, 2026.
  • ManyChat: Nothing to run: no official MCP server found. The cells read ManyChat's public API, which an unofficial MCP server would have to wrap. Read October 20, 2026.
  • LinkDM: Nothing to run: no MCP server and no public API found. Read October 20, 2026.
  • CreatorFlow: Nothing to run: no MCP server and no public API found (creatorflow.so/mcp answers 404). Read October 20, 2026.
  • We will rerun Postkey after any change to these tools and read the rivals' docs again every month. If a rival's docs change, tell us and we will update the page.

Why Postkey is the most agentic DM automation tool

Postkey was built for AI agents from the start, not given an API afterwards. An agent can do the whole job, not only press a button you set up by hand:

  • Build, edit and switch on DM automations: comment to DM, keyword DMs, follow to unlock, collecting emails.
  • Read the inbox, draft replies and send them once you say yes.
  • Write, schedule and publish posts, and set the DM keyword each post's comments reply to.
  • Find and tag contacts, and report how posts and automations did.
  • Up to 45 tools in one MCP server, with OAuth sign-in or an agent key, and a skill file that teaches the agent the rules.
  • Approvals, limits and protection from instructions hidden in DMs built in, so you can let an agent run it.

Questions

In this benchmark, Postkey (run by us), and by their own docs Blotato and SuperProfile: each can create, edit and switch on a comment-to-DM automation, read analytics and schedule a post through MCP.

Not through an official route we could find: ManyChat has no official MCP server (searched October 20, 2026), and its public API lists flows and sends them but cannot create or change one.

Not by default. Switching on an automation, scheduling a post and sending a reply wait for a person's approval unless that person turns it off for the connection.

No. Testing each needs an account, and some need a paid plan. Their cells come from their own docs, with the date and a link, so you can check them.

Connect your assistant and try the five jobs yourself.

Get started free →