Instagram + WhatsApp → replies

Every commentgets an answer.Or a reason.

Somebody comments on your Reel. Within seconds they have a private DM, a public reply under their comment, and a place on your contact list. And when nothing is sent, the record says which control refused, and why.

  • sent
  • refused, by name
  • no workflow matched

examples, not clients

Whoever asks, an answer or a reason.

  • @riya.bakes · on your Reelprice kitna hai? 😍

    ● SENT · DM + public reply

    example · a founder, on his phone
  • WhatsApp · new numberDemo

    ● SENT · lead question

    example · a creator, on the go
  • Instagram DM · late nightare you open tomorrow?

    ● SENT · keyword reply

    example · a café, after closing
  • @growfast.bot · on your Post🔥🔥 check my page for followers

    ● REFUSED · spam filter

    example · a creator, mid-coffee
  • @lena.styles · on your ReelLINK

    ● SENT · DM + public reply

    example · a stylist, on the way
  • @karan.fit · after “stop”PRICE

    ● REFUSED · opted out

    example · an agency owner
  • @sofia.m · on your Postdo you have peonies today?

    ● SENT · DM

    example · a florist, between orders
  • Instagram DM · late nightaaj khule ho?

    ● SENT · keyword reply

    example · a boutique, Sunday

meta error 368 · spam behaviour

0

Instagram has never once told this account it was behaving like a bot.

3,901
messages delivered
Sept 2026
running since

Measured on 17 October 2026, from the live record. Re-measured every time the site is published, with the date attached.

is my account safe?

The question everyone asks first, answered in writing.

  • Official Instagram API, connected on Instagram’s own screen. We never ask for your password.
  • One DM per person per day, and hourly and daily caps set to your account’s real volume.
  • It stops itself. A spam warning from Instagram stops sending at once, for 24 hours.
  • Nothing Instagram forbids: no mass DMs, and no message to anybody who did not write first.

our promise

If Instagram ever restricts your account, or warns it about automation, while HeyJaanu is running, we switch your auto-replies off the same day, show you everything that was sent, and help you with Instagram’s review. That month is not charged.

Nobody can promise Instagram will never restrict an account, so we do not. This is what we promise instead. The details are on security and safety.

Real numbers from our first client

An education creator, answered automatically.

The account
An education creator whose Reels ask people to comment for a link, and get more comments than one person can answer.
What we did
Our team set up the auto-replies on the posts the creator chose, wrote the DM and the public reply with them, tested it, and took it live.
What the creator does now
Nothing, for the replies. We watch them, change them when asked, and send a report each month.
1,322
DMs sent in the first three weeks, to 1,284 different people
1,378
DMs delivered in September 2026

The first three weeks ran from 7 September 2026 to 28 September 2026. Every one of these was a reply to somebody who had commented. Test messages are not counted.

the path a comment takes

Nothing is held in memory and hoped for.

  1. Signature checkedbefore a byte is trusted
  2. Written downin the same transaction as the queue job, so a restart loses nothing
  3. Queued fairlyround-robin across clients, so one viral post cannot starve the rest
  4. Your workflow decideson the server, never in the browser
  5. The guard has the last wordand names its decision
  6. The DM, then the public replyin that order — the reply only after the DM is confirmed
  7. One named outcomewritten against the comment that caused it

A workflow is data, not a script. Nothing in it executes code.

Before go-live, a real comment runs through the real engine with the sending capability structurally absent — not disabled by a flag somebody could flip.

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

3 endings mean something went out. 4 are failures. 2 are rehearsals. 2 mean no workflow matched. The remaining 16 are deliberate refusals.

Deliberate refusals

16

Decisions made on your behalf, which you are entitled to read.

SKIPPED_SELF_COMMENT
The comment came from your own account.
SKIPPED_REPLY_COMMENT
A reply to another comment rather than a top-level one.
SKIPPED_DUPLICATE
Already handled. Instagram delivered the same comment more than once.
SKIPPED_USER_COOLDOWN
This person had been messaged too recently.
SKIPPED_RATE_CAP
A daily limit was already reached — for the account, the post, or the person.
SKIPPED_POLICY_RESTRICTION
Instagram’s messaging rules did not allow this DM.
SKIPPED_KILL_SWITCH
All sending was stopped for safety at the time.
SKIPPED_CIRCUIT_OPEN
Instagram returned errors several times, so sending paused for safety.
SKIPPED_WORKFLOW_INACTIVE
The auto-reply was off or archived.
SKIPPED_ACCOUNT_UNHEALTHY
The account needs reconnecting before it can send.
SKIPPED_SEND_MODE_DISABLED
Sending was switched off for this account. Nothing was going out at all.
SKIPPED_NOT_ALLOWLISTED
The commenter was not on the list of accounts allowed to receive messages while testing.
SKIPPED_WINDOW_EXPIRED
Held for a condition that never cleared, and the reply window closed before it did.
SKIPPED_ACCOUNT_BLOCKED
Instagram would not allow this account to message this person.
SKIPPED_OPTED_OUT
This person asked not to be messaged again. It does not expire.
SKIPPED_SPAM
Filtered as spam, and recorded rather than silently swallowed.

