Instagram comment → DM
Every comment gets an answer. Or a reason.
Somebody comments a keyword on your post. They get a private DM in seconds, they get tagged, and exactly what happened is written down — including the times nothing was sent.
Built on official APIs and self-hosted. The engine is complete and verified by its own test suites; it is not yet running against a live Instagram account, and this page will say so until it is.
The path a comment takes
Nothing is held in memory and hoped for.
Signed webhook, durable outbox, fair queue, your workflow, the policy guard. Every step is a record on disk before it is anything else.
Restart the machine mid-flight and the comment is still there, still owed an answer, still counted.
- 01Signature checked before a byte is trusted
- 02Written down in the same transaction as the queue job
- 03Queued fairly so one viral post cannot starve the rest
- 04Your workflow decides, on the server, never in the browser
- 05The guard has the last word, and names it
Twenty-seven named endings
Most tools tell you a message was sent.
This one tells you why one wasn’t — by name, against the comment that caused it, in something you can search and count.
Three endings mean something went out. Four are failures. Two are rehearsals. Two mean no workflow matched at all. The remaining sixteen are deliberate refusals — decisions made on your behalf, which you are entitled to read.
The guard
It says no far more often than it says yes.
An automation that sends everything it can is an automation that gets an account restricted. These limits live in the engine itself, not in a setting somebody can forget to switch on.
- CapsOne DM per person per day. Then per-post, per-hour and per-day ceilings on the account.
- DeferA cap postpones, it does not discard. When a post goes viral the overflow is retried, not dropped. Nobody is silently skipped for commenting at the wrong minute.
- StopSomebody says stop, and the record cannot be deleted by the application. Not a preference — a wall.
- KillFour levels: everything, one client, one account, one workflow. Works from the command line when the console cannot be reached.
- CircuitIf Instagram starts rejecting sends, it stops trying rather than hammering the door and earning a longer penalty.
The honest column
What nobody can do.
These are not gaps here. They are closed on Instagram’s side, for every product on the market — and anybody selling them to you is either scraping or lying.
- Follow-gateAt the moment of sending, whether somebody follows you is not readable. It can be checked afterwards, which is a different promise.
- BroadcastThere is no such API. A message is a reply to a person who contacted you first, inside a window that expires.
- ScrapingOff the table. Official APIs only — which is also why your account stays yours.
Built to be checked
Numbers we can show you the source of.
Self-hosted and multi-tenant. Your data sits in your database, separated at the row level, encrypted where it is sensitive, with a restore proven by actually restoring rather than by a line in a document.
Start here
Tell us the account. We will tell you what it can do.
Every account is different — the posts, the volume, the words people actually use. We look at yours, write the workflows, and run them with you watching. Pricing follows the proposal, not a table on a website.
Request a proposal