On this page

#Vatio vs Manychat

Manychat and Vatio meet on Instagram and WhatsApp, but they are built for different jobs. Manychat is a chat marketing tool: you build automations in its visual Flow Builder that start from a comment, a keyword or a message on Instagram, Messenger, WhatsApp, TikTok or Telegram, send broadcasts to your contacts, and add AI replies. Vatio gives the app you're building with a coding agent an agent of its own: your coding agent writes it into your app's project, it knows who the signed-in user is and acts through your app's API, and it lives in your app first, with WhatsApp and Instagram as added channels. If you're growing an audience on social, Manychat is the better fit. If your users need help with their account in your app, Vatio is.

#What Manychat is

Manychat's help center calls what it does chat marketing. Its main parts:

  • Flow Builder. Automations built visually: a trigger, then messages, conditions and actions. Triggers include comments on an Instagram post or reel and keywords in a message, and a comment can be answered with a private DM.
  • Broadcasts. Messages sent to contact lists you narrow down with filters.
  • Manychat AI. AI Step runs a conversation with a goal inside a flow, on Messenger, Instagram, WhatsApp, TikTok and Telegram. Intention Recognition starts a flow from what a message means rather than from an exact keyword.
  • AI on Instagram. AI Replies answers DMs from your Knowledge: text you paste, or public pages you link. AI Behavior sets the AI's role, brand voice and guardrails, and the Playground lets you test answers before going live. If the AI can't answer, it can assign the conversation to a team member. Manychat's help center lists these as available on Instagram.
  • Your own systems. The External Request action sends an HTTPS request from a flow to your server and maps the JSON answer into custom fields. A Dynamic Block lets your server reply with messages in Manychat's format, and Manychat has an API of its own.
  • Inbox. Your team replies to contacts there. When someone replies, automations to that contact pause, for 30 minutes by default, a duration you can change.

#What Vatio is

Vatio is an agent for the app you're building, with a coding agent or an app builder. It has two steps. The fastest, from any chat: add the remote MCP server https://vatio.ai/mcp as a connector in Claude, ChatGPT or Cursor, sign in with a Vatio account and ask for the agent; it is created in a preview to try, and nothing reaches your users until you publish (Vatio in Claude and ChatGPT). To build the agent into the app's code: in the project run npx @vatio-ai/skills, then /vatio-init, and /vatio-improve daily. Your coding agent reads the app, asks what the code doesn't answer and writes the agent into your project: instructions in vatio.yml, tools that call your API, and knowledge entries, which you can review like the rest of your code.

Your team follows the conversations in the inbox and takes one over by replying. When a reply is wrong, someone reports it and writes what should have happened, and that note becomes a test. /vatio-improve fixes the cause in your project, Vatio replays the reported cases against a preview, and you approve each publish.

#The main differences

ManychatVatio
Built forMarketing and sales conversations on social and messaging appsYour app's users, inside your app first
How it's builtFlows in a visual builder; AI settings in ManychatYour coding agent writes it in your project; you review it
Where it answersInstagram, Messenger, WhatsApp, TikTok, Telegram and moreYour app (widget, browser, iOS, Android and Flutter SDKs); WhatsApp and Instagram DMs
Your app's dataExternal Requests and Dynamic Blocks to your serverTools that call your API as the signed-in user, with a verified token
Writing firstBroadcasts to filtered contactsMessages API: your backend writes to one person on WhatsApp
Fixing mistakesPlayground for AI repliesReported replies become tests; you approve each publish

#When Manychat is the better choice

  • You're growing an audience on Instagram. Comment and keyword automations that turn a comment on a reel into a DM conversation are what Manychat's Flow Builder is for. Vatio's Instagram channel answers DMs.
  • You send broadcasts and campaigns to segments of your contacts. Vatio has no campaign dashboard or visual flow editor. Its outbound messages go from your backend through the Messages API, one person per request.
  • Your people are on Messenger, TikTok or Telegram. Vatio's channels are your app, WhatsApp and Instagram.
  • You don't have an app. If you're a creator, a shop or a business that lives on Instagram, Vatio isn't built for you: it is for people building an app with a coding agent.
  • Your marketing team edits the flows itself, visually, without a coding agent in between.

