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.

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.
- 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
- 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
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:

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

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.

Sign up in the browser, not through the prompt
You know it worked when: You are signed in and looking at the dashboard.
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.
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:

You know it worked when: The health check passes and you are signed in.
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.
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?
You know it worked when: Link validation passes and your keyword is configured.
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.
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.
Prompt 4: go live
Turn off dry-run and run one controlled test, from another account or a friend's.
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
You know it worked when: You got a public reply, a DM, and the guide link.
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.
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.
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.
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.

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.
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