Messaging Windows
Instagram enforces strict rules about when you can send a DM to a user. These rules are Instagram’s, not Splashify Pro’s — we simply reflect them in the composer and enforce them server-side.
The three windows
| Since user’s last DM to you | What you can send | Banner colour |
|---|---|---|
| 0–24 hours | Any text or media, no tag | Green — “Free-reply window open” |
| 24 hours–7 days | Text only, must carry HUMAN_AGENT tag | Amber — “Human Agent tag” |
| More than 7 days | Nothing. Wait for them to message again | Red — “Locked” |
Why Instagram does this
Instagram’s goal is to keep DMs a conversational inbox, not a marketing channel. Businesses can respond to user-initiated conversations freely for the first 24h, then progressively lock down to prevent cold outreach and spam.
How Splashify Pro handles each window
Inside 24h
Your message is sent with no extra metadata. Full creative freedom — attach media, use emoji, link to wherever you want.
Between 24h and 7d
Splashify Pro automatically stamps the outbound message with:
messaging_type: MESSAGE_TAG
tag: HUMAN_AGENTThis tells Instagram the message is a legitimate human-agent follow-up (per Meta’s Human Agent policy ). Valid use cases include:
- Following up on a support issue that takes more than 24h to resolve
- Responding after a weekend / holiday closure
- Sending information a customer specifically asked for
Prohibited in this window: promotions, marketing blasts, offer announcements. If you send something that looks promotional, Instagram may flag your account.
Requires the Human Agent feature to be approved on the Meta App. Splashify Pro has it submitted.
After 7 days
Composer is disabled. Splashify Pro’s backend also refuses any DM API call to this user — if your code (or another agent in your org) tries, Meta rejects it.
Your only path back: wait for the user to DM you.
When the clock resets
A new inbound DM from the user resets last_inbound_at on their conversation. This flips the composer back to the green “Free-reply” state for the next 24h.
Comments on your reels do not reset the window — Instagram treats comments and DMs as separate surfaces.
Automation rule DMs and the window
When your rule fires a DM in response to a comment, Splashify Pro treats that DM as being inside the 24h window automatically — the comment itself is the user’s initial engagement signal. This is why comment-triggered auto-DMs always succeed regardless of whether the user has DM’d you before.
What to show users in your UI
The composer banner above the input reflects the window state in real time. The countdown ticks down once a minute. You don’t need to manage this yourself.
API-level checks
If you’re integrating via Splashify Pro’s public API, you can query the current window status for a conversation:
GET /api/v1/app/instagram/messages/window?conversation_id=...Response:
{
"success": true,
"window": {
"state": "open",
"can_reply": true,
"needs_human_agent": false,
"seconds_remaining": 82500,
"last_inbound_at": "2026-04-24T03:15:22Z"
}
}Use can_reply to decide whether to enable your send button. Use needs_human_agent to tell the user that their reply will carry the support tag.