{"id":291,"date":"2026-10-25T13:05:41","date_gmt":"2026-10-25T13:05:41","guid":{"rendered":"https:\/\/vectalk.com.br\/blog\/whatsapp-flows-en\/"},"modified":"2026-10-25T13:05:48","modified_gmt":"2026-10-25T13:05:48","slug":"whatsapp-flows-en","status":"publish","type":"post","link":"https:\/\/vectalk.com.br\/blog\/en\/whatsapp-flows-en\/","title":{"rendered":"WhatsApp Flows: forms inside the chat"},"content":{"rendered":"\n<p><em>Updated on October 25, 2026<\/em><\/p>\n\n\n\n<p>WhatsApp Flows are single or multi-screen forms that open inside a WhatsApp chat, with text fields, option lists, dates and buttons, without sending the customer to a website. The business defines the screens in a file called Flow JSON, sends the Flow as an interactive message or a template, and receives the answers on the same messages webhook. There is no separate price for Flows: the message carrying the Flow is charged under its own category rules.<\/p>\n\n\n\n<p>This guide covers what Flows are for, how to build a simple one, when you need an endpoint, how to send a Flow and receive the response, and which limits apply.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What Flows are for<\/h2>\n\n\n\n<p>Meta&#8217;s <a href=\"https:\/\/developers.facebook.com\/documentation\/business-messaging\/whatsapp\/flows\" target=\"_blank\" rel=\"noreferrer noopener\">Flows page<\/a> mentions lead generation, product recommendations and any interaction where a fixed structure is more comfortable for the customer than free-form messaging. The official guides include examples such as pre-approved loans, insurance quotes, purchase intent collection and personalized offers.<\/p>\n\n\n\n<p>Practical cases where a Flow usually works better than loose questions in the chat:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Lead capture and qualification:<\/strong> name, email, budget range and interest on one screen.<\/li>\n\n\n<li><strong>Booking:<\/strong> choose a service, date and time. See <a href=\"https:\/\/vectalk.com.br\/blog\/en\/ai-appointment-scheduling-whatsapp\/\">automated AI scheduling on WhatsApp<\/a>.<\/li>\n\n\n<li><strong>Satisfaction surveys and NPS:<\/strong> a score and a comment without the customer typing numbers. See <a href=\"https:\/\/vectalk.com.br\/blog\/en\/whatsapp-nps-survey\/\">post-sale and NPS on WhatsApp<\/a>.<\/li>\n\n\n<li><strong>Support:<\/strong> a ticket form with category and description.<\/li>\n\n<\/ul>\n\n\n\n<p>The categories a Flow can be given at creation are <code>SIGN_UP<\/code>, <code>SIGN_IN<\/code>, <code>APPOINTMENT_BOOKING<\/code>, <code>LEAD_GENERATION<\/code>, <code>CONTACT_US<\/code>, <code>CUSTOMER_SUPPORT<\/code>, <code>SURVEY<\/code> and <code>OTHER<\/code>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Requirements<\/h2>\n\n\n\n<p>According to the <a href=\"https:\/\/developers.facebook.com\/documentation\/business-messaging\/whatsapp\/flows\/gettingstarted\" target=\"_blank\" rel=\"noreferrer noopener\">getting started guide<\/a>, you need the Cloud API set up (app, WhatsApp Business Account and phone number) and, to send Flows to customers, a <strong>verified business<\/strong> and <strong>high message quality<\/strong>. You can create Flows in two ways:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Flow Builder:<\/strong> in WhatsApp Manager, under <strong>Account tools \u2192 Flows<\/strong>. The editor shows a live preview as you edit.<\/li>\n\n\n<li><strong>Flows API:<\/strong> Graph API endpoints to create a Flow, upload its JSON, publish and deprecate it.<\/li>\n\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Flow JSON anatomy<\/h2>\n\n\n\n<p>Flow JSON has two required properties: <code>version<\/code> (the format version) and <code>screens<\/code>. Each screen has a unique <code>id<\/code>, a <code>layout<\/code> with components and, on the last screen, <code>terminal: true<\/code> and a <code>Footer<\/code> component. The <a href=\"https:\/\/developers.facebook.com\/documentation\/business-messaging\/whatsapp\/flows\/changelogs\" target=\"_blank\" rel=\"noreferrer noopener\">supported versions<\/a> table marks 7.3 as recommended for publishing.<\/p>\n\n\n\n<p>A single-screen lead capture Flow:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"language-json\">{\n  \"version\": \"7.3\",\n  \"screens\": [\n    {\n      \"id\": \"LEAD\",\n      \"title\": \"Get in touch\",\n      \"terminal\": true,\n      \"success\": true,\n      \"data\": {},\n      \"layout\": {\n        \"type\": \"SingleColumnLayout\",\n        \"children\": [\n          { \"type\": \"TextHeading\", \"text\": \"Tell us a bit about you\" },\n          { \"type\": \"TextInput\", \"name\": \"name\", \"label\": \"Name\", \"input-type\": \"text\", \"required\": true },\n          { \"type\": \"TextInput\", \"name\": \"email\", \"label\": \"Email\", \"input-type\": \"email\", \"required\": true },\n          {\n            \"type\": \"Dropdown\",\n            \"name\": \"interest\",\n            \"label\": \"Interest\",\n            \"required\": true,\n            \"data-source\": [\n              { \"id\": \"plans\", \"title\": \"See the plans\" },\n              { \"id\": \"support\", \"title\": \"Technical support\" },\n              { \"id\": \"partnership\", \"title\": \"Partnership\" }\n            ]\n          },\n          {\n            \"type\": \"Footer\",\n            \"label\": \"Submit\",\n            \"on-click-action\": {\n              \"name\": \"complete\",\n              \"payload\": {\n                \"name\": \"${form.name}\",\n                \"email\": \"${form.email}\",\n                \"interest\": \"${form.interest}\"\n              }\n            }\n          }\n        ]\n      }\n    }\n  ]\n}<\/code><\/pre>\n\n\n\n<p>The points that trip people up most:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>${form.field}<\/code> reads what the customer entered on the screen; <code>${data.field}<\/code> reads data you passed to the screen.<\/li>\n\n\n<li>The <code>complete<\/code> action ends the Flow and sends the <code>payload<\/code> to your webhook. Meta recommends including only user-entered data and keeping the payload small, with no base64 images.<\/li>\n\n\n<li><code>navigate<\/code> moves to another screen without calling a server. <code>data_exchange<\/code> calls your endpoint.<\/li>\n\n\n<li>Some component limits: <code>TextInput<\/code> accepts up to 80 characters by default; <code>Dropdown<\/code> accepts up to 200 options without images, with titles of up to 30 characters.<\/li>\n\n\n<li>Fields listed in <code>sensitive<\/code> (from version 5.1) are hidden in the summary the customer sees after submitting.<\/li>\n\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">With or without an endpoint<\/h2>\n\n\n\n<p>A Flow <strong>without an endpoint<\/strong> is static: screens, options and navigation all live in the JSON. That covers most forms.<\/p>\n\n\n\n<p>A Flow <strong>with an endpoint<\/strong> queries your server while the customer fills it in, for example to show free calendar slots or validate an ID number before moving on. Per the <a href=\"https:\/\/developers.facebook.com\/documentation\/business-messaging\/whatsapp\/flows\/guides\/implementingyourflowendpoint\" target=\"_blank\" rel=\"noreferrer noopener\">endpoint documentation<\/a>, setup has four parts:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Generate an RSA key pair and upload the public key to Meta, which signs it.<\/li>\n\n\n<li>Expose an HTTPS endpoint with a valid certificate that accepts POST.<\/li>\n\n\n<li>Implement encryption: each request arrives with <code>encrypted_flow_data<\/code>, <code>encrypted_aes_key<\/code> and <code>initial_vector<\/code>. The AES key is encrypted with RSA-OAEP (SHA-256), the data with AES-GCM, and the response must be encrypted with the same AES key and the initialization vector with all bits flipped.<\/li>\n\n\n<li>Link the endpoint to the Flow, with <code>data_api_version<\/code> in the JSON and the endpoint URL.<\/li>\n\n<\/ol>\n\n\n\n<p>The endpoint receives requests when the Flow opens with <code>data_exchange<\/code>, when a screen is submitted with <code>data_exchange<\/code>, when the customer goes back with <code>refresh_on_back<\/code>, and periodic health checks (<code>\"action\": \"ping\"<\/code>), which must be answered with <code>{\"data\": {\"status\": \"active\"}}<\/code>. If a request cannot be decrypted, the endpoint should return HTTP <code>421<\/code>.<\/p>\n\n\n\n<p>Meta itself recommends avoiding the endpoint when it isn&#8217;t needed, since every call adds latency. To test the endpoint on your machine, the tunnel technique from <a href=\"https:\/\/vectalk.com.br\/blog\/en\/test-whatsapp-webhook-locally\/\">testing the webhook locally<\/a> works here too. Meta keeps Node.js examples in the <a href=\"https:\/\/github.com\/WhatsApp\/WhatsApp-Flows-Tools\" target=\"_blank\" rel=\"noreferrer noopener\">WhatsApp-Flows-Tools<\/a> repository.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Lifecycle: draft, published and health issues<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>State<\/th><th>What it means<\/th><\/tr><\/thead><tbody><tr><td>Draft<\/td><td>Being edited. Can only be sent for testing and shows a banner at the top. Can be deleted<\/td><\/tr><tr><td>Published<\/td><td>Can be sent to customers. Cannot be deleted, only deprecated<\/td><\/tr><tr><td>Deprecated<\/td><td>Can no longer be sent. Responses from older messages may still arrive<\/td><\/tr><tr><td>Throttled<\/td><td>Set by Meta when the endpoint or navigation is unhealthy. Sending limited to 10 messages per hour<\/td><\/tr><tr><td>Blocked<\/td><td>Health got worse after Throttled. Cannot be sent or opened<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Editing the JSON of a published Flow puts it back in draft; messages already sent keep the previous version. Meta keeps the last 5 versions. For big changes, the recommendation is to clone the Flow. Errors <code>132068<\/code> (Flow blocked) and <code>132069<\/code> (Flow throttled) appear when you try to send in those states; see <a href=\"https:\/\/vectalk.com.br\/blog\/en\/whatsapp-api-error-codes\/\">WhatsApp API errors<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How to send a Flow<\/h2>\n\n\n\n<p>There are two paths, described in <a href=\"https:\/\/developers.facebook.com\/documentation\/business-messaging\/whatsapp\/flows\/guides\/sendingaflow\" target=\"_blank\" rel=\"noreferrer noopener\">Send a Flow message<\/a>.<\/p>\n\n\n\n<p><strong>Inside the customer service window<\/strong>, as an interactive message of type <code>flow<\/code>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"language-json\">{\n  \"messaging_product\": \"whatsapp\",\n  \"to\": \"15551234567\",\n  \"type\": \"interactive\",\n  \"interactive\": {\n    \"type\": \"flow\",\n    \"body\": { \"text\": \"Takes less than a minute.\" },\n    \"action\": {\n      \"name\": \"flow\",\n      \"parameters\": {\n        \"flow_message_version\": \"3\",\n        \"flow_id\": \"FLOW_ID\",\n        \"flow_cta\": \"Fill in\",\n        \"flow_token\": \"lead-8f2c1a\",\n        \"flow_action\": \"navigate\",\n        \"flow_action_payload\": { \"screen\": \"LEAD\" }\n      }\n    }\n  }\n}<\/code><\/pre>\n\n\n\n<p><code>flow_cta<\/code> is the button text (Meta advises 30 characters or less, no emoji). <code>flow_token<\/code> is an identifier you generate; it comes back in the response and is how you tell which send it belongs to, since the response does not include the Flow ID. Use unpredictable values, such as a session ID.<\/p>\n\n\n\n<p><strong>Outside the window<\/strong>, as a template with a <code>FLOW<\/code> button. When creating the template, the button points to the Flow by <code>flow_id<\/code>, <code>flow_name<\/code> or the <code>flow_json<\/code> itself, and the button text is limited to 25 characters. When sending, the <code>button<\/code> component with <code>sub_type: \"flow\"<\/code> can carry a <code>flow_token<\/code> and data for the first screen. The template category follows the usual rules.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Receiving the response on the webhook<\/h2>\n\n\n\n<p>When the customer taps the final button, the response arrives on the messages webhook as an <code>interactive<\/code> message of type <code>nfm_reply<\/code>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"language-json\">{\n  \"from\": \"15551234567\",\n  \"id\": \"wamid.HBgL...\",\n  \"type\": \"interactive\",\n  \"interactive\": {\n    \"type\": \"nfm_reply\",\n    \"nfm_reply\": {\n      \"name\": \"flow\",\n      \"body\": \"Sent\",\n      \"response_json\": \"{\\\"flow_token\\\": \\\"lead-8f2c1a\\\", \\\"name\\\": \\\"Maria\\\", \\\"email\\\": \\\"maria@example.com\\\", \\\"interest\\\": \\\"plans\\\"}\"\n    }\n  }\n}<\/code><\/pre>\n\n\n\n<p><code>response_json<\/code> is a string: parse it before saving. The webhook structure is the same as for any other message.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Pricing<\/h2>\n\n\n\n<p>Meta&#8217;s <a href=\"https:\/\/developers.facebook.com\/documentation\/business-messaging\/whatsapp\/pricing\" target=\"_blank\" rel=\"noreferrer noopener\">pricing page<\/a> has no line item for Flows. The cost depends on how the Flow was sent:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Template with a Flow button:<\/strong> charged under the template&#8217;s category (marketing, utility or authentication), per delivered message.<\/li>\n\n\n<li><strong>Interactive message inside the customer service window:<\/strong> a service message. Each phone number gets 1,000 free delivered service messages per month; from the 1,001st on, each message is charged.<\/li>\n\n\n<li><strong>The customer&#8217;s response<\/strong> (<code>nfm_reply<\/code>) is not charged: Meta does not charge for messages from users to businesses.<\/li>\n\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">How this works with Vectalk<\/h2>\n\n\n\n<p>Vectalk exposes Flow management in its own API, using an instance token: <code>GET \/api\/flows<\/code> to list, <code>POST \/api\/flows<\/code> to create (with name, categories and an optional <code>clone_flow_id<\/code>), <code>POST \/api\/flows\/{flowId}\/assets<\/code> to upload <code>flow.json<\/code>, <code>POST \/api\/flows\/{flowId}\/publish<\/code> to publish and <code>POST \/api\/flows\/{flowId}\/deprecate<\/code> to deprecate. Details are under <a href=\"https:\/\/docs.vectalk.com.br\/api-reference\/flows\/create\">Create Flow<\/a> and <a href=\"https:\/\/docs.vectalk.com.br\/api-reference\/flows\/assets\">Flow assets<\/a>.<\/p>\n\n\n\n<p>Sending uses the same <code>POST \/api\/messages<\/code> with the <code>interactive<\/code> payload of type <code>flow<\/code> shown above, per the <a href=\"https:\/\/docs.vectalk.com.br\/api-reference\/messages\/send\">messages overview<\/a>, and the <code>nfm_reply<\/code> response arrives on your registered webhooks in Meta&#8217;s format. Create your account at <a href=\"https:\/\/apps.vectalk.com.br\/register\">apps.vectalk.com.br\/register<\/a>. To send your first message from code, see <a href=\"https:\/\/vectalk.com.br\/blog\/en\/send-whatsapp-message-api-examples\/\">how to send a message through the WhatsApp API<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Frequently asked questions<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Do WhatsApp Flows cost extra?<\/h3>\n\n\n\n<p>There is no specific charge per Flow. You pay for the message that carries it, by category: a template under its own category, an interactive message in the window as a service message. The customer&#8217;s response is not charged.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Do I need a server to use Flows?<\/h3>\n\n\n\n<p>No. Flows without an endpoint work with Flow JSON alone, and the response arrives on the webhook you already use. You only need an endpoint when screens depend on data from your system while the customer fills them in.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Can I send a Flow to someone who hasn&#8217;t messaged me in 24 hours?<\/h3>\n\n\n\n<p>Yes, with an approved template that has a Flow button. Interactive <code>flow<\/code> messages can only be sent inside the customer service window.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">How do I know which Flow a response came from?<\/h3>\n\n\n\n<p>The response does not include the Flow ID. Use <code>flow_token<\/code>, which you set when sending and which comes back in <code>response_json<\/code>, or add an identifier field to the <code>complete<\/code> payload.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Do Flows work on WhatsApp Web?<\/h3>\n\n\n\n<p>According to Meta&#8217;s changelog, Flows support on WhatsApp Web started rolling out in early December 2025, with no action required from businesses.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p><strong>Official sources consulted on October 25, 2026:<\/strong> <a href=\"https:\/\/developers.facebook.com\/documentation\/business-messaging\/whatsapp\/flows\" target=\"_blank\" rel=\"noreferrer noopener\">WhatsApp Flows<\/a>, <a href=\"https:\/\/developers.facebook.com\/documentation\/business-messaging\/whatsapp\/flows\/gettingstarted\" target=\"_blank\" rel=\"noreferrer noopener\">Get started with WhatsApp Flows<\/a>, <a href=\"https:\/\/developers.facebook.com\/documentation\/business-messaging\/whatsapp\/flows\/guides\/flowjson\" target=\"_blank\" rel=\"noreferrer noopener\">Flow JSON<\/a>, <a href=\"https:\/\/developers.facebook.com\/documentation\/business-messaging\/whatsapp\/flows\/guides\/components\" target=\"_blank\" rel=\"noreferrer noopener\">Components<\/a>, <a href=\"https:\/\/developers.facebook.com\/documentation\/business-messaging\/whatsapp\/flows\/guides\/implementingyourflowendpoint\" target=\"_blank\" rel=\"noreferrer noopener\">Implement endpoints for Flows<\/a>, <a href=\"https:\/\/developers.facebook.com\/documentation\/business-messaging\/whatsapp\/flows\/guides\/lifecycle\" target=\"_blank\" rel=\"noreferrer noopener\">Lifecycle of a Flow<\/a>, <a href=\"https:\/\/developers.facebook.com\/documentation\/business-messaging\/whatsapp\/flows\/guides\/sendingaflow\" target=\"_blank\" rel=\"noreferrer noopener\">Send a Flow message<\/a>, <a href=\"https:\/\/developers.facebook.com\/documentation\/business-messaging\/whatsapp\/flows\/guides\/flowswebhooks\" target=\"_blank\" rel=\"noreferrer noopener\">Flows webhooks<\/a>, <a href=\"https:\/\/developers.facebook.com\/documentation\/business-messaging\/whatsapp\/flows\/changelogs\" target=\"_blank\" rel=\"noreferrer noopener\">Flows changelog<\/a>, <a href=\"https:\/\/developers.facebook.com\/documentation\/business-messaging\/whatsapp\/pricing\" target=\"_blank\" rel=\"noreferrer noopener\">WhatsApp Business Platform pricing<\/a>, <a href=\"https:\/\/docs.vectalk.com.br\/api-reference\/flows\/create\">Vectalk docs: Flows<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>How to build single or multi-screen forms inside WhatsApp with Flows: Flow JSON, sending, endpoint, lifecycle, webhook response and cost.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[1],"tags":[],"class_list":["post-291","post","type-post","status-publish","format-standard","hentry","category-blog"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>WhatsApp Flows: Forms Inside the Chat (Guide) | Vectalk<\/title>\n<meta name=\"description\" content=\"WhatsApp Flows explained: use cases, Flow JSON, encrypted endpoint, sending via template or interactive message, webhook responses and pricing.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/vectalk.com.br\/blog\/en\/whatsapp-flows-en\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"WhatsApp Flows: Forms Inside the Chat (Guide) | Vectalk\" \/>\n<meta property=\"og:description\" content=\"WhatsApp Flows explained: use cases, Flow JSON, encrypted endpoint, sending via template or interactive message, webhook responses and pricing.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vectalk.com.br\/blog\/en\/whatsapp-flows-en\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog Vectalk\" \/>\n<meta property=\"article:published_time\" content=\"2026-10-25T13:05:41+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-25T13:05:48+00:00\" \/>\n<meta name=\"author\" content=\"wanderleyfcunha\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"wanderleyfcunha\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/en\\\/whatsapp-flows-en\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/en\\\/whatsapp-flows-en\\\/\"},\"author\":{\"name\":\"wanderleyfcunha\",\"@id\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/#\\\/schema\\\/person\\\/ff36ecd9d8257856f227f8e5d639db2b\"},\"headline\":\"WhatsApp Flows: forms inside the chat\",\"datePublished\":\"2026-10-25T13:05:41+00:00\",\"dateModified\":\"2026-10-25T13:05:48+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/en\\\/whatsapp-flows-en\\\/\"},\"wordCount\":1394,\"articleSection\":[\"Blog\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/en\\\/whatsapp-flows-en\\\/\",\"url\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/en\\\/whatsapp-flows-en\\\/\",\"name\":\"WhatsApp Flows: Forms Inside the Chat (Guide) | Vectalk\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/#website\"},\"datePublished\":\"2026-10-25T13:05:41+00:00\",\"dateModified\":\"2026-10-25T13:05:48+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/#\\\/schema\\\/person\\\/ff36ecd9d8257856f227f8e5d639db2b\"},\"description\":\"WhatsApp Flows explained: use cases, Flow JSON, encrypted endpoint, sending via template or interactive message, webhook responses and pricing.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/en\\\/whatsapp-flows-en\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/en\\\/whatsapp-flows-en\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/en\\\/whatsapp-flows-en\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"WhatsApp Flows: forms inside the chat\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/\",\"name\":\"Blog Vectalk\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/#\\\/schema\\\/person\\\/ff36ecd9d8257856f227f8e5d639db2b\",\"name\":\"wanderleyfcunha\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/21c37077f1731eb558973f27a7b647d55f72fde5200a843ac5f5345b247ea725?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/21c37077f1731eb558973f27a7b647d55f72fde5200a843ac5f5345b247ea725?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/21c37077f1731eb558973f27a7b647d55f72fde5200a843ac5f5345b247ea725?s=96&d=mm&r=g\",\"caption\":\"wanderleyfcunha\"},\"sameAs\":[\"https:\\\/\\\/vectalk.com.br\\\/blog\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"WhatsApp Flows: Forms Inside the Chat (Guide) | Vectalk","description":"WhatsApp Flows explained: use cases, Flow JSON, encrypted endpoint, sending via template or interactive message, webhook responses and pricing.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/vectalk.com.br\/blog\/en\/whatsapp-flows-en\/","og_locale":"en_US","og_type":"article","og_title":"WhatsApp Flows: Forms Inside the Chat (Guide) | Vectalk","og_description":"WhatsApp Flows explained: use cases, Flow JSON, encrypted endpoint, sending via template or interactive message, webhook responses and pricing.","og_url":"https:\/\/vectalk.com.br\/blog\/en\/whatsapp-flows-en\/","og_site_name":"Blog Vectalk","article_published_time":"2026-10-25T13:05:41+00:00","article_modified_time":"2026-10-25T13:05:48+00:00","author":"wanderleyfcunha","twitter_card":"summary_large_image","twitter_misc":{"Written by":"wanderleyfcunha","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/vectalk.com.br\/blog\/en\/whatsapp-flows-en\/#article","isPartOf":{"@id":"https:\/\/vectalk.com.br\/blog\/en\/whatsapp-flows-en\/"},"author":{"name":"wanderleyfcunha","@id":"https:\/\/vectalk.com.br\/blog\/#\/schema\/person\/ff36ecd9d8257856f227f8e5d639db2b"},"headline":"WhatsApp Flows: forms inside the chat","datePublished":"2026-10-25T13:05:41+00:00","dateModified":"2026-10-25T13:05:48+00:00","mainEntityOfPage":{"@id":"https:\/\/vectalk.com.br\/blog\/en\/whatsapp-flows-en\/"},"wordCount":1394,"articleSection":["Blog"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/vectalk.com.br\/blog\/en\/whatsapp-flows-en\/","url":"https:\/\/vectalk.com.br\/blog\/en\/whatsapp-flows-en\/","name":"WhatsApp Flows: Forms Inside the Chat (Guide) | Vectalk","isPartOf":{"@id":"https:\/\/vectalk.com.br\/blog\/#website"},"datePublished":"2026-10-25T13:05:41+00:00","dateModified":"2026-10-25T13:05:48+00:00","author":{"@id":"https:\/\/vectalk.com.br\/blog\/#\/schema\/person\/ff36ecd9d8257856f227f8e5d639db2b"},"description":"WhatsApp Flows explained: use cases, Flow JSON, encrypted endpoint, sending via template or interactive message, webhook responses and pricing.","breadcrumb":{"@id":"https:\/\/vectalk.com.br\/blog\/en\/whatsapp-flows-en\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vectalk.com.br\/blog\/en\/whatsapp-flows-en\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/vectalk.com.br\/blog\/en\/whatsapp-flows-en\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/vectalk.com.br\/blog\/"},{"@type":"ListItem","position":2,"name":"WhatsApp Flows: forms inside the chat"}]},{"@type":"WebSite","@id":"https:\/\/vectalk.com.br\/blog\/#website","url":"https:\/\/vectalk.com.br\/blog\/","name":"Blog Vectalk","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/vectalk.com.br\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/vectalk.com.br\/blog\/#\/schema\/person\/ff36ecd9d8257856f227f8e5d639db2b","name":"wanderleyfcunha","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/21c37077f1731eb558973f27a7b647d55f72fde5200a843ac5f5345b247ea725?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/21c37077f1731eb558973f27a7b647d55f72fde5200a843ac5f5345b247ea725?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/21c37077f1731eb558973f27a7b647d55f72fde5200a843ac5f5345b247ea725?s=96&d=mm&r=g","caption":"wanderleyfcunha"},"sameAs":["https:\/\/vectalk.com.br\/blog"]}]}},"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/vectalk.com.br\/blog\/wp-json\/wp\/v2\/posts\/291","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vectalk.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/vectalk.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/vectalk.com.br\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/vectalk.com.br\/blog\/wp-json\/wp\/v2\/comments?post=291"}],"version-history":[{"count":1,"href":"https:\/\/vectalk.com.br\/blog\/wp-json\/wp\/v2\/posts\/291\/revisions"}],"predecessor-version":[{"id":294,"href":"https:\/\/vectalk.com.br\/blog\/wp-json\/wp\/v2\/posts\/291\/revisions\/294"}],"wp:attachment":[{"href":"https:\/\/vectalk.com.br\/blog\/wp-json\/wp\/v2\/media?parent=291"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vectalk.com.br\/blog\/wp-json\/wp\/v2\/categories?post=291"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vectalk.com.br\/blog\/wp-json\/wp\/v2\/tags?post=291"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}