Skip to content
Instagram CTA·9 min read·No code

Replace ManyChat with Claude Code and cut the monthly bill

Someone writes CHECKLIST in a comment under your post. The bot replies publicly, sends them a DM asking whether to send the guide, and delivers the link once they say yes. Exactly what you pay ManyChat for today, through the same official Meta API.

The difference is who owns it. You write no code and touch no terminal: sign up once on the site, then paste five prompts into Claude Code and it builds the whole thing.

Replace ManyChat With Claude Code and Cut the Monthly Bill

What it actually saves

The real difference is not the price, it is what you are billed for. ManyChat prices by contact, and a contact is anyone who ever touched your automation. You pay for the person who commented once a year ago. The bill grows with your audience, whether or not revenue does.

ManyChat
A subscription that grows with your audience
  • You pay for everyone who ever talked to the bot, even a year ago
  • Free? Only up to 25 contacts
  • Pro plan: around $39 a month
  • Want AI? Another $29 a month, on every tier
  • Closed code, living on their servers
This guide
Claude Code + HookMyApp
Yours, end to end
  • Billed by messages per month, and the counter resets
  • Free up to 2,000 messages a month
  • At that volume: zero
  • No paid add-ons, no model to pay for
  • Open code that runs on your machine

In practice: Pro plus the AI add-on is about $68 a month, a little over $800 a year. Business lands near $1,200 a year. If you are on the cheapest tier the saving is much smaller, so check what you actually pay before switching.

Prices as of August 2026, from published pricing pages. ManyChat's free tier dropped from 1,000 contacts to 25 in March 2026, which is why a lot of people are looking for an alternative right now. Worth confirming against the current pricing page.

What you need first

  • A Business or Creator Instagram account. Personal accounts are not supported, and switching in Instagram settings takes a minute without losing content
  • Claude Code installed and working
  • A real guide page to send people to. A broken link fails validation on purpose

The steps

  1. 01.Sign up for HookMyApp
  2. 02.Prompt 1: install and sign in
  3. 03.Prompt 2: connect Instagram, set a keyword
  4. 04.Prompt 3: test without sending anything
  5. 05.Prompt 4: go live
  6. 06.Prompt 5: keep it running
  7. 07.Bonus: a dashboard that proves it works
STEP 01

Sign up for HookMyApp

HookMyApp is what connects Instagram to the bot without you building your own Meta app. Without it you would create an app, configure permissions, and go through review. With it, it is a normal signup, free up to 2,000 messages a month.

They present themselves as a Meta business partner, and this is what their home page shows:

The Meta Business Partners mark on the HookMyApp home page
The mark as it appears on their site.

Open the link, which opens in a new tab so this guide stays next to it, and click Start Free at the top:

The HookMyApp home page with the Start Free button highlighted in the top corner
Click Start Free, top right.

A signup screen opens. Type an email and click Continue with email, or use Google. A six digit code arrives by email, you enter it, and you are in.

The HookMyApp signup screen with the email field highlighted
Remember which email you used. The next prompt needs it.

Sign up in the browser, not through the prompt

Claude Code can create the account by itself, but then the signup is not attributed to this link. Sign up on the site first, then give the prompt that same email. That also connects it to your existing account instead of opening a second one.

You know it worked when: You are signed in and looking at the dashboard.

STEP 02

Prompt 1: install and sign in

Open Claude Code and paste. It checks what is missing, installs it, and asks you for the code that arrives by email. Swap in your own address.

Copy this prompt
Install the tools for an Instagram keyword bot. Do all of it yourself, I do not want to run commands by hand.

1. Check that I have Node.js 20 or newer. If not, install the current stable release the right way for my OS.
2. Install both packages globally:
   npm install -g @gethookmyapp/cli
   npm install -g github:dangogit/instagram-cta-kit
3. Sign me in to HookMyApp with the email I already registered with on the site: THE_EMAIL@example.com
   Run the login initiation exactly once, save the registrationId, and ask me for the 6-digit code
   that arrives by email. Do not request a new code while the first one is still valid.
4. Finish with a health check and tell me in one line whether everything is in order.

If anything fails, stop, tell me the exact error, and do not guess.
Never print tokens or secrets in chat.

HookMyApp's own site has a button that copies their setup prompt. It covers their side only, while the prompt above covers both their side and the bot:

The Copy Instructions for Your AI button on the HookMyApp home page
Their official button, if you want to compare.

You know it worked when: The health check passes and you are signed in.

STEP 03

Prompt 2: connect Instagram, set a keyword

A Meta window opens here. Pick your professional Instagram account and approve permissions for reading comments and sending messages. Swap in your own keyword and link.

Copy this prompt
Now connect Instagram and set up one keyword for me.

