Bypass WhatsApp Template Limits with a Button-Triggered Formatting Flow
Summary WhatsApp imposes a 24-hour customer-service window during which you can send any message; outside of it, only template messages (unformatted) are allowed. Goalmatic.io needs to let users send richly formatted content (articles, poems, etc.), so we built a two-step workaround: Template Send: Strip formatting and send via a WhatsApp template. On-Click Upgrade: Include a “Get Formatted Text” button in the template. When the user clicks, the 24-hour window reopens, allowing us to send the original, fully formatted message. Below is an end-to-end example in Node.js using the WhatsApp Cloud API. The Challenge WhatsApp’s customer-service window rules mean: Within 24 hours of a user message, you can send any content (text, media, formatted). After 24 hours, only template messages (unformatted, pre-approved) are allowed. But Goalmatic users want formatting—bold, italics, lists, links—to enrich their content. If you try to include Markdown or HTML in a template payload, WhatsApp returns a 400 error. How do we let users see formatted content when they click outside the 24-hour window?

Summary
WhatsApp imposes a 24-hour customer-service window during which you can send any message; outside of it, only template messages (unformatted) are allowed. Goalmatic.io needs to let users send richly formatted content (articles, poems, etc.), so we built a two-step workaround:
- Template Send: Strip formatting and send via a WhatsApp template.
- On-Click Upgrade: Include a “Get Formatted Text” button in the template. When the user clicks, the 24-hour window reopens, allowing us to send the original, fully formatted message.
Below is an end-to-end example in Node.js using the WhatsApp Cloud API.
The Challenge
WhatsApp’s customer-service window rules mean:
- Within 24 hours of a user message, you can send any content (text, media, formatted).
- After 24 hours, only template messages (unformatted, pre-approved) are allowed.
But Goalmatic users want formatting—bold, italics, lists, links—to enrich their content. If you try to include Markdown or HTML in a template payload, WhatsApp returns a 400 error. How do we let users see formatted content when they click outside the 24-hour window?