Sending replies
The composer sits at the bottom of every open conversation.
Reply options
- Type text — plain text. Cmd/Ctrl+Enter to send. Supports
{{contact.first_name}}variable substitution. - Saved replies — pre-canned text from
/dashboard/saved-replies. Pick from the dropdown, edit if needed, send. - Send template — pick from approved Meta templates. Fill body / header / URL button variables. Required outside the 24-hour service window.
- Media attachment — image, video, audio, document. Up to Meta’s per-type size cap.
- Location — share a pin (latitude + longitude) or request the customer’s.
- Interactive — reply buttons, list pickers — usually built via the Flow Builder rather than ad-hoc here.
- Start a flow — from the composer toolbar; triggers any published flow on this conversation.
The 24-hour customer service window
Meta policy: outbound free-form messages are only allowed within 24 hours of the customer’s last inbound. Outside that window, only approved template messages can be sent.
The composer enforces this:
- Inside the window — text composer enabled
- Outside the window — text composer disabled, “Send template” badged as required
The countdown resets every time the customer sends anything (text, button tap, sticker, …).
Sending a template that isn’t approved by Meta returns a Meta-side error. The inbox
surfaces the error text in red on the failed message bubble. Re-submit the template
via the dashboard /dashboard/templates page if needed.
Variable substitution
Every text reply is substituted server-side:
{{contact.[field]}}— per-contact attribute (reserved or custom){{account.[field]}}— linked account attribute{{agency.[field]}}— workspace-wide attribute{{contact.first_name | "friend"}}— fallback when missing
See Variables for the full reference.
Last updated on