1. Connect my Instagram account through HookMyApp. A Meta window will open, tell me when to approve.
2. Create a new project in ./instagram-bot with HookMyApp as the provider.
3. Write the channel credentials into it, including the signing secret. Do not print them in chat.
4. Remove the example keywords that get created automatically. They point at example.com and are not mine.
5. Add one keyword of mine:
   keyword: CHECKLIST
   link: https://my-site.com/my-guide
6. Run the health check and link validation, and confirm the link really returns a live page.

Leave dry-run mode on. I do not want real messages sent yet.
Finish with one line telling me whether everything is in order and which keyword is configured.

Account not in the list?

It is probably still a personal account. Switch it to Business or Creator in Instagram settings, then ask Claude Code to connect again.

You know it worked when: Link validation passes and your keyword is configured.

STEP 04

Prompt 3: test without sending anything

Do not skip this. It proves the engine works before you touch your real account, and Instagram is not involved at all.

Copy this prompt
Test that the bot works, without touching Instagram and without sending any message.

1. Start the service from ./instagram-bot and confirm it came up.
2. Fake a comment: build an Instagram-shaped event containing the keyword I configured,
   sign it with the signing secret from the config, and send it to the local service.
3. Show me the response code and the queue state.

I expect a 200, then the event moving to "completed" with no failures.
Explain what happened in two lines. Do not print the secret.

You know it worked when: The event reached completed with no failures. If you got here, the engine works and all that is left is opening the tap.

STEP 05

Prompt 4: go live

Turn off dry-run and run one controlled test, from another account or a friend's.

Copy this prompt
Take the bot live, carefully.

1. First run every check: health, links, and queue state.
   Tell me in one line whether I am ready, and if not, exactly what is missing.
2. Only after you confirm everything is in order, turn off dry-run and restart the service.
3. Explain what I should do to test: which account to comment from, where, and what I should see at each step.
4. Once I tell you I commented, check the queue and tell me whether the message was delivered
   or got stuck, and why.

A successful public reply is not proof the DM arrived

Instagram sometimes accepts the public comment reply and rejects the private message, for example when the user blocks messages from people they do not follow. The bot stores that failure in a list so you can see it, but it cannot override Instagram policy.

You know it worked when: You got a public reply, a DM, and the guide link.

STEP 06

Prompt 5: keep it running

So far the bot only lives while your computer is open. This prompt turns it into a background service that comes back on its own after a restart.

Copy this prompt
I want the bot to keep working when I am not at the computer.

1. Detect which operating system I am on and pick the right way to run a background service.
2. Install the bot as that kind of service from ./instagram-bot, start it, and confirm it came up.
3. Restart the service once to prove it comes back on its own.
4. Explain in two lines how I stop it and how I check that it is alive.

Do not expose the port to the internet. It must stay local.

The machine still has to be on. If you want it working while your laptop is closed, you need a machine that stays on at home or a small server, then ask Claude Code to move the same project there.

You know it worked when: The service comes back on its own after a restart.

STEP 07

Bonus: a dashboard that proves it works

The bot ships with a built-in dashboard, nothing extra to install. Guides delivered today and this week, a two-week chart, every keyword with its own numbers, and a live feed of what is happening right now. The fun part: click an automation and you see the actual Instagram post inside a phone frame, with how many guides went out from that post.

Copy this prompt
Open the dashboard of my Instagram bot in ./instagram-bot.

The bot has a built-in command that prints a secure dashboard link and opens it in the browser.
If the bot server is not running right now, start it first, then open the dashboard.
The built-in dashboard: delivery counters, a 14-day chart, the active automations and a live activity feed
The dashboard on my real account data, shown in Hebrew here; yours follows your install language. The counters only count guides that were actually delivered
Clicking an automation opens the real Instagram post inside a phone frame
Click an automation and you see the post it is attached to, like on a phone

You know it worked when: A browser opens with your numbers. Nothing there yet? It fills up on its own the moment someone comments your keyword.

The weekly minute

Worth running once a week. It finds people who asked for a guide and never got one.

Copy this prompt
Run a weekly check on my Instagram bot in ./instagram-bot and summarize in five lines or fewer:

- how many events are stuck in the queue, and the age of the oldest
- how many permanent failures there are, and the most common reason
- whether any guide link broke and returns an error
- whether anything needs my attention right now

Do not run a retry and do not mark anything resolved without asking me first.

Two warnings, seriously

  • Never push the project folder to GitHub. It holds tokens and other people's messages. If a secret appeared in a chat or a screenshot, ask Claude Code to regenerate it
  • Official Meta API only. A tool that impersonates a browser or logs in as you puts your account at risk, and it is not worth it

The code is open

The bot itself is an open source project I wrote, MIT licensed. You can read it, change it, and see exactly what it does with your data.

github.com/dangogit/instagram-cta-kit

AI-native products, workshops, and automations. Built from everywhere.

© 2026 Daniel Goldman