- Bots, flows & AI
- Practitioner
- Developers
- Marketers
Conversational Components
Also called: Ice breakers · WhatsApp slash commands · Conversational automation · Welcome message event
Per-number WhatsApp settings — ice breakers, slash commands and the welcome-message event — that give customers ready-made ways to start a chat.
Reviewed
What is conversational components?
Conversational components are features configured on a WhatsApp business phone number that help customers start or steer a conversation with a bot. There are three: ice breakers, tappable starter prompts shown when a customer opens a new chat; commands, slash shortcuts with a hint that appear when the customer types "/"; and the welcome-message setting, which makes WhatsApp notify your webhook when a customer starts a new thread so that you can greet them.
They are set through the Cloud API with POST /{PHONE_NUMBER_ID}/conversational_automation — or in WhatsApp Manager — and read back with GET /{PHONE_NUMBER_ID}?fields=conversational_automation. Meta's limits are up to 4 ice breakers of up to 80 characters each, and up to 30 commands with names of up to 32 characters and hints of up to 256 characters. Emojis are not supported in either.
Conversational components only create entry points; WhatsApp sends nothing on your behalf. A tapped ice breaker arrives as an ordinary text message, a command arrives as the full typed string (for example "/status TR-48213"), and a new thread arrives as a messages webhook of type request_welcome. That is the difference from an auto-reply, which is the message your system sends back: the components are the doors, while auto-replies and chatbot flows are what happens behind them.
Key takeaways
- Conversational components are per-number entry points: ice breakers, slash commands and the welcome-message event.
- Configure them with POST /{PHONE_NUMBER_ID}/conversational_automation and read them back with fields=conversational_automation.
- Meta allows up to 4 ice breakers of 80 characters and up to 30 commands with 32-character names and 256-character hints, no emojis.
- WhatsApp sends nothing itself: taps arrive as text messages and new threads as a request_welcome webhook your bot must answer.
- Ice breakers appear only in a new chat thread, and a wa.me link with pre-filled text dismisses them.
Interactive stop
Tap an ice breaker, then type a command
Today
- WhatsApp notice: New chat · Ice breakers: Book a test ride · Check service status · Talk to sales
- Customer: Book a test ride10:31
- Indore EV Showroom: Great choice! Which model would you like to ride?10:32ReadCity 2.0Range Pro (chosen)Not sure yet
- Customer: Range Pro10:33
- Indore EV Showroom: Pick a slot at our Vijay Nagar showroom.See slots10:34ReadSee slotsSat 11:00 amSat 3:00 pmSun 11:00 am
- Customer: /status TR-4821310:35
- Indore EV Showroom: Service job TR-48213: brake check done, battery test in progress. Ready by 6 pm today.10:36Delivered
Message 7 of 7
Indore EV ShowroomTextDelivered (two grey ticks)
The command handler looked up the job. Nothing here was sent by WhatsApp itself — every reply comes from your bot.
Free-form text. A business can send it only within 24 hours of the customer’s last message.
Message 7 of 7: Indore EV Showroom, Text, Delivered (two grey ticks). The command handler looked up the job. Nothing here was sent by WhatsApp itself — every reply comes from your bot.
How does conversational components work?
Design the entry points
Pick up to four ice breakers for your most common first intents and a short set of commands for repeat tasks (
/status,/menu,/agent). Keep each within Meta's limits and free of emojis.Configure the number
POST
prompts,commandsand, if you want new-thread events,enable_welcome_messageto/{PHONE_NUMBER_ID}/conversational_automation. Each phone number is configured separately.Answer the welcome event
When a customer starts a new thread, your
messageswebhook receivestype: "request_welcome". Reply with a greeting and options; the event opens a customer service window, so a free-form reply is allowed.Route ice-breaker taps
A tap arrives as a normal text message whose
text.bodyis the ice-breaker wording. Match it exactly and start the matching flow.Parse commands
Commands arrive as text beginning with "/". Split the command name from any argument, normalise case and treat unknown commands like any other unmatched message.
Retest properly
Ice breakers appear only in a new thread, so clear the chat on your test phone and start again. A wa.me link with pre-filled text dismisses them.
Conversational components in code
curl -X POST "https://graph.facebook.com/v26.0/{PHONE_NUMBER_ID}/conversational_automation" \-H "Authorization: Bearer {ACCESS_TOKEN}" \-H "Content-Type: application/json" \-d '{"enable_welcome_message": true,"prompts": ["Book a test ride", "Check service status", "Talk to sales"],"commands": [{ "command_name": "status", "command_description": "Check a service job, e.g. /status TR-48213" },{ "command_name": "menu", "command_description": "Show the main menu" }]}'# => { "success": true }# Read the current configuration backcurl "https://graph.facebook.com/v26.0/{PHONE_NUMBER_ID}?fields=conversational_automation" \-H "Authorization: Bearer {ACCESS_TOKEN}"
One call sets all three components on a number; the GET returns the current prompts, commands and welcome setting.
Example: An electric-scooter dealer in Indore
The dealer configures three ice breakers — "Book a test ride", "Check service status" and "Talk to sales" — plus the commands /status and /menu. A visitor scans the showroom QR code, sees the ice breakers and taps "Book a test ride"; the bot receives that exact text and starts the booking flow. A returning customer types "/status TR-48213" and gets her service job's progress in one reply. Because the QR code opens a plain chat rather than a pre-filled message, the ice breakers are not dismissed.
Conversational components: key facts and limits
- Ice breakers
- Up to 4 per number, 80 characters each, no emojis
- Commands
- Up to 30; name ≤ 32 characters, hint ≤ 256, no emojis
- Configure
- POST /{PHONE_NUMBER_ID}/conversational_automation
- Read back
- GET /{PHONE_NUMBER_ID}?fields=conversational_automation
- Welcome event
- messages webhook with type request_welcome
- Ice-breaker tap
- Arrives as a text message (text.body)
- Scope
- Per business phone number
Common mistakes with conversational components
Expecting WhatsApp to send the welcome
Enabling the welcome setting only produces a
request_welcomewebhook. If your handler ignores that type, the customer sees nothing. Handle it explicitly.Rewording an ice breaker without updating routing
Taps arrive as plain text, so a reworded ice breaker silently stops matching its flow. Keep the wording and the routing table in one shared config.
Testing in an existing chat
Ice breakers show only in a new thread. Clear the chat on your test device, open it again, and do not test through a pre-filled wa.me link, which dismisses them.
Assuming commands are structured
There is no command payload — only the text the customer typed. Parse defensively: unknown commands, missing arguments and "/Status" in odd casing all happen.
Forgetting your other numbers
Settings are per phone number. A second number for another city or brand starts with nothing until you configure it too.
Why does conversational components matter?
An empty chat box is a weak start. Customers arriving from a QR code or a website button often do not know what to type, and free text is harder for a bot to understand. Ice breakers turn the first message into a known, routable phrase, commands give repeat customers shortcuts, and the welcome event lets you greet a brand-new contact before they have to think of a question. For a marketer it is the shop window of the chat; for a developer it is cleaner, more predictable input.
Best practices for conversational components
- Write ice breakers as a customer would say them: "Track my order", not "Order tracking".
- Put the argument format in the command hint, for example "/status TR-48213".
- Count taps per ice breaker and replace the weakest every few weeks.
- Answer an ice-breaker tap with buttons so the journey stays tap-driven.
Conversational Components FAQs
What are ice breakers on WhatsApp Business?+
How do I set up a welcome message on the WhatsApp Business API?+
How do WhatsApp slash commands work?+
Are conversational components the same as auto-replies?+
Why are my ice breakers not showing?+
Talk to InfiQ
From definition to your first message
InfiQ is an official Meta Business Partner. Start a 7-day free trial — no card needed — and see this running on your own number.