Automate ManyChat with Claude
When someone comments a keyword on your Instagram post, they get a DM with your link. Setting that up in ManyChat normally means 15–20 minutes of clicking through menus. This guide has Claude Code's Chrome extension build the whole automation for you in about 60 seconds. You just review and activate.
Then, from Step 6 on, the upgrade: ask for their email before you hand over the resource, and push it straight into your email tool. That version has run on my account for two years and built a list of 12,000 people off comments alone.
Watch the walkthrough
I cover this build as Automation 2 at 4:44. The player above starts there automatically.
What you're building
An automated comment-to-DM system for Instagram. Someone comments your keyword on a post, ManyChat replies to the comment, sends them a DM, and hands over your resource link. It runs while you sleep.
The twist is who does the setup. Instead of you building the flow by hand inside ManyChat, Claude Code controls your browser and builds it for you. You describe the video and the link once, and Claude opens Chrome, navigates ManyChat, and assembles the entire automation. Your only job is to review the draft and flip it live after you post.
There are two versions of this, and the page covers both. Steps 1 to 5 build the simple one: comment comes in, DM goes out with your link. Steps 6 to 8 build the one I actually run: it asks for their email before handing over the resource and adds them to your email list on the way through. Build the simple one first. It works, and it teaches you where everything lives.
What you'll need
- A Claude Code account (claude.ai/code)
- Google Chrome browser
- A ManyChat account (free tier works)
- An Instagram Business or Creator account connected to ManyChat
- For Steps 6 to 8 only: an email tool with a form per resource. I use Kit. ManyChat also connects to Mailchimp, ActiveCampaign, ConvertKit and others, and the flow is identical whichever you pick.
Step 1: Install Claude Code for Chrome
Go to the Chrome Web Store and search for the Claude Code for Chrome extension. Install it and follow the setup instructions to connect it to your Claude Code account.
Once installed, you should see the Claude Code icon in your Chrome toolbar. Click it to verify it's connected and ready.
Step 2: Set up your ManyChat account
If you don't have ManyChat yet, sign up at manychat.com. The free tier is enough to get started.
Connect your Instagram Business or Creator account through ManyChat's Settings > Channels > Instagram. ManyChat needs this connection to send DMs on your behalf.
Spend a few minutes clicking around the Automations tab so you know where things live. You won't need to build anything manually, since Claude Code handles that, but it helps to know what you're looking at when you review the automation later.
Get a new build-with-AI guide every week
Weekly playbooks on prompting, agents, and content systems — free.
You're in. First email lands shortly.
Step 3: Create a ManyChat skill in Claude Code
This is the part that makes it repeatable. A skill is a small instruction file that teaches Claude Code exactly how to build ManyChat automations, so every future automation is one command. In your project directory, create a file at .claude/skills/manychat/SKILL.md and paste in the following:
---
name: manychat
description: Create a ManyChat Instagram comment-to-DM automation from a video transcript and link.
---
# /manychat — Instagram Comment-to-DM Automation
## Usage
/manychat <paste transcript or file path> link: <URL>
Example:
/manychat [transcript text] link: www.yoursite.com/freebie
## What This Skill Does
Takes a video transcript + a link and creates a complete ManyChat Quick Automation for Instagram:
1. Parses the transcript to extract:
- Keyword: The word viewers are told to comment
- CTA description: What the viewer gets
- Product/resource name: The thing being offered
2. Opens Chrome, navigates to ManyChat, and builds the automation:
- Creates a new Quick Automation ("Auto-DM links from comments" template)
- Sets the trigger keyword (ALL CAPS)
- Adds 3 comment reply rotations:
1. "Thanks for commenting! Check your DMs"
2. "Appreciate your reply. Sent you a DM."
3. Third reply references the CTA item (e.g., "Guide sent to your DMs!")
- Sets the opening DM: "Thanks for replying! Would you like to <CTA description>?"
- Adds a button: "Yes, send me the link"
- Sets the follow-up DM: "Here you go!"
- Adds the follow-up button with your link
- Sets trigger to "a specific post or reel" (leave post unselected until you post the video)
3. Leaves the automation in draft mode for you to review and activate after posting.
## How to Run It
In Claude Code, type:
/manychat The number one hack to building connection is to smile as you speak. Comment the word GUIDE below and I'll send you the free resource. link: https://yoursite.com/guide
Claude Code will open Chrome, navigate to ManyChat, and build the entire automation. Review it, then activate after you post the video.
## Keyword Extraction
The skill looks for phrases like "comment the word ___", "comment ___ below", "type ___", or "drop ___ in the comments" in your transcript. The keyword is always what viewers are told to comment. That's the entire skill file. Once it exists, Claude Code knows exactly how to build ManyChat automations every time you invoke /manychat.
Step 4: Run your first automation
With the skill in place, you invoke it from Claude Code and pass in two things: the video transcript (or a description of the content) and the link you want to share.
/manychat The number one hack to building connection is to smile as you speak. Comment the word GUIDE below and I'll send you the free resource. link: https://yoursite.com/guide
Claude Code opens Chrome, navigates to ManyChat, and starts building:
- Creates a new automation and names it
- Sets the trigger keyword (what viewers need to comment)
- Adds 3 comment reply variations so responses feel natural
- Builds the opening DM with a friendly message and a button
- Adds the follow-up DM containing your resource link
The whole process takes about a minute. When it's done, the automation sits in ManyChat in draft mode. Nothing goes live until you say so.
Review everything in ManyChat. Check that the keyword makes sense, the DM copy sounds like you, and the link is correct.
Step 5: Activate after posting
Post your video to Instagram first. The automation needs a specific post or reel to attach to.
Once the video is live:
- Go back to ManyChat
- Open the automation Claude Code created
- Select the specific post/reel for the trigger
- Click "Go Live"
Test it by commenting the keyword on your post from another account (or ask a friend to). You should receive the DM within a few seconds.
Step 6: Collect the email before you send the resource
Everything up to here builds the version that DMs someone a link. That works, and it is where I started. But a DM gets you one view and then the person is gone. You cannot reach them again unless they happen to see your next post.
So the version I actually run now asks for an email first, and only then hands over the resource. I have had this running for over two years and it built an email list of 12,000 people off comments alone.
Ask before, not after. If you send the resource and then ask for an email, almost nobody gives it. They already got what they came for. The ask has to sit between the person and the thing they want, and it has to be one step, not a form.
Here is the shape of the flow. Eight blocks, and the third one is the whole trick.
- Instagram comment trigger on your keyword.
- Opening DM with one clear reply choice. One button, not three.
- A condition: does this person already have an email on file? ManyChat stores an Email field per contact. If someone commented on a previous post and gave you their email then, you already have it.
- Yes path: skip the ask entirely and send the resource. Asking a returning subscriber to re-enter their email is how you make a fan feel like a stranger.
- No path: ask for the email and capture their reply into the Email field.
- Add them to your email tool with an Add Contact to Form action, pointed at the specific form for this resource.
- Confirmation, then the resource.
- A reminder path for the people who open the DM and never reply.
You need ManyChat's Full Automation for this, not Quick Automation. Quick Automation cannot hold a condition, so it has no way to check step 3. If you built the earlier version in Quick Automation, this is a rebuild rather than an edit.
One form per resource. Do not point three different lead magnets at the same form because the topics feel related. The form is how the right welcome email finds them. Cross-wire it once and people get sent a resource they did not ask for.
Step 7: The four settings that break this silently
None of these throw an error. The automation looks live, the flow chart looks right, and the emails quietly do not arrive. I have hit every one of them.
1. Expiry defaults to 30 minutes. In the Data Collection block there is a field called "Data Collection expires in". Out of the box it is 30 minutes. That means anyone who reads your DM at work and replies that evening falls out of the flow and gets nothing. Set it to 30 days.
2. Typed field names do nothing. When you write the DM and want it to say the person's first name, you have to insert First Name from ManyChat's system-field picker so it becomes a chip in the editor. If you type the characters {First Name} yourself it stays literal text, and every DM you send says "Hey {First Name}".
3. Opt-in is a separate checkbox. Inside Data Collection, set Reply Type to Email, then check both Save Email to System Field and Set Email Opt-In. Collecting the address without the opt-in gives you an address you are not cleared to email.
4. Only one automation can own "Next Post or Reel". If your video is not posted yet, you point the trigger at the next post. ManyChat only lets one automation hold that at a time, so your new flow silently loses to the old one still holding it. Stop the old automation first. Once the video is up, switch the trigger to the specific post and pick it by matching the caption, not by picking whatever is newest.
Two more things worth doing every time. Set the invalid-answer retry message to something plain like "Please enter a correct email address" and let it retry three times, because people fat-finger their address constantly. And open both branches before you go live, not just the one you happen to test. The yes path is the one everybody forgets, and it is the path your existing subscribers take.
After any edit to a flow that is already live, click Update and wait for ManyChat to confirm the live version updated. Saving is not publishing.
Step 8: The email-capture skill file
This replaces the skill file from Step 3. Same command, but it builds the version with the email condition, and it carries the verification checklist so Claude checks its own work instead of telling you it is done.
---
name: manychat
description: Build and verify an Instagram comment-to-DM automation that collects the person's email before it hands over the resource, and adds them to the right email-tool form.
---
# /manychat — comment-to-DM with email capture
## Usage
/manychat <transcript, caption, or description> link: <URL>
## Resolve these before touching ManyChat
- The Instagram account this post goes out on
- The CTA keyword and its natural variants
- The resource title and its final URL
- Post scope: a specific post/reel, all posts/reels, or the next post/reel
- The exact email-tool form name and ID this resource maps to
- Whether you are authorized to take the automation live
Do not substitute a different form because its topic looks similar. One resource, one form.
## Build it as a Full Automation
Quick Automation cannot hold a condition, so it cannot check whether you already have someone's
email. Use Full Automation for anything with email capture.
Keep this structure:
1. Instagram comment trigger and keyword
2. Short opening DM with one clear reply choice
3. Condition: Email has any value
4. Yes path: skip collection, deliver the resource
5. No path: collect the reply as Email
6. Email-tool action: Add Contact to Form, using the exact form
7. Confirmation and resource delivery
8. One reminder path for the people who never reply
## Field and collection settings
- Insert First Name and Email from ManyChat's system-field picker. They must render as
field chips in the editor. Typing {First Name} or {Email} as ordinary text does not work
and fails silently.
- Use Data Collection with Reply Type set to Email.
- Keep Save Email to System Field and Set Email Opt-In both checked.
- Set "Data Collection expires in" to exactly 30 days. The default is 30 minutes.
- Set the invalid-answer retry message to "Please enter a correct email address" and retry
up to 3 times.
- Connect the no-response expiry path to the resource reminder message.
## Keyword rules
- Numeric CTA: use the exact number in contains mode.
- Word CTA: register the written form, the lowercase form, the obvious split-word form, the
hyphenated form, and the singular when it reads naturally.
- Prefer contains or partial matching when the platform offers it.
## When the post does not exist yet
Use "Next Post or Reel". Only one automation can hold a next-post trigger at a time, so stop
the obsolete flow first, then arm the replacement. Once the post is live, switch the trigger
to "Specific Post or Reel" and select it by matching the caption, not by recency.
## Naming
M.DD.YY <Keyword> <Resource> e.g. 8.09.26 GUIDE Speaking Like A Leader
## Final verification, every time
- Correct account, post scope, and keyword
- The email-known condition exists and both branches were opened
- First Name and Email render as real system-field chips, not typed text
- The collected reply lands in the Email system field with opt-in enabled
- Data Collection expires after 30 days, retries 3 times, correct retry message
- Exact form name and ID on the no-path
- Correct copy, images, title, and URL on BOTH branches
- Obsolete competing trigger stopped
- After any edit to a live flow, click Update and confirm "Live version is updated"
## Reusing an old flow
Duplicating last month's automation is the fastest way to build and the fastest way to ship a
broken one. Replace every inherited item: public replies, DM copy, images, card titles, links,
the keyword, and the form. A template still pointing at an older form is not ready. Fill in your own form names where it says so. Everything else works as written.
Pro tips
- Always leave automations in draft until your video is posted. ManyChat needs a live post to attach the trigger to.
- Use a clear, memorable keyword. A single word or number works best. "guide" or "101" — something easy to type in a comment.
- Keep your DM message short and friendly. One sentence of context, then the link. Nobody wants to read a paragraph in their DMs.
- Test the full flow before promoting the keyword in your content. Comment the keyword, check that the reply and DM both fire correctly.
- If you're running multiple automations, keep a simple list of which keyword maps to which video. Avoids conflicts.
What's next
Once you've built one automation, the second one takes half the time because the skill already exists. You're just passing in new content and a new link.
A few directions to explore from here:
- Set up automations for different lead magnets across your content
- Track which keywords drive the most DM engagement
- Try using Claude Code's Chrome extension for other repetitive browser tasks — form filling, data entry, testing workflows
The bigger idea: any browser task you do repeatedly is a candidate for a Claude Code skill.