#When Vatio fits better

  • The conversation is about the user's account in your app: their order, their booking, their plan, something they want to change. Each tool calls your API, and private tools forward the signed-in user's verified token as Bearer $auth.token, so your API reads the user from the token. A private tool can't take a user id as a parameter. See Private tools.
  • Your users sign in to your app. Your backend signs a short-lived token with the key from vatio auth --new-key, and your coding agent can add that to your backend. On WhatsApp, Vatio can ask your backend who a number belongs to (identify_url); on WhatsApp and Instagram it can send a Sign in button to your login page (sign_in_url). See On WhatsApp and Instagram.
  • The agent belongs inside your app, through the widget or the iOS, Android and Flutter SDKs, with the same agent behind WhatsApp and Instagram.
  • You want one agent rather than a set of flows. The agent works from its instructions, tools and knowledge and decides which tool to call; a new question doesn't need a new branch.
  • Your team takes over from wherever it is. Replying from the inbox, from the WhatsApp Business app or from the Instagram app takes the conversation over, and the agent stays paused until 8 hours after your team's last reply (Inbox).
  • You want to fix mistakes with evidence. A reported reply is a test from then on, and publishing refuses a version that breaks a case live gets right unless you override it with --force. See Improve.

#Moving from Manychat to Vatio

Moving makes sense for the conversations that are about your app: support, account questions and actions. Comment automations and broadcasts have no equivalent in Vatio, so if your account depends on them, weigh that first.

  1. Open your app's project in Claude Code, Cursor or Codex, run npx @vatio-ai/skills, then /vatio-init (or, from a chat, connect the Vatio MCP server https://vatio.ai/mcp and ask for the agent), and say what your Manychat AI does today:

    /vatio-init an agent for our app's users, on the web and on Instagram: answer from our FAQ, look up their orders, hand complaints to a person

    The first time it pushes the agent, your browser opens to sign in with email, Google or GitHub; signing in creates your account.

  2. Bring your Knowledge. Give your coding agent the text of your Manychat Knowledge entries. It writes them as Markdown knowledge entries, one topic per entry (Knowledge).

  3. Turn AI Behavior into instructions. The role and brand voice become the agent's personality and instructions in vatio.yml; your guardrails become rules it never breaks. An excerpt of what your coding agent might write:

    agent:
    name: Brightside
    personality: Warm, brief and plain-spoken, like our Instagram replies.
    instructions: |
    You help Brightside customers with questions about our products and
    with their own orders. Answer from knowledge_lookup; if it does not
    answer, say so. For an order, call my_order.
    Rules you never break:
    - Never promise a discount, a refund or a delivery date.
    - Never ask for a password or a card number.
    tools: [knowledge_lookup, my_order, ask_for_a_person]
    knowledge: [faq]
  4. Turn each External Request into a tool. The same endpoint becomes tools/NAME.yml, and respond.data maps its JSON instead of custom fields. A flow that chains requests and conditions becomes one endpoint in your backend that does the whole job. Tools that read a user's own data are marked access: private.

  5. Replace the flows that collect details. The built-in identify_contact saves a name the person gives, and request_contact_info asks a WhatsApp contact to share their number; on WhatsApp the number usually comes with the message.

  6. Turn "assign to a person" into a tool. The cases you send to your team go in the when_to_use of a tool that alerts them. It calls your backend with a link to the conversation, and your backend messages whoever should pick it up, on WhatsApp for example. Replying from the inbox, or from the WhatsApp Business or Instagram app, takes the conversation over (Handoff):

    tools/ask_for_a_person.yml
    description: Tell the team that this conversation needs a person.
    when_to_use: >
    A complaint about an order or a charge, something you cannot resolve
    with what you know and your other tools, or the customer asks to talk
    to a person.
    parameters:
    type: object
    properties:
    reason:
    type: string
    description: Why it needs a person, in one line, for whoever picks it up.
    required: [reason]
    access: public
    request:
    method: POST
    base_url: "$env.APP_API"
    path: /vatio/ask-for-a-person
    requires: [chat.url]
    body:
    reason:
    chat_url: "$chat.url"
    name: "$contact.name"
    respond:
    message: >
    The team was told. Tell the customer plainly that you are checking
    this with a colleague, who will answer here.

    The agent keeps answering after it calls the tool, and stops when someone on your team replies.

  7. Try the preview. The inbox's Try the agent panel has a web chat (a visitor who isn't signed in), a shared WhatsApp number and a shared Instagram account. To try signed-in behavior in your app, ask your coding agent to put preview's widget in a development build and sign in as a test user.

  8. Publish, then connect your channels. Approve publication when the preview answers the way you want. Put the widget in your app with a publishable key that lists your app's origins (vatio keys create publishable --origin https://your-app.com, or Settings → API keys in the inbox). On any plan (Pricing), connect your own WhatsApp number and Instagram account from the inbox's WhatsApp and Instagram pages too.

