WhatsApp Error 131047: Re-Engagement Message Required

WhatsApp error 131047 means 24+ hours passed since the customer last replied, so the service window is closed. Why it happens and how to fix it with templates.

TL;DR: WhatsApp error 131047 means more than 24 hours have passed since the recipient last replied, so the free-form customer service window is closed. To reach them you must send an approved template message — or wait for the user to message you again. It is the modern replacement for the legacy 470 error.

What Error 131047 Means

Meta's details string is: "More than 24 hours have passed since the recipient last replied to the sender number." (Meta's current title for this code uses "Re-engagement message" wording.) WhatsApp only allows free-form messages within 24 hours of the customer's last inbound message; outside that window only approved templates are allowed. The older error 470 carried the same meaning and is effectively superseded by 131047.

Where You See It

Usually an immediate API error (HTTP 400) when you POST a free-form message outside the window. Some middleware surfaces it in their own logs after attempting the send; the root condition is the same closed window.

Common Causes

  • The 24-hour service window expired since the user's last message.
  • A late-arriving inbound made your app think the window was open when it had lapsed.
  • Automation attempted a free-form reply instead of a template.
  • The reply was sent from a different business number than the one the user messaged.

How to Fix It

  1. Stop retrying the same free-form message.
  2. Send an approved template to re-open contact, or wait for the user to message you again.
  3. Confirm you are replying from the same business number that received the user's last message.
  4. If you believe the window should be open, compare the inbound webhook timestamp against actual receipt time — latency can make the UI show an open window that has lapsed.

How to Prevent It

  • Maintain a per-contact / per-number "window-open-until" timestamp from inbound messages webhooks.
  • Default to templates whenever window state is unknown.
  • Ensure inbound webhooks land reliably so your app sees the message that opened the window.

FAQ

What is WhatsApp error 131047? The 24-hour customer service window closed; you must use a template.

Is 470 the same as 131047? Conceptually yes — 470 is the legacy code; 131047 is current.

Why do I get 131047 within 24 hours? Often message latency, a wrong business number, or a missed inbound webhook event.

Can I fix it by retrying later? No — the fix is "use an approved template" or "wait for a new user message," not "retry unchanged."

How Dualhook Helps

This is a send-side rule fixed in your backend. Dualhook does not store conversation state or message content. Where it helps is reliable, low-latency delivery of the inbound messages webhooks your backend uses to compute window state — accurate inbound timestamps are exactly what prevent false 131047s. See WhatsApp Webhook Override and Messaging Health Status.

Browse more docsStart Free Trial