# DMowl

> DMowl automates Instagram Business accounts: comment-to-DM automations, DM campaigns, a CRM with folders, verified giveaways and an AI agent that replies in the owner's voice. Everything is controllable through an MCP server and a REST API.

## Product
- What: Instagram DM automation for creators, coaches, shops, local businesses and agencies. Instagram only (no WhatsApp/Messenger).
- Official Instagram API ("Instagram API with Instagram Login") — no password sharing. Works with Instagram professional accounts (business or creator).
- Features: comment-to-DM (keywords, rotating public replies), story replies, story mentions, live comments, DM keyword triggers, DM campaigns to contacts with an open 24-hour window, CRM with folders and properties, email capture, verified follow gates (checked through the API), tracked links with follow-ups, giveaways with verified entries and a provable random draw (SHA-256), and an AI agent that answers in the owner's voice.
- Developers: REST API and an MCP server, so Claude, ChatGPT or any agent can run the account.
- Data: hosted on Cloudflare in the EU (D1, EU jurisdiction). Languages: English and German.

## Pricing (https://dmowl.com/pricing)
- Free: 100 active contacts/month, 50 AI replies, 3 automations, 3 campaigns, 1 seat.
- Plus, by active contacts per month: 500 for $14 / €14/month (1,000 AI replies); 1,000 for $24 / €24/month (2,000 AI replies); 2,500 for $44 / €44/month (5,000 AI replies); 5,000 for $69 / €69/month (10,000 AI replies); 10,000 for $119 / €119/month (20,000 AI replies).
- Plus includes 3 seats, each extra seat $6 / €6/month. Yearly billing: pay 10 months, get 12.
- No overage charges: when a limit is reached the feature pauses until the next month or an upgrade.
- 14-day Plus trial for $1 / €1.
- Agencies: 10 % off all accounts from 5 paid accounts, 20 % off all accounts from 10 paid accounts — applied automatically (https://dmowl.com/agencies).

## Guides
- [How to send an automatic DM when someone comments on Instagram](https://dmowl.com/guides/comment-to-dm): Connect a professional (business or creator) Instagram account to a tool that uses the official Instagram API, pick a keyword like “LINK” and write the DM it should send. Every matching comment then gets a private reply within seconds — no password sharing and no risk to your account.
- [Instagram’s 24-hour messaging window, explained](https://dmowl.com/guides/instagram-24-hour-rule): A business may message someone on Instagram for 24 hours after that person’s last message to it. After that, only a human (not an automation) may reply, for up to 7 days, using the “human agent” tag; cold messages to people who never wrote are not allowed.
- [How to pick an Instagram giveaway winner fairly](https://dmowl.com/guides/instagram-giveaway-winner): Export or collect every comment, remove duplicates and entries that break your rules, then draw at random with a tool that records how the draw was made. Announce the winner publicly and contact them by DM from your own account.
- [DMowl vs ManyChat — which fits your Instagram?](https://dmowl.com/guides/manychat-alternative): ManyChat is a mature multi-channel chat marketing platform (Instagram, Messenger, WhatsApp, SMS, email and more). DMowl does only Instagram, with an AI agent included in every paid plan, verified follow gates, provable giveaways and full API and MCP access — at flat prices with no overage charges.
- [DMowl vs Inrō — which fits your Instagram?](https://dmowl.com/guides/inro-alternative): Inrō is an Instagram-only DM automation tool with an AI agent, a CRM and DM campaigns; its paid plans scale with contacts. Both are Instagram-only. DMowl adds verified giveaways with a provable draw, a full REST API and an MCP server, flat tiers with no overage charges and EU hosting.
- [DMowl vs LinkDM — which fits your Instagram?](https://dmowl.com/guides/linkdm-alternative): LinkDM is a lightweight comment-to-DM tool: someone comments a keyword and gets your link by DM. LinkDM is great for one job. DMowl starts there and adds the rest of the funnel: follow-ups when the link isn’t clicked, email capture, a CRM, campaigns, giveaways and an AI agent for the questions that follow.
- [DMowl vs CreatorFlow — which fits your Instagram?](https://dmowl.com/guides/creatorflow-alternative): CreatorFlow is an Instagram DM automation tool for creators with comment-to-DM, story-reply automation and a free plan; pricing is based on DM volume. DMowl counts active contacts, not messages, so long conversations with the same person don’t eat your plan. On top you get an AI agent in your voice, a CRM, campaigns, verified giveaways and API/MCP access.
- [DMowl vs Chatfuel — which fits your Instagram?](https://dmowl.com/guides/chatfuel-alternative): Chatfuel is a chatbot platform for Instagram, Facebook Messenger and WhatsApp, with AI features on its higher plans. DMowl is built only for Instagram: comment-to-DM with rotating public replies, story mentions, live comments, verified follows and giveaways — plus a free plan and an AI agent included in Plus.
- [DMowl vs Instagram’s built-in auto-replies — which fits your Instagram?](https://dmowl.com/guides/instagram-auto-reply): Instagram and Meta Business Suite offer free basics: saved replies, FAQ prompts, an instant reply for first messages and replies to exact keywords. The built-in tools answer; DMowl sells. Keyword matching that ignores spelling and emojis, multi-step flows with buttons, follow-ups, email capture, a CRM, campaigns, giveaways and an AI agent that handles the questions you didn’t predict.

## Free tools (no login)
- [Giveaway picker](https://dmowl.com/tools/giveaway-picker): Paste the comments of your Instagram post and draw random winners in seconds. Filter duplicates, require a keyword or tagged friends. Free, no login.
- [Giveaway rules generator](https://dmowl.com/tools/giveaway-rules): Create clear conditions of participation for your Instagram giveaway in one minute: prize, period, eligibility, winner notification, Meta disclaimer and data protection.
- [Engagement rate calculator](https://dmowl.com/tools/engagement-rate): Calculate your Instagram engagement rate from followers, likes and comments — and see how it compares to accounts of your size.
- [Comment-to-DM ROI calculator](https://dmowl.com/tools/roi-calculator): Estimate how many clicks, leads and sales comment-to-DM automations bring you each month — and what they cost.
- [Instagram font generator](https://dmowl.com/tools/font-generator): Write your Instagram bio, captions or name in bold, italic, script and more. Copy and paste — works everywhere on Instagram.
- [Line breaks for captions](https://dmowl.com/tools/line-breaks): Instagram removes empty lines from captions and bios. Paste your text here and keep the spacing exactly as you wrote it.
- [AI caption generator](https://dmowl.com/tools/caption-generator): Describe your post and get three caption options with a strong hook and a call to action — in your tone. Free, no login.
- [AI hashtag generator](https://dmowl.com/tools/hashtag-generator): Get a balanced set of relevant hashtags — broad, niche and local — for your next Instagram post. Free, no login.
- [AI bio generator](https://dmowl.com/tools/bio-generator): Write an Instagram bio that says who you are, what you offer and what to do next — five options in 150 characters. Free, no login.
- [AI DM script generator](https://dmowl.com/tools/dm-script-generator): Get a ready-to-use DM flow: the public comment reply, the first DM, a follow-up and the message with your link. Free, no login.

## Use cases
- [Instagram automation for creators](https://dmowl.com/use-cases/creators): Send your link to everyone who comments, grow your email list and launch to your whole audience — automatically.
- [Instagram DM automation for coaches](https://dmowl.com/use-cases/coaches): Qualify leads with one question, send your booking link and let an AI agent answer the same questions about price and fit.
- [Instagram DM automation for e-commerce brands](https://dmowl.com/use-cases/ecommerce): Send checkout links from comments, answer shipping and sizing questions with AI and announce drops to everyone who engaged.
- [Instagram automation for local businesses](https://dmowl.com/use-cases/local-business): Answer opening hours and prices automatically, take bookings in DMs and bring regulars back with offers.
- [Instagram DM automation for agencies](https://dmowl.com/use-cases/agencies): Run automations for all your clients from one login, invite clients to their own account and automate setup through the API and MCP.
- [Instagram giveaway tool with verified entries](https://dmowl.com/use-cases/giveaways): Collect giveaway entries in the comments, verify follows, draw winners fairly with an audit record and DM them automatically.

German versions of every public page live under https://dmowl.com/de/…

## Connect
- MCP (Streamable HTTP): https://dmowl.com/mcp — header `Authorization: Bearer pk_live_…`
- Claude Code: `claude mcp add --transport http dmowl https://dmowl.com/mcp --header "Authorization: Bearer pk_live_…"`
- REST base URL: https://dmowl.com/api/v1 — same bearer key, JSON in/out, responses are `{ data }` or `{ error }`
- API keys: DMowl app → Settings → API & MCP

## Docs
- [Full tool reference (Markdown)](https://dmowl.com/llms-full.txt)
- [OpenAPI 3.1](https://dmowl.com/api/v1/openapi.json)
- [Human docs](https://dmowl.com/docs)

## Rules for agents
- Start with `get_account` to learn the plan, limits and connected account.
- Automations are created as drafts. Show the user, then activate with `set_automation_status`.
- `send_campaign` and `draw_giveaway` contact real people and cannot be undone — confirm first.
- Instagram only allows business DMs within 24h of the contact's last message; prefer audience "active".
- Follows can be verified (ask_follow / check steps); likes cannot — the Instagram API doesn't expose them.

## Tools
- `get_account` — Get account
- `get_stats` — Get stats
- `record_conversion` — Record a sale
- `list_contacts` — List contacts
- `get_contact` — Get contact
- `update_contact` — Update contact
- `list_folders` — List folders
- `create_folder` — Create folder
- `send_message` — Send DM
- `set_handling` — Set conversation owner
- `list_automations` — List automations
- `get_automation` — Get automation
- `create_automation` — Create automation
- `create_automation_from_prompt` — Create automation from a description
- `list_templates` — List templates
- `create_automation_from_template` — Create automation from template
- `update_automation` — Update automation
- `set_automation_status` — Activate or pause automation
- `run_automation_for_contact` — Run automation for a contact
- `delete_automation` — Delete automation
- `list_campaigns` — List campaigns
- `create_campaign` — Create campaign
- `send_campaign` — Send campaign
- `list_giveaways` — List giveaways
- `create_giveaway` — Create giveaway
- `draw_giveaway` — Draw giveaway winners
- `get_agent` — Get AI agent
- `update_agent` — Update AI agent

# Guides (full text)

## How to send an automatic DM when someone comments on Instagram

_Last reviewed 2026-11-01_

Connect a professional (business or creator) Instagram account to a tool that uses the official Instagram API, pick a keyword like “LINK” and write the DM it should send. Every matching comment then gets a private reply within seconds — no password sharing and no risk to your account.

### What you need

- An Instagram professional account (business or creator). Personal accounts have no messaging API.
- A tool that uses the official “Instagram API with Instagram Login” — never one that asks for your Instagram password.
- A post or reel with a clear call to action, e.g. “Comment LINK and I’ll DM you the guide.”

### Set it up in five steps

1. **Connect Instagram** — Log in with Instagram and grant the messaging and comment permissions. Instagram shows you exactly what the app may do.
2. **Choose the trigger** — Pick “comment” and one or more keywords. Matching ignores case and emojis, so “link”, “Link 🙏” and “LINK!” all count.
3. **Pick the posts** — All posts, selected posts, or “next post” — the automation attaches itself to the next thing you publish.
4. **Write the DM** — Keep the first message short and add a button. A tap counts as a reply and opens the 24-hour window for further messages.
5. **Add a public reply** — Reply under the comment (“Sent you a DM 📩”) with a few rotating variants. It shows others the offer works and boosts the post.

### Rules that keep your account safe

Instagram lets a business send one private reply to a comment, up to 7 days after the comment was written. Further messages are only allowed once the person replies — that is why a button in the first DM matters.

- Do not reply to every single comment publicly with the same text. Rotate variants or reply to a share of comments.
- Respect volume limits. Meta throttles automated messages per account; a good tool queues and retries instead of failing.
- Only promise what you send. A DM that asks to follow before delivering should actually check the follow.

### Make it convert

- Ask for one thing at a time: first the tap, then the email, then the link.
- Send a follow-up if the link was not clicked after a few hours.
- Tag everyone who commented, so you can message them again at your next launch (within Instagram’s rules).

> DMowl does all of this with the template “Comment for link”: keyword trigger, rotating public replies, a tracked link and an automatic follow-up.

### FAQ

**Is comment-to-DM automation allowed by Instagram?** Yes, when it runs through the official Instagram API. Meta built private replies to comments for exactly this. Tools that log in with your password break the terms and put your account at risk.

**Does it work on old posts and reels?** Yes. Instagram allows a private reply up to 7 days after a comment, so new comments on old posts work just like comments on new ones.

**Can I automate replies to story replies and mentions too?** Yes. Story replies, story mentions and live comments can trigger the same flows as post comments.

## Instagram’s 24-hour messaging window, explained

_Last reviewed 2026-11-01_

A business may message someone on Instagram for 24 hours after that person’s last message to it. After that, only a human (not an automation) may reply, for up to 7 days, using the “human agent” tag; cold messages to people who never wrote are not allowed.

### The three windows

| Situation | What you may send | How long |
| --- | --- | --- |
| The person messaged you, tapped a button or replied to your story | Any message, automated or manual | 24 hours from their last message |
| The 24 hours have passed | A manual reply by a person on your team (human agent tag) | Up to 7 days from their last message |
| The person commented on your post | One private reply to that comment | Up to 7 days from the comment |

### What this means for campaigns

A DM “broadcast” on Instagram can only reach people whose 24-hour window is open. That is why good tools let you send campaigns to “active” contacts only, and why it pays to give people a reason to write back regularly.

- Add buttons to your messages — every tap reopens the window.
- Run comment and story-reply triggers often; each interaction refreshes the window.
- Collect email addresses for anything you want to send later than 24 hours.

### Common mistakes

- Sending automated follow-ups days later. Outside 24 hours only a person may reply.
- Buying “mass DM” tools that message strangers. They break Instagram’s rules and get accounts restricted.
- Ignoring failed messages. A message to someone who blocked you or whose window closed fails — your tool should show it, not hide it.

> DMowl checks the window before every message, sends campaigns only to reachable contacts and marks every message as sent, failed or skipped.

### FAQ

**Can I message everyone who follows me?** No. Following you does not open a messaging window. Only people who interacted with you (a DM, a button tap, a story reply or a comment) can be messaged, within the time limits above.

**Does a story reply count?** Yes. A reply to your story is a message to you and opens the 24-hour window.

**Is there a daily limit for DMs?** Meta throttles automated messages per account and changes the exact numbers from time to time. A reliable tool queues messages and retries when Instagram asks it to slow down.

## How to pick an Instagram giveaway winner fairly

_Last reviewed 2026-11-01_

Export or collect every comment, remove duplicates and entries that break your rules, then draw at random with a tool that records how the draw was made. Announce the winner publicly and contact them by DM from your own account.

### Before the giveaway

- Write clear rules: who may enter, how (comment, follow, tag), the end date and how winners are contacted.
- Say that the giveaway is not sponsored or run by Instagram — Meta’s promotion guidelines require it.
- Check local law for prizes and age limits. In many countries a purchase may not be required to enter.

### Draw the winner

1. **Collect the entries** — Paste the comments into a giveaway picker or let your automation tool collect entries as they come in.
2. **Clean the list** — One entry per person (unless your rules allow more), remove your own account and anyone who broke the rules.
3. **Check the conditions** — If you asked people to follow, check the follow at the time of the draw. Likes cannot be checked by any honest tool — the Instagram API does not show them.
4. **Draw at random** — Use a cryptographic random draw and keep a record (time, number of entries, seed) so you can prove it was fair.
5. **Draw reserves** — Pick one or two backup winners in case the first does not reply in time.

### After the draw

- Announce the winner in a comment or story and DM them from your own account. Scammers copy giveaway accounts — tell entrants you will never ask for payment.
- Give the winner a deadline to reply, then move to a reserve.
- Keep everyone who entered as contacts so you can thank them and announce the next giveaway.

> The free DMowl giveaway picker draws from pasted comments in seconds. In the app, entries are collected automatically, follows are verified and every draw is stored with a proof hash.

### FAQ

**Can a tool check whether people liked the post?** No. The Instagram API does not reveal who liked a post, so any tool that claims to check likes is guessing. Follows and comments can be checked.

**Do I need terms and conditions for a giveaway?** Short written rules are strongly recommended and required in many countries. Our free giveaway rules generator gives you a starting point; have them checked for your country.

**How do I prove the draw was fair?** Use a draw that records the entries, the time and a random seed. DMowl stores a SHA-256 proof for every draw.

## DMowl vs ManyChat — which fits your Instagram?

_Last reviewed 2026-11-01_

ManyChat is a mature multi-channel chat marketing platform (Instagram, Messenger, WhatsApp, SMS, email and more). DMowl does only Instagram, with an AI agent included in every paid plan, verified follow gates, provable giveaways and full API and MCP access — at flat prices with no overage charges.

### At a glance

|  | DMowl | ManyChat |
| --- | --- | --- |
| Channels | Instagram only | Instagram, Messenger, WhatsApp, Telegram, SMS, email |
| Pricing model | Flat tiers by active contacts, never billed extra | Plans scale with contacts; see manychat.com/pricing |
| AI replies | AI agent included in Plus (1,000+ replies/month) | Available as a paid AI add-on |
| Follow gate | Follow is verified through the Instagram API | Available |
| Giveaways | Entries, verified follows and a provable random draw built in | Via flows and integrations |
| Developer access | REST API and MCP server for Claude, ChatGPT and agents | API and integrations on paid plans |
| Data location | EU (Cloudflare D1, EU jurisdiction) | See ManyChat’s privacy policy |

Competitor details change. We last checked this page on the date shown above — please confirm current features and prices on manychat.com.

### Choose ManyChat if…

- you need WhatsApp, Messenger, SMS or email in the same tool,
- you rely on a large library of third-party integrations and agencies that already know ManyChat.

### Choose DMowl if…

- Instagram is your main channel and you want a tool built only for it,
- you want an AI agent that answers in your voice without a separate add-on,
- you want predictable bills — when a limit is reached the feature pauses, you are never charged extra,
- you run giveaways and want verified follows and a draw you can prove,
- you want to control everything from code or from Claude/ChatGPT through MCP,
- you manage several accounts — agencies get 10 % off from 5 and 20 % off from 10 paid accounts.

### Switching

There is nothing to migrate on Instagram’s side: connect your account to DMowl, recreate your keyword automations from a template (most take a minute) and switch the old ones off. Contacts appear in DMowl as soon as they interact with you.

> Start free (100 active contacts, 3 automations) or try Plus for 14 days for $1 / €1.

### FAQ

**Can I run DMowl and ManyChat at the same time?** Technically yes, but two tools replying to the same keyword would both answer. Switch automations over one at a time.

**Is DMowl cheaper than ManyChat?** It depends on your contacts and whether you need AI. DMowl Plus starts at $14 / €14 a month for 500 active contacts with the AI agent included. Compare with the current prices on both websites.

**Does DMowl support WhatsApp or Messenger?** No. DMowl is deliberately Instagram-only.

## DMowl vs Inrō — which fits your Instagram?

_Last reviewed 2026-11-01_

Inrō is an Instagram-only DM automation tool with an AI agent, a CRM and DM campaigns; its paid plans scale with contacts. Both are Instagram-only. DMowl adds verified giveaways with a provable draw, a full REST API and an MCP server, flat tiers with no overage charges and EU hosting.

### At a glance

|  | DMowl | Inrō |
| --- | --- | --- |
| Channels | Instagram only | Instagram only |
| Pricing model | Free plan, then flat tiers by active contacts — never billed extra | Free tier, paid plans scale with contacts |
| AI replies | AI agent in your voice included in Plus | AI agent available |
| Focus | Comment-to-DM, campaigns, CRM, giveaways and AI in one place | Instagram DM sales and AI conversations |
| Verified follows | Checked through the Instagram API | Check on inro.social |
| Giveaways | Entries, follow checks and a provable random draw built in | Check on inro.social |
| API & MCP | REST API and MCP server for Claude, ChatGPT and agents | Check on inro.social |
| Data location | EU (Cloudflare, EU jurisdiction) | Check on inro.social |

Competitor details change. We last checked this page on the date shown above — please confirm current features and prices on the competitor’s website.

### Choose Inrō if…

- you already run your flows in Inrō and they work for you,
- you want a managed service where their team sets things up for you.

### Choose DMowl if…

- Instagram is your main channel and you want one tool for comments, DMs, campaigns, CRM and giveaways,
- you want an AI agent that answers in your voice without a separate add-on,
- you want predictable bills — when a limit is reached the feature pauses, you are never charged extra,
- you want to control everything from code or from Claude/ChatGPT through MCP,
- you manage several accounts — agencies get 10 % off from 5 and 20 % off from 10 paid accounts.

### Switching

Connect your Instagram account to DMowl, recreate your keyword automations from a template (most take a minute) and switch them off in Inrō. Contacts appear in DMowl as soon as they interact with you. Don’t run both on the same keyword — both would reply.

> Start free (100 active contacts, 3 automations) or try Plus for 14 days for $1 / €1.

### FAQ

**Is DMowl a good Inrō alternative?** If you want Instagram-only automation plus giveaways, API/MCP access and predictable flat pricing, yes. Compare your contact count on both pricing pages.

## DMowl vs LinkDM — which fits your Instagram?

_Last reviewed 2026-11-01_

LinkDM is a lightweight comment-to-DM tool: someone comments a keyword and gets your link by DM. LinkDM is great for one job. DMowl starts there and adds the rest of the funnel: follow-ups when the link isn’t clicked, email capture, a CRM, campaigns, giveaways and an AI agent for the questions that follow.

### At a glance

|  | DMowl | LinkDM |
| --- | --- | --- |
| Channels | Instagram only | Instagram (and Facebook) |
| Pricing model | Free plan, then flat tiers by active contacts — never billed extra | Free tier and low-cost paid plans |
| AI replies | AI agent in your voice included in Plus | Not its focus |
| Focus | Comment-to-DM, campaigns, CRM, giveaways and AI in one place | Sending links from comments |
| Verified follows | Checked through the Instagram API | Check on linkdm.com |
| Giveaways | Entries, follow checks and a provable random draw built in | Check on linkdm.com |
| API & MCP | REST API and MCP server for Claude, ChatGPT and agents | Check on linkdm.com |
| Data location | EU (Cloudflare, EU jurisdiction) | Check on linkdm.com |

Competitor details change. We last checked this page on the date shown above — please confirm current features and prices on the competitor’s website.

### Choose LinkDM if…

- all you need is “comment → link by DM” and nothing more,
- the lowest possible price matters more than CRM, AI or campaigns.

### Choose DMowl if…

- Instagram is your main channel and you want one tool for comments, DMs, campaigns, CRM and giveaways,
- you want an AI agent that answers in your voice without a separate add-on,
- you want predictable bills — when a limit is reached the feature pauses, you are never charged extra,
- you want to control everything from code or from Claude/ChatGPT through MCP,
- you manage several accounts — agencies get 10 % off from 5 and 20 % off from 10 paid accounts.

### Switching

Connect your Instagram account to DMowl, recreate your keyword automations from a template (most take a minute) and switch them off in LinkDM. Contacts appear in DMowl as soon as they interact with you. Don’t run both on the same keyword — both would reply.

> Start free (100 active contacts, 3 automations) or try Plus for 14 days for $1 / €1.

### FAQ

**I only send links — do I need more than LinkDM?** Maybe not. But once people reply with questions (“how much?”, “does it ship to Austria?”), an AI agent and a CRM turn those conversations into sales.

## DMowl vs CreatorFlow — which fits your Instagram?

_Last reviewed 2026-11-01_

CreatorFlow is an Instagram DM automation tool for creators with comment-to-DM, story-reply automation and a free plan; pricing is based on DM volume. DMowl counts active contacts, not messages, so long conversations with the same person don’t eat your plan. On top you get an AI agent in your voice, a CRM, campaigns, verified giveaways and API/MCP access.

### At a glance

|  | DMowl | CreatorFlow |
| --- | --- | --- |
| Channels | Instagram only | Instagram |
| Pricing model | Free plan, then flat tiers by active contacts — never billed extra | Free plan, paid plans by DM volume |
| AI replies | AI agent in your voice included in Plus | Check their current plans |
| Focus | Comment-to-DM, campaigns, CRM, giveaways and AI in one place | Creators sending links and freebies |
| Verified follows | Checked through the Instagram API | Check on creatorflow.so |
| Giveaways | Entries, follow checks and a provable random draw built in | Check on creatorflow.so |
| API & MCP | REST API and MCP server for Claude, ChatGPT and agents | Check on creatorflow.so |
| Data location | EU (Cloudflare, EU jurisdiction) | Check on creatorflow.so |

Competitor details change. We last checked this page on the date shown above — please confirm current features and prices on the competitor’s website.

### Choose CreatorFlow if…

- you think in “DMs per month” rather than contacts,
- you only need creator-style link and freebie automations.

### Choose DMowl if…

- Instagram is your main channel and you want one tool for comments, DMs, campaigns, CRM and giveaways,
- you want an AI agent that answers in your voice without a separate add-on,
- you want predictable bills — when a limit is reached the feature pauses, you are never charged extra,
- you want to control everything from code or from Claude/ChatGPT through MCP,
- you manage several accounts — agencies get 10 % off from 5 and 20 % off from 10 paid accounts.

### Switching

Connect your Instagram account to DMowl, recreate your keyword automations from a template (most take a minute) and switch them off in CreatorFlow. Contacts appear in DMowl as soon as they interact with you. Don’t run both on the same keyword — both would reply.

> Start free (100 active contacts, 3 automations) or try Plus for 14 days for $1 / €1.

### FAQ

**What is the difference between pricing by DMs and by contacts?** By DMs, every message counts — a back-and-forth of ten messages uses ten. By active contacts (DMowl), one person is one contact for the whole month, however much you talk.

## DMowl vs Chatfuel — which fits your Instagram?

_Last reviewed 2026-11-01_

Chatfuel is a chatbot platform for Instagram, Facebook Messenger and WhatsApp, with AI features on its higher plans. DMowl is built only for Instagram: comment-to-DM with rotating public replies, story mentions, live comments, verified follows and giveaways — plus a free plan and an AI agent included in Plus.

### At a glance

|  | DMowl | Chatfuel |
| --- | --- | --- |
| Channels | Instagram only | Instagram, Messenger, WhatsApp |
| Pricing model | Free plan, then flat tiers by active contacts — never billed extra | Paid plans; check chatfuel.com/pricing |
| AI replies | AI agent in your voice included in Plus | On AI plans |
| Focus | Comment-to-DM, campaigns, CRM, giveaways and AI in one place | Multi-channel chatbots |
| Verified follows | Checked through the Instagram API | Check on chatfuel.com |
| Giveaways | Entries, follow checks and a provable random draw built in | Check on chatfuel.com |
| API & MCP | REST API and MCP server for Claude, ChatGPT and agents | Check on chatfuel.com |
| Data location | EU (Cloudflare, EU jurisdiction) | Check on chatfuel.com |

Competitor details change. We last checked this page on the date shown above — please confirm current features and prices on the competitor’s website.

### Choose Chatfuel if…

- WhatsApp or Messenger are as important to you as Instagram,
- you want to build classic chatbot flows across several channels.

### Choose DMowl if…

- Instagram is your main channel and you want one tool for comments, DMs, campaigns, CRM and giveaways,
- you want an AI agent that answers in your voice without a separate add-on,
- you want predictable bills — when a limit is reached the feature pauses, you are never charged extra,
- you want to control everything from code or from Claude/ChatGPT through MCP,
- you manage several accounts — agencies get 10 % off from 5 and 20 % off from 10 paid accounts.

### Switching

Connect your Instagram account to DMowl, recreate your keyword automations from a template (most take a minute) and switch them off in Chatfuel. Contacts appear in DMowl as soon as they interact with you. Don’t run both on the same keyword — both would reply.

> Start free (100 active contacts, 3 automations) or try Plus for 14 days for $1 / €1.

### FAQ

**Does DMowl support WhatsApp like Chatfuel?** No. DMowl is deliberately Instagram-only, so every feature is built around how Instagram works.

## DMowl vs Instagram’s built-in auto-replies — which fits your Instagram?

_Last reviewed 2026-11-01_

Instagram and Meta Business Suite offer free basics: saved replies, FAQ prompts, an instant reply for first messages and replies to exact keywords. The built-in tools answer; DMowl sells. Keyword matching that ignores spelling and emojis, multi-step flows with buttons, follow-ups, email capture, a CRM, campaigns, giveaways and an AI agent that handles the questions you didn’t predict.

### At a glance

|  | DMowl | Instagram’s built-in auto-replies |
| --- | --- | --- |
| Channels | Instagram only | Instagram (and Facebook) |
| Pricing model | Free plan, then flat tiers by active contacts — never billed extra | Free |
| AI replies | AI agent in your voice included in Plus | Basic |
| Focus | Comment-to-DM, campaigns, CRM, giveaways and AI in one place | Simple first replies and FAQs |
| Verified follows | Checked through the Instagram API | Check on Meta Business Suite |
| Giveaways | Entries, follow checks and a provable random draw built in | Check on Meta Business Suite |
| API & MCP | REST API and MCP server for Claude, ChatGPT and agents | Check on Meta Business Suite |
| Data location | EU (Cloudflare, EU jurisdiction) | Check on Meta Business Suite |

Competitor details change. We last checked this page on the date shown above — please confirm current features and prices on the competitor’s website.

### Choose Instagram’s built-in auto-replies if…

- you only need a greeting and a few fixed answers,
- you don’t need follow-ups, a contact list or campaigns.

### Choose DMowl if…

- Instagram is your main channel and you want one tool for comments, DMs, campaigns, CRM and giveaways,
- you want an AI agent that answers in your voice without a separate add-on,
- you want predictable bills — when a limit is reached the feature pauses, you are never charged extra,
- you want to control everything from code or from Claude/ChatGPT through MCP,
- you manage several accounts — agencies get 10 % off from 5 and 20 % off from 10 paid accounts.

### Switching

Connect your Instagram account to DMowl, recreate your keyword automations from a template (most take a minute) and switch them off in Instagram’s built-in auto-replies. Contacts appear in DMowl as soon as they interact with you. Don’t run both on the same keyword — both would reply.

> Start free (100 active contacts, 3 automations) or try Plus for 14 days for $1 / €1.

### FAQ

**Is Instagram’s own auto-reply enough to start?** For a greeting and a few FAQs, yes — and it’s free. Switch when you want comment-to-DM funnels, follow-ups or to remember who wrote to you.

**Can I use both?** Yes, but turn off overlapping keyword replies in Meta Business Suite so people don’t get two answers.

# API & MCP
## Tool reference

## Account

### get_account
Returns the connected Instagram account, plan and this month’s usage against the plan limits (active contacts, AI replies, automations, campaigns, seats). Call this first to orient yourself.

- REST: `GET /api/v1/account`
- Read-only.
- No arguments.

### get_stats
Aggregated performance for the last N days: inbound/outbound messages, activated contacts, link clicks (conversions), and the top automations by conversions.

- REST: `GET /api/v1/stats`
- Read-only.
- Arguments:
  - `days` — integer: Window in days (1–365). Default 30.

### record_conversion
Attribute a sale to the DM that caused it. DMowl links forward with a `dmo` URL parameter (Stripe Payment Links: client_reference_id "dmo_<id>") — pass that value as `ref`. Idempotent per order_id. Sales without a DMowl ref are ignored.

- REST: `POST /api/v1/conversions`
- Arguments:
  - `ref` (required) — string: The dmo value from the landing URL (or client_reference_id)
  - `order_id` (required) — string: Your order or payment id (used to avoid duplicates)
  - `amount` (required) — number: Order value in major units, e.g. 49.90
  - `currency` (required) — string: ISO currency code, e.g. EUR

## Contacts

### list_contacts
Search the CRM. Filter by text (name, @handle, email), folder, follower status or having an email. Returns at most `limit` contacts, newest activity first.

- REST: `GET /api/v1/contacts`
- Read-only.
- Arguments:
  - `query` — string: Free-text search
  - `folder_id` — string: Only contacts in this folder
  - `follows_you` — boolean: Only followers
  - `has_email` — boolean: Only contacts with an email
  - `limit` — integer: Max results (1–500). Default 50.

### get_contact
One contact with folders, custom properties and their latest 20 messages.

- REST: `GET /api/v1/contacts/{contact_id}`
- Read-only.
- Arguments:
  - `contact_id` (required) — string: Contact id

### update_contact
Set email/phone, merge custom properties, and add or remove folders. Properties are merged, not replaced; set a property to null to delete it.

- REST: `PATCH /api/v1/contacts/{contact_id}`
- Arguments:
  - `contact_id` (required) — string: Contact id
  - `email` — string: Email address
  - `phone` — string: Phone number
  - `properties` — object: Key/value pairs to merge
  - `add_folders` — array: Folder ids to add
  - `remove_folders` — array: Folder ids to remove

### list_folders
Folders (segments/tags) with contact counts. Use folder ids for filtering, campaign audiences and automation steps.

- REST: `GET /api/v1/folders`
- Read-only.
- No arguments.

### create_folder
Create a folder to segment contacts.

- REST: `POST /api/v1/folders`
- Arguments:
  - `name` (required) — string: Folder name

## Inbox

### send_message
Send a direct message to a contact as the account owner. Instagram only delivers business messages within 24 hours of the contact’s last message. Sending pauses automations and AI for that contact (a human took over) unless keep_automation is true.

- REST: `POST /api/v1/contacts/{contact_id}/messages`
- Arguments:
  - `contact_id` (required) — string: Contact id
  - `text` (required) — string: Message text (max 1000 chars)
  - `keep_automation` — boolean: Do not switch the conversation to human handling

### set_handling
Decide who handles a conversation: "human" (you; automations pause), "agent" (AI agent replies) or "none" (automations decide).

- REST: `POST /api/v1/contacts/{contact_id}/handling`
- Arguments:
  - `contact_id` (required) — string: Contact id
  - `handled_by` (required) — string (human | agent | none)

## Automations

### list_automations
All automations (scenarios) with trigger, steps, status and performance.

- REST: `GET /api/v1/automations`
- Read-only.
- Arguments:
  - `status` — string (active | paused | draft): Filter by status

### get_automation
One automation with its full trigger and steps.

- REST: `GET /api/v1/automations/{automation_id}`
- Read-only.
- Arguments:
  - `automation_id` (required) — string: Automation id

### create_automation
Create an automation as a draft. trigger.type: comment | dm | story_reply | mention | live_comment. trigger.match: "keywords" (with trigger.keywords) or "any". For comment triggers set commentReplies (public reply variants) and optionally posts="selected" + postIds. Activate it afterwards with set_automation_status. Prefer create_automation_from_prompt or create_automation_from_template when you don’t need full control.

- REST: `POST /api/v1/automations`
- Arguments:
  - `name` (required) — string: Name
  - `trigger` (required) — object: Trigger config (see description)
  - `steps` (required) — array: Ordered steps. Types: message {text, buttons[]}, question {text, buttons[], property}, link {text, title, url, button, followUp, followUpMinutes}, ask_email {text}, ask_follow {text, button, failText?}, check {conditions[], failText, retryButton}, delay {minutes}, folder {folderId}, giveaway {giveawayId, text}, agent {note}. Use {{first_name}} to personalise.

### create_automation_from_prompt
Describe a comment-to-DM automation in plain language (e.g. "send my PDF to everyone who comments GUIDE"). DMowl drafts keywords, replies, DM and link. Returns the draft — review, then activate.

- REST: `POST /api/v1/automations/from-prompt`
- Arguments:
  - `prompt` (required) — string: What should happen
  - `language` — string (en | de)

### list_templates
Proven automation and campaign templates. Use a slug with create_automation_from_template.

- REST: `GET /api/v1/templates`
- Read-only.
- Arguments:
  - `language` — string (en | de)

### create_automation_from_template
Copy a template into a new draft automation, optionally overriding the trigger keywords.

- REST: `POST /api/v1/automations/from-template`
- Arguments:
  - `slug` (required) — string: Template slug
  - `keywords` — array
  - `language` — string (en | de)

### update_automation
Replace name, trigger and/or steps of an automation. Omitted fields stay unchanged. Trigger fields are merged.

- REST: `PATCH /api/v1/automations/{automation_id}`
- Arguments:
  - `automation_id` (required) — string: Automation id
  - `name` — string: Name
  - `trigger` — object
  - `steps` — array: Ordered steps. Types: message {text, buttons[]}, question {text, buttons[], property}, link {text, title, url, button, followUp, followUpMinutes}, ask_email {text}, ask_follow {text, button, failText?}, check {conditions[], failText, retryButton}, delay {minutes}, folder {folderId}, giveaway {giveawayId, text}, agent {note}. Use {{first_name}} to personalise.

### set_automation_status
Set status to "active" (starts reacting to real comments/DMs) or "paused". Activation validates keywords and steps and respects plan limits.

- REST: `POST /api/v1/automations/{automation_id}/status`
- Arguments:
  - `automation_id` (required) — string: Automation id
  - `status` (required) — string (active | paused)

### run_automation_for_contact
Manually start an automation’s steps for one contact (skips the trigger).

- REST: `POST /api/v1/automations/{automation_id}/run`
- Arguments:
  - `automation_id` (required) — string: Automation id
  - `contact_id` (required) — string: Contact id

### delete_automation
Permanently delete an automation. Its past messages stay in the inbox.

- REST: `DELETE /api/v1/automations/{automation_id}`
- ⚠️ Acts on real people / irreversible — confirm with the user first.
- Arguments:
  - `automation_id` (required) — string: Automation id

## Campaigns

### list_campaigns
DM campaigns with status and results (sent, replied, conversions).

- REST: `GET /api/v1/campaigns`
- Read-only.
- No arguments.

### create_campaign
Create a draft campaign. audience.type: "active" (wrote in last 24h — safest under Instagram rules), "all", "followers" or "folder" (+ folder_id). Send it with send_campaign.

- REST: `POST /api/v1/campaigns`
- Arguments:
  - `name` (required) — string: Name
  - `audience` (required) — object: { type, folder_id? }
  - `steps` (required) — array: Ordered steps. Types: message {text, buttons[]}, question {text, buttons[], property}, link {text, title, url, button, followUp, followUpMinutes}, ask_email {text}, ask_follow {text, button, failText?}, check {conditions[], failText, retryButton}, delay {minutes}, folder {folderId}, giveaway {giveawayId, text}, agent {note}. Use {{first_name}} to personalise.

### send_campaign
Send a draft campaign now, or schedule it with an ISO timestamp in `at`. This messages real people — confirm with the user before calling.

- REST: `POST /api/v1/campaigns/{campaign_id}/send`
- ⚠️ Acts on real people / irreversible — confirm with the user first.
- Arguments:
  - `campaign_id` (required) — string: Campaign id
  - `at` — string: Optional ISO 8601 time to schedule

## Giveaways

### list_giveaways
Giveaways with entry counts, status and winners (if drawn).

- REST: `GET /api/v1/giveaways`
- Read-only.
- No arguments.

### create_giveaway
Create a giveaway. Then create an entry automation with a "giveaway" step (or ask the user to click “Create entry automation” in the app).

- REST: `POST /api/v1/giveaways`
- Arguments:
  - `name` (required) — string: Name
  - `prize` — string: Prize
  - `winners` — integer: Number of winners
  - `require_follow` — boolean: Verify the follow (default true)

### draw_giveaway
Draw winners at random (follow re-verified), optionally DM them, and return the auditable draw record. Irreversible — confirm with the user first.

- REST: `POST /api/v1/giveaways/{giveaway_id}/draw`
- ⚠️ Acts on real people / irreversible — confirm with the user first.
- Arguments:
  - `giveaway_id` (required) — string: Giveaway id
  - `notify_winners` — boolean

## AI Agent

### get_agent
The AI agent’s activation mode and full configuration (voice, goals, knowledge base, links, handoff rules).

- REST: `GET /api/v1/agent`
- Read-only.
- No arguments.

### update_agent
Change mode ("all" | "intents" | "automation" | "off") and/or merge config fields: role, length, styleRules, examples, description, goals, audience, instructions, knowledge, collect[], handoffKeywords, links[{label,url}], excludedFolders[], intents. Tip: append to `knowledge` rather than replacing it.

- REST: `PATCH /api/v1/agent`
- Arguments:
  - `mode` — string (all | intents | automation | off)
  - `config` — object

## Step types (automations & campaigns)
- message { text, buttons[] } — buttons make the flow wait for a tap/reply
- question { text, buttons[], property } — saves the answer to the contact property
- link { text, title, url, button, followUp, followUpMinutes } — tracked; follow-up is sent if not clicked
- ask_email { text } — validates and stores the email
- ask_follow { text, button, failText? } — verified follow gate via the Instagram API
- check { conditions[], failText, retryButton } — conditions: follows | commented{postId} | has_email | in_folder{folderId} | property{property,value}
- delay { minutes }
- folder { folderId }
- giveaway { giveawayId, text }
- agent { note } — the AI agent takes over

## Trigger
{ type: comment | dm | story_reply | mention | live_comment, match: keywords | any, keywords[], commentReplies[], replyRatio (0–100), posts: all | next | selected, postIds[], excludeNegative, firstMessageOnly }
