Human Agent Permission: Why Meta Rejects It (2026 Fix)

Meta rejects most human_agent requests even when the code is correct. Here's what reviewers check and how to get approved, from someone who's done it 6 times.

Saurabh DharSaurabh Dhar
10 min read
Share:

Meta's human_agent permission has quietly become one of the hardest approvals in Meta App Review. The code is rarely the problem. Apps get rejected because reviewers can't see a real human in the loop, or can't see why the extended 7-day window is actually needed.

I've submitted the Human Agent feature for more than 11 apps over the last two years, and I've had it approved 6 times in 2026 alone. In 2025, a clean submission usually passed on the first try. Today, even well-prepared submissions often take 2 to 3 attempts. This guide covers what changed, what reviewers actually check, and how to structure a submission that passes.

Quick Answer

The human_agent permission (Human Agent feature) lets a real person reply to a user on Messenger or Instagram up to 7 days after the user's last message, instead of the standard 24-hour window. Meta approves it only when your App Review submission shows a visible human handoff: a bot or app conversation where a live agent takes over and replies after the 24-hour window has closed. If your screencast only shows automation, or doesn't prove the 7-day need, Meta rejects it regardless of how correct your integration is.

Key Takeaways

  • human_agent extends the Messenger and Instagram reply window from 24 hours to 7 days, for human replies only.
  • It's a feature approved through Meta App Review and requires completed Business Verification.
  • Rejections are almost always about evidence, not engineering. Reviewers reject the justification, not the code.
  • The three killers: no visible human handoff in the screencast, use case mismatch between your text and your video, and no demonstrated need for the extended window.
  • Automated messages sent with the HUMAN_AGENT tag violate Meta policy and can cost you API access after approval.
  • Expect 2 to 3 attempts in 2026. Approval on the first try is possible, but plan your timeline around a resubmission.

What Is the Human Agent Permission?

Human Agent is a Meta platform feature that allows your app to send messages with the HUMAN_AGENT message tag. Per Meta's official documentation, it exists for one allowed usage: letting a human support agent respond when a user's issue can't be resolved inside the standard messaging window. Meta's own examples are a business closed for the weekend, or an issue that takes more than 24 hours to resolve.

Two things follow from that definition, and both drive rejections:

  • The reply must come from a human. Bot replies, drip sequences, re-engagement campaigns, and marketing messages are explicitly outside the allowed usage.
  • The extended window is for unresolved support issues, not for reaching users who went quiet.

It applies to Messenger and Instagram messaging. WhatsApp doesn't use human_agent. WhatsApp handles the out-of-window problem with approved template messages, so don't request this feature for a WhatsApp-only app.

How Does the HUMAN_AGENT Tag Work?

Technically, the integration is simple. You send a normal Send API request with messaging_type set to MESSAGE_TAG and the tag set to HUMAN_AGENT:

POST /v23.0/me/messages

{
  "recipient": { "id": "<PSID>" },
  "messaging_type": "MESSAGE_TAG",
  "tag": "HUMAN_AGENT",
  "message": { "text": "Hi, this is Priya from support. Your refund was processed today." }
}