Messages your backend sends first, such as an order that shipped, go through the Messages API, with a template Meta approved when the person hasn't written in 24 hours. From then on, your team reports wrong replies in the inbox and you run /vatio-improve once a day.

#Sources

Checked on 14 October 2026. Features and plans change: check Manychat's own documentation, listed below, for what it offers today.

#Frequently asked questions

#What is the difference between Vatio and Manychat?

Manychat is a chat marketing tool: you build automations in its visual Flow Builder that start from a comment, a keyword or a message on Instagram, Messenger, WhatsApp, TikTok or Telegram, send broadcasts to your contacts, and add AI replies. Vatio gives an app you're building with a coding agent its own agent: your coding agent writes it in the app's project, it acts through your app's API for the signed-in user, and it answers in your app first, with WhatsApp and Instagram as added channels.

#Does Vatio do comment-to-DM automations or broadcasts?

No. Vatio's Instagram channel answers DMs, and outbound messages go from your backend through Vatio's Messages API, on WhatsApp, to one person per request, with a Meta-approved template when the 24-hour window is closed. There is no campaign dashboard or visual flow editor, so for comment automations and broadcasts Manychat is the better fit.

#Can a Vatio agent call the same endpoints as my Manychat External Requests?

Yes. A Vatio tool is one HTTP request, described in YAML: the method, the URL, the headers and the body, with the agent filling the parameters. The JSON your endpoint returns is mapped into the tool's result instead of custom fields, and the agent decides when to call it from its instructions rather than from a step in a flow.

#Do I need to write code to move from Manychat to Vatio?

You don't write it yourself, but you need an app and its project open in a coding agent such as Claude Code, Cursor or Codex. Your coding agent writes the agent's instructions, tools and knowledge, and you review them and approve every publish. Vatio is not built for a business that has no app and only wants an Instagram or WhatsApp bot.

#Where does a Vatio agent answer?

In your app first: the web widget, the browser SDK and the iOS, Android and Flutter SDKs. The same agent answers on your own WhatsApp number and in your Instagram DMs, with the same tools and knowledge. Before you publish, you can try it on a shared preview number and account.

  • Vatio vs Tidio: A no-code support platform, or an agent your coding agent builds from your app: when each fits, and how to move.
  • An AI agent on Instagram: Answer Instagram DMs with your app’s agent: test on a shared account, then connect your professional account.
  • An AI agent on WhatsApp: Add WhatsApp to your app’s agent: test on a shared number, then connect your business number.
  • Tools: Give the agent your API as tools.

Last updated:

Latest CLI version: 0.114.0 · Changelog · The whole contract as Markdown: /docs/docs.md · or vatio docs