Interactive · cta_url
One button that opens your link.
A CTA URL message: your text plus one button that opens a web page in the phone's browser.
to and the message ids are n8n expressions that read the WhatsApp Trigger right before this node ($json.messages[0].from / .id). For a manual test, replace them with a number and a message id.
C
Corner Shop
Business account
Your order shipped. Follow it live.
Track order
The JSON body
HTTP Request → Body → JSONPOSThttps://graph.facebook.com/v26.0/YOUR_PHONE_NUMBER_ID/messages
{ "messaging_product": "whatsapp", "recipient_type": "individual", "to": "{{ $json.messages[0].from }}", "type": "interactive", "interactive": { "type": "cta_url", "body": { "text": "Your order shipped. Follow it live." }, "action": { "name": "cta_url", "parameters": { "display_text": "Track order", "url": "https://shop.example.com/t/4821" } } }}Limits & common mistakes
Source (opens in a new tab)display_text: 20 characters max.Body 1,024 max; optional header (text 60 max, or image/video/document) and footer 60 max.
Source (opens in a new tab)The URL opens in the device's browser; use a full https:// link and replace the example.
Source (opens in a new tab)24-hour window.
Source (opens in a new tab)
How to set up the credential in n8n
- In n8n, open Credentials → Create credential and pick Header Auth.
- Fill in the two fields:NameAuthorizationValueBearer <your token>
- Open the pasted node. Authentication is already Generic → Header Auth; choose the credential you just made.
- Use a System User token from Meta Business settings; the token on the API Setup page expires within hours.Source (opens in a new tab)Source (opens in a new tab)
Your token lives in n8n only. I never ask for it.
Don't have time to build it? I'll build it for you.
Build it for meWhatsApp and n8n are trademarks of their owners. Pixtaha isn't affiliated with or endorsed by Meta or n8n.