Use the latest Graph API version available to your app. Without the approved feature, sending outside the 24-hour window fails with error (#10) This message is sent outside of allowed window.

The rules that matter:

  • The tag is valid for up to 7 days after the user's last message.
  • The message must be a human-typed response related to the user's inquiry.
  • Applying the tag to automated content is a policy violation Meta actively detects, and it's one of the fastest ways to lose messaging access for an approved app.

Why Did Human Agent Approval Get So Hard?

In my experience across submissions in 2024 and 2025, Human Agent was a routine approval: show a support inbox, show an agent replying, done. That changed as high volumes of spam and automation apps started requesting the feature to push bot messages through the 7-day window. Reviewers now treat every human_agent request as suspect until the submission proves otherwise.

The practical effect: the burden of proof moved to you. Reviewers no longer give the benefit of the doubt to a plausible-sounding use case. They want to see the human, see the handoff, and see the window problem on screen.

What Is Meta Actually Checking?

When a reviewer opens your human_agent submission, they're answering three questions:

  • Is there a real human in the loop?
    • What they look for: A live agent interface: an inbox, an agent name, a person typing a reply
    • What fails: Demos where every reply is instant or templated, no agent UI visible
  • Does the use case match the demo?
    • What they look for: Use case text and screencast telling the same story
    • What fails: Text says "customer support," video shows broadcasts or promo messages
  • Is the 7-day window genuinely needed?
    • What they look for: A scenario where the 24-hour window realistically closes before resolution
    • What fails: No timing shown; every reply in the demo happens within minutes

If any one of the three fails, the whole submission fails. That's why technically-correct apps get rejected: the code answers none of these questions. The evidence does.

Top Reasons Meta Rejects the human_agent Permission

1. No visible human handoff. The most common failure. Your screencast shows the product working, but every response looks automated. Reviewers need to see the moment a human takes over: an agent dashboard, an assignment, a typed reply. If they can't point to the human, the permission isn't justified.

2. Use case mismatch. Your use case description says "support agents respond to unresolved tickets," but the video shows a campaign builder or bulk messaging screen. Reviewers cross-check the written justification against every frame of the screencast. Any drift between the two reads as misrepresentation.

3. No proof the extended window is needed. You demonstrated a support reply, but it happened two minutes after the user's message. That proves nothing about the 7-day window. The strongest submissions show a conversation where the user's last message is visibly older than 24 hours and the agent still needs to reply.

4. Requesting it "just in case." Chatbot apps often add human_agent alongside pages_messaging or instagram_manage_messages because it sounds useful. If your app has no agent-facing interface at all, the request is unjustifiable. Pure bots don't need it and won't get it.

5. Generic or reused screencasts. A video recycled from your pages_messaging submission, showing general messaging but nothing tag-specific, gets rejected with feedback like "inadequate demonstration" or "screencast not aligned with use case details."

How to Get human_agent Approved: Step by Step

Step 1: Confirm prerequisites. You need completed Meta Business Verification and a working messaging integration (pages_messaging for Messenger, instagram_manage_messages for Instagram) already functional in development mode. Human Agent is approved as a feature through the same App Review flow as permissions.

Step 2: Build the human-facing side before you record. Your app must have something a reviewer can recognize as an agent workspace: an inbox with conversations, agent identity, and a reply box. If humans reply through your system, this exists already. Make it obvious on screen.

Step 3: Write a use case that names the window problem. Don't write "we need human_agent for customer support." Write the specific failure the feature solves. A structure that works:

Our app provides a shared support inbox for e-commerce teams. Customers frequently message on Friday evening; support staff return Monday, after the 24-hour window has closed. Support agents (humans) use our inbox to reply to these unresolved inquiries within the 7-day window. All tagged messages are typed by agents and relate to the customer's original inquiry. Automated messages never use the HUMAN_AGENT tag.

That single paragraph answers all three reviewer questions before the video starts.

Step 4: Record a screencast that shows the handoff and the timing. The sequence that has passed for me repeatedly:

  1. A real user sends a message to the Page or Instagram account (show the user's screen or phone).
  2. Show the message arriving in your app's inbox. If a bot answers first, show the bot failing to resolve the issue and the conversation escalating to an agent.
  3. Show the human agent: logged in, name visible, opening the conversation and typing a reply.
  4. Show a conversation where the user's last message is older than 24 hours (the timestamp must be visible) and the agent replying successfully.
  5. Show the reply arriving in the user's Messenger or Instagram inbox.

Timestamps are the detail most people miss. A visible "1 day ago" or dated message in the thread is what turns "we do support" into "we need the 7-day window."

Step 5: Submit, and be ready to resubmit. Even clean submissions currently take 2 to 3 attempts. Read the rejection feedback literally, fix exactly what's named, and tighten the evidence. Don't rewrite the entire submission in frustration; targeted fixes to the flagged gap work better than starting over.

Common Mistakes to Avoid

  • Sending any automated or scheduled message with the HUMAN_AGENT tag after approval. Meta detects this pattern, and enforcement hits the whole app, not just the message.
  • Showing marketing or re-engagement flows anywhere in the screencast. Reviewers assume the worst about what they see.
  • Recording the demo entirely inside the 24-hour window, proving the standard window is enough.
  • Requesting human_agent for WhatsApp use cases. It doesn't apply there; use template messages.
  • Submitting before Business Verification is complete. The feature requires it.
  • Muting context: silent screencasts are fine, but on-screen text annotations explaining each step measurably reduce reviewer confusion.

Troubleshooting After Approval

Messages still failing with error #10? Check that messaging_type is MESSAGE_TAG and tag is HUMAN_AGENT on the request itself, that the user's last message is within 7 days, and that the approved feature is active for the app in the App Dashboard.

Approved, then access revoked? Almost always tag misuse: automated content detected under the tag. Audit every code path that can attach HUMAN_AGENT and make sure only agent-typed replies can trigger it.

Approved for Messenger but failing on Instagram? Confirm instagram_manage_messages has Advanced Access and the Instagram account is properly linked to the Page your app messages through.

Stuck on a human_agent Rejection?

If you've been rejected two or three times and the feedback keeps repeating, the problem is almost always in the evidence, not your product. I've taken 200+ apps through Meta App Review and approved the Human Agent feature repeatedly under the current, stricter review climate. I can audit your use case text and screencast, map the reviewer-proof handoff flow for your app, and manage the resubmission end to end. Get in touch and include your last rejection feedback — that's usually enough to diagnose the fix.

Frequently Asked Questions

What is the human_agent permission in Meta App Review?

It's the Human Agent feature: it lets a human support agent reply to a user on Messenger or Instagram up to 7 days after the user's last message, using the HUMAN_AGENT message tag. It's granted through Meta App Review and requires Business Verification.

Why does Meta keep rejecting my human_agent request?

The three most common reasons: your screencast doesn't show a visible human taking over the conversation, your written use case doesn't match what the video shows, or your demo never proves you actually need the 7-day window. Reviewers reject the evidence, not the code.

Can I use the HUMAN_AGENT tag for automated or bot messages?

No. The tag is strictly for human-typed replies related to the user's inquiry. Meta detects automated content sent under the tag, and misuse can cost your app its messaging access even after approval.

Do I need human_agent if my app is a pure chatbot?

No. If no human ever replies through your app, you don't qualify and the request will be rejected. You only need it if conversations hand off from bot (or app) to a live agent who may reply after the 24-hour window closes.

Does human_agent work for WhatsApp?

No. It applies to Messenger and Instagram messaging only. WhatsApp handles out-of-window messaging with pre-approved template messages instead.

What should my human_agent screencast show?

A real user messaging your Page or Instagram account, the message arriving in your app's agent inbox, a named human agent typing a reply, and at least one conversation where the user's last message is visibly older than 24 hours with the agent still replying successfully. Timestamps must be readable.

How long is the human_agent messaging window?

7 days from the user's last message. After 7 days, you cannot reply with the HUMAN_AGENT tag; the user has to message you again.

What error do I get without the human_agent permission?

Sending outside the 24-hour window fails with error (#10) "This message is sent outside of allowed window." The fix is either replying within 24 hours or getting the Human Agent feature approved.

How many attempts does human_agent approval take in 2026?

Based on my submissions this year, typically 2 to 3 attempts, even for well-prepared apps. First-attempt approvals still happen when the screencast clearly shows the human handoff and the out-of-window reply.

Do I need Business Verification before requesting human_agent?

Yes. Meta's documentation lists Business Verification as a requirement for the Human Agent feature, and you may need to accept additional terms before the app can access live data.

Can I submit human_agent together with other messaging permissions?

Yes, and it usually helps. Pair it with pages_messaging or instagram_manage_messages in one submission if they're part of the same support flow, but give human_agent its own dedicated demonstration of the handoff and the out-of-window reply.

What changed that made human_agent harder to get approved?

High volumes of spam and automation apps abused the 7-day window for bot messaging, so reviewers now require explicit proof of a human in the loop and a real out-of-window scenario. Plausible-sounding use cases no longer pass on description alone.

Tags:human_agent permissionMeta App ReviewMessenger PlatformInstagram messaging APIHUMAN_AGENT tagmessage tagsapp review rejectionhuman handoff7-day messaging window
Saurabh Dhar

Saurabh Dhar

Meta API Expert, Full Stack Developer, Tech Founder

Meta API Expert with 15+ years in software development, specializing in Facebook and Instagram integrations. I help businesses navigate the complex Meta API ecosystem and get their apps approved with a 99% success rate. From startup full-stack developer to Meta platform specialist, I deliver solutions that not only get approved but drive real business results.

Related Posts