Something went out

3

The message, the message with a failed public reply, and the case where only internal actions were due.

SENT
The DM reached the commenter.
SENT_PUBLIC_REPLY_FAILED
The DM went out. The reply under the comment did not — the DM is the one that matters.
ACTIONS_PERFORMED
Tags or saved details were updated. No message was due.

Failures

4

Including the one nobody else names: a send whose result is unknown.

FAILED_META_ERROR
Instagram refused the DM.
FAILED_COMMENT_GONE
The comment was deleted before the reply could be sent.
FAILED_VALIDATION
The message could not be built from the auto-reply.
UNKNOWN_OUTCOME
Instagram never answered. Not retried — the message may already have arrived.

No workflow matched

2

Nothing was chosen for this comment, or another workflow won.

NO_MATCH
None of your auto-replies was set to answer this comment.
EVALUATED_NOT_WINNER
This workflow matched, but another one had priority for the same comment.

Rehearsals

2

Dry runs. They can never send, and they are recorded anyway.

DRY_RUN_WOULD_SEND
A rehearsal that would have sent. Nothing was sent.
DRY_RUN_WOULD_SKIP
A rehearsal that would have been refused. Nothing was sent.

UNKNOWN_OUTCOME deserves its own sentence. It is a send whose result nobody knows, and it is never retried automatically — because retrying a message that may already have arrived is exactly how a person ends up DM’d twice. It goes to a human instead.

the half nobody shows

Every tool shows what happened. Almost none show what didn’t.

A comment that matches no workflow writes no execution row — deliberately, or the database fills with tens of thousands of rows for posts nobody automated. The cost is that the misses appear nowhere at all. There is a screen for exactly those, and it splits them three ways.

Nobody chose this

A real gap. A post no workflow covers, or a comment that never got dispatched. This is the number worth acting on.

Nothing, on purpose

An emoji-only comment, or a reply under another comment. A decision, not a bug.

Not finished yet

It arrived ten seconds ago. Counting it as a miss makes the number climb every time traffic does, which is alarming in the one moment it should be reassuring.

the guard

It says no far more often than it says yes.

An automation that sends everything it can is an automation that gets the account restricted. These limits live in the engine itself, not in a setting somebody can forget to switch on.

SituationControlWhat happensThe record says
The same person comments three times in an hourper-person capThe first one gets the DM. The other two do not.SKIPPED_USER_COOLDOWN
A Reel goes viral — four hundred comments in ten minutesaccount ceiling, then deferralThe overflow waits. Nobody is dropped.SKIPPED_RATE_CAP
Someone replied "stop" last weekopt-out wallThey will not hear from you again.SKIPPED_OPTED_OUT
Instagram starts rejecting sendscircuit breakerIt stops trying instead of hammering the door.SKIPPED_CIRCUIT_OPEN
It is day one and every workflow is builtsend modeNothing can go out yet.nothing is sent, and the reason is recorded
Somebody comments on a nine-day-old postplatform windowThere is no way to answer them.SKIPPED_WINDOW_EXPIRED

The controls

10
Per-person cap

One DM per person per day, which is Meta’s actual rule, plus a separate budget for public replies so a comment’s two halves never compete for the same allowance.

Account ceilings

Per post per hour, per account per hour, per account per day, set against your account’s real volume rather than a default.

Deferral

A cap postpones a send within Instagram’s seven-day window, it does not discard it. When a post goes viral the overflow is retried later, so nobody is silently skipped for commenting at the wrong minute.

Opt-out

Somebody says stop and the record cannot be deleted by the application. Not a preference — a wall in the database.

Kill switch

Four scopes — everything, one client, one account, one workflow — and it still works when the console cannot be reached.

Circuit breaker

If Instagram starts rejecting sends the engine stops trying rather than earning a longer penalty. Error 368 opens it instantly, with a 24-hour hold.

Rate feedback

Meta’s own usage headers are read continuously, and sending pauses before the limit rather than after it.

Send mode

DISABLED by default, then TEST with an allowlist and a tiny cap, then LIVE — enforced inside the guard, so nothing can send on day one even if every workflow is finished.

Spam filter

Shipped, and it records what it suppressed instead of quietly dropping it.

Automation disclosure

Every DM carries one, and no setting in the product can take it out of a DM.

Caps are set against your account’s real volume rather than printed here. A figure on a website that does not match what your account gets is worse than no figure at all.

looked after

Built so the boring failures cannot happen.

Nothing is lost on a restart

A comment is saved before anything is done with it, so a crash or a restart delays a reply rather than dropping it.

One busy client cannot slow another

Work is shared out fairly between accounts, so one viral post does not hold up everybody else.

A duplicate DM cannot happen

Each comment can produce one private reply, and the record refuses a second one.

Your data is separated from other clients’

Every client’s records are kept apart inside the database itself, not by a filter somebody has to remember.

Access tokens are encrypted

Instagram access is stored encrypted, and the keys can be rotated.

Backups are tested by restoring them

Not only taken: restored into a spare database and checked, including that the encrypted access still opens.

Every change is on the record

Every change our side makes is logged, refusals included, in a log the application itself cannot edit.

including us

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

Claim you will hear elsewhereThe truth
Only DM people who follow youAt the moment of sending, whether somebody follows you is not readable — Meta consent-gates the field. It can be checked afterwards, which is a different promise.
Broadcast DMs to everyoneThere is no such API. A message is a reply to somebody who contacted you first, inside a window that expires.
Unlimited DMs per personOne private reply per comment, ever. Not a policy — a platform constraint.
We’ll reply to old comments foreverThe window is seven days from the comment. After that nobody can reply, at any price.
Send a PDF or an image in the DMA private reply carries text and a link, not an attachment.
We’ll automate your private accountA private account produces no comment webhook at all.
Scrape their followersOff the table. Official APIs only — which is also the reason the account stays yours.

This list is also a schedule in the services agreement, signed at the start, so nobody can later say they were promised a follow-gate.

not built yet

What comes next, labelled as not yet.

Nothing below is available today. Each item carries its status, so nothing here can be mistaken for a feature.

near term

Pick the winning wording, and a delay that holds

The best-performing reply wording chosen automatically, and a wait step that holds across restarts.

a decision

Connect your own account with no step from us

Authorising Instagram is already yours to do and no token reaches us by hand. What is not built is the removal of the step in the middle: we add your account as a tester on our Meta app, and you accept that in the Instagram app. Taking that away is what would need App Review — see below.

blocked

Instagram DM features — waiting for Meta App Review

Story replies, DM keywords, content only for followers, email capture and one follow-up are built and switched off. Meta has verified our business; we are applying for the permission these need, and they stay off until Meta approves it.

run for you, not sold to you

Start on your own, or have us run it. One step is always ours.

You can create a workspace yourself in a minute. What is not self-serve is one manual step: Instagram has to grant this installation access to your account, we send that invitation by hand, and you accept it in the Instagram app. Usually the same day. It needs no App Review and no Business Verification. We would rather say so here than after an invoice.

Create a workspace · Or have us set it up and run it

  1. DiscoveryWe look at the account, the posts, and the words people actually use. No fee.
  2. SetupWorkflow build, reply coverage on the selected posts, the DM and public-reply copy, testing, go-live. A one-time project fee.
  3. Managed operationMonitoring, the workflows running, revisions, monthly reporting. A monthly retainer.
  4. OffboardingWritten down before you need it: tokens revoked, deliverables handed over, commenter data deleted.

Your work is yours

Workflow configurations, copy, and any keyword sets created for you are assigned to you on payment — worldwide, for the full term.

Commenter data

We act as Data Processor under India’s DPDP Act 2023, and delete commenter data on exit. Opt-out records are kept, because deleting those is how somebody who said stop starts hearing from you again.

Approvals are Meta’s

Go-live is conditional on platform approvals. Timelines extend day for day, and a refusal is not a breach.

Indian invoicing

GST, TDS under 194J, MSMED terms and e-stamping, handled.

pricing

The shape, not a table.

Comparing this to a subscription compares a retainer to a tool licence. The honest comparison is their subscription plus the hours you or your agency spend inside it, against one retainer where the hours are ours.

SetupOne-time. Half on signature, half at go-live.
Managed operationMonthly, by active workflows and account volume.
TieringBy workflows and posts covered — never by contact count. Contact pricing punishes you for going viral, which is the exact moment you should be happiest.
OverageNone. Caps postpone a send within Instagram’s seven-day window, they do not drop it, so there is nothing to bill for.
First monthOn a monthly plan, if it is not working for you within 30 days of go-live, tell us and we refund the setup fee and the first month’s fee in full.

Three plans, each a one-time setup and a monthly fee, and an Agency plan priced per client account, are on the pricing page.

who is behind HeyJaanu

Shivangi Yadav

HeyJaanu is run by Shivangi Yadav, from Agra, Uttar Pradesh. Every account is set up and watched by a person, and you can always write to us directly.

Who runs HeyJaanu

Every comment gets an answer. Or a reason.

Tell us the account. We look at it and at your last few posts before replying, and if Instagram’s rules make the thing you want impossible, you hear that in the first reply rather than after the setup fee.

Request a proposal