PlaybookAdvanced9 min read28 July 2026

PB-024: A free alternative to Manychat

ManyChat cut its free plan from a thousand contacts to twenty five, and the paid tiers scale with the number of people who trigger your automation, which means a reel that pops off raises your bill. OpenReply is the free open source version, built by a seventeen year old who got tired of paying. This is the full deploy in the order that actually works, the seven steps that fail silently if you miss them, and the one prompt that does the whole thing for you.

In short

OpenReply is a free open source comment-to-DM tool for Instagram, built by a seventeen year old developer and published on GitHub. Set a keyword on a post, and anyone who comments it gets an automatic DM with your link in seconds. It replaces the core of what ManyChat charges fifteen to sixty nine dollars a month for, with no contact caps. The repo costs nothing. You pay only for hosting, which runs a few dollars a month on Vercel and Railway free tiers for a single account. Setup is a one-time technical afternoon, and the repo ships a prompt you paste into Claude Code that drives the whole thing while asking you for values. This guide covers the corrected deploy order, the exact environment variables, the seven steps that fail silently, and how to tell within sixty seconds whether it is actually working. Running it for your own account never requires Meta App Review.

Read time: 8 min


What this actually is

Comment-to-DM is the single highest-converting mechanic on Instagram. You post a reel, you say "comment REPLY and I'll send it," and the tool DMs the link to everyone who does. It works because the comment is public proof and the DM is a private, opened, one-to-one delivery.

The problem is that the tooling for it has been rented, not owned. ManyChat is what most creators pay for this, and the free plan went from a thousand contacts down to twenty five. Paid runs fifteen to sixty nine dollars a month, and the pricing scales with how many people trigger your automation. Which means the reel that finally performs is the reel that raises your bill.

OpenReply is the open source version. It is a GitHub repo you deploy on your own hosting. It watches your Instagram comments through Meta's webhook, matches a keyword you set per post, and fires the DM within seconds. No contact ceiling, because there is no vendor counting your contacts.

It was built by Diwen, a seventeen year old who got tired of paying for the subscription and wrote his own. The repo is at github.com/diwenne/openreply.

This is self-hosted software you run yourself. You will be opening a terminal and clicking through the Meta developer dashboard. If that is not you, skip to the honest limits section before you start.


What it costs, honestly

ManyChatOpenReply
Software$15 to $69 per monthFree
Contact cap25 on free, tiered on paidNone
Cost when a reel pops offGoes upStays flat
HostingIncludedA few dollars per month
Setup timeMinutesOne afternoon, once
Who holds your Instagram tokenManyChatYou

The repo itself is free. What you pay for is keeping the machinery running: a background worker plus a Postgres database and a Redis queue, which need to stay on. Free tiers on Vercel and Railway cover a single account. Add real volume or multiple accounts and you are into a few dollars a month, not a few tens.

The number that matters is the second row. Every subscription tool in this category prices against your success. This one does not.


What you will need

A Facebook account. Meta developer registration requires one and there is no Instagram-only path.

An Instagram Business or Creator account. Personal accounts cannot receive the webhook.

A Resend account with a verified sender domain. Login is email magic links only, so without a verified domain nobody can sign in at all, including you. This is the requirement people skip.

Vercel for the web app and Railway for the worker, Postgres, and Redis. Free tiers on both are enough for one account.

You do not need to buy a domain. The free your-app.vercel.app URL is what everything points at, and OpenReply serves its own privacy, terms, and data-deletion pages there.


The setup, in the order that works

Deploy order matters here, and getting it backwards is the most common way to waste an hour. Railway comes first, because Vercel needs the database URLs that Railway generates.

Step 1. Railway first. Create a project. Add PostgreSQL. Add Redis. Then add the worker by connecting your fork of the repo. In the worker's settings, set Build Command to npm run db:generate and Start Command to npm run worker. Do not leave the default build, which runs a pointless next build and fails if it touches the database. Give the worker the internal database and Redis URLs, the *.railway.internal ones.

Step 2. Migrate the production database. Once, from your own machine, using the public Postgres URL:

DATABASE_URL="postgresql://...proxy.rlwy.net.../railway" npm run db:migrate

Step 3. Vercel. Import your fork, add every environment variable, deploy. Vercel gets the public Railway URLs. The internal ones hang and time out from outside Railway's network.

The full variable list:

The next one lands in your inbox before it lands here.

One email a week. What I tested.

Subscribe
PB-024: A free alternative to Manychat · Playbooks · Steve Tan