WhatsApp Forms [EXPLAINED]

WhatsApp forms are interactive tools that simplify customer interactions by linking ongoing marketing campaigns to automated workflows. With WhatsApp business forms enhance user experiences, making long conversations more efficient and improving customer satisfaction, conversions, and overall results.

WhatsApp forms builder can help to generate leads, take feedback, collect event registrations, recommend products, get new sales leads, or anything else where structured communication is more natural or comfortable for your customers, as compared to 2-way chats.

Top WhatsApp Forms Use Cases

• Form to collect interest for deals

Boost Sales with Tailored Offers​ For Retail Industries With WhatsApp Flow
Lead Generation On WhatsApp

• Form to collect details for Insurance coverage

Banking On WhatsApp

What are the types of WhatsApp Forms?

There are 2 types of forms on WhatsApp: 

1. WhatsApp Forms without data exchange

– These are static forms, where you have a set of same questions common to every recipient. 

2. WhatsApp Forms with data exchange

– These are dynamic Forms, where you might want to ask different questions to different users (or give personalised options to select from), based on their identity / based on earlier answers they have given in the forms. These forms on WhatsApp require you to create an API endpoint that returns dynamic data for every user, at various points of the form. WhatsApp will call this API whenever a user is going through your flow. 

Forms without data exchange are much quicker to build since there is no code-writing required at your end, as compared to forms with data exchange. However, forms with data exchange provide a lot more flexibility to create personalized forms.

How to Create a WhatsApp Form

Forms without data exchange:

To setup forms on WhatsApp here’s an easy explainer video with steps involved –

Step 1

Log in to your Interakt dashboard. From the left-hand menu, navigate to the automation dropdown and select ‘WhatsApp Forms’.

Step 2

Upon accessing WhatsApp Forms, you’ll see two options: ‘Create New’ for starting a form from scratch, and ‘View All Forms’ to browse existing ones.

Step 3

Fill in the form’s basic details and finalize your selections. Click ‘Next’ to proceed.

Step 4

In the form editor, you’ll see two default screens: ‘Feedback one of two’ and ‘Feedback two of two’. You can add or remove elements as needed. Screen IDs are available for reference and can be copied for future use.

Step 5

Complete the required fields. Under the choice selections, choose from single/multiple choice, dropdowns, or opt-ins. A real-time preview appears on the right. Fields can be marked as mandatory or optional.

Step 6

Add elements like emojis, text, or numbers to make your form more engaging.

Step 7

If needed, save your form as a draft. Remember, a form must be published to be sent to customers or used in campaigns.

Step 8

Note: Once a form is published, it cannot be edited. Double-check everything before clicking ‘Publish’.

Note: “You can share your form through multiple mediums. Check out “” for more details”

Step 9

Preview your form before sharing it. It’s clean and user-friendly—test it to ensure everything works smoothly.

Step 10

The form will open when the recipient clicks on Share Feedback. After rating all sections, click ‘Done’ to complete the submission.

Step 11

To track form performance, go to ‘Automation’ → ‘WhatsApp Forms’ → ‘View All Forms’. Click the export icon, choose the time range, and click ‘Done’. You’ll receive the report via email in no time.

Forms with data exchange:  

Why this matters?

Forms are a great way to collect structured data — and now, with WhatsApp forms on Interakt, you can do that without ever leaving your customer’s favorite messaging platform.

Whether it’s for:

-Post-purchase feedback
-Lead qualification
-Campaign insights
-Mini-surveys

You’re now fully equipped to engage better — with less hassle, more impact.

So go ahead — give WhatsApp Forms a spin, create your first form, and let the conversations begin!

How to Share Forms via WhatsApp: The Complete Guide for Businesses

Once your form is set up, you can share it with your customers in several ways 

1. Via Interakt Campaigns

To send a form via Campaign, we need to create a template first, to create the one – 

– Go to Market Tab in left panel, Click on Template

– Choose Button Type as ‘WhatsApp Flow’ 

• Copy paste the Flow ID of the flow that you created in WhatsApp Manager (in your Facebook Business Manager a/c), and, also specify what should happen when the flow is opened by the recipient:

○ Navigate to a particular screen

○ Or initiate data exchange with your endpoint

Once your template is created, you can easily send it along with a flow using Interakt Campaigns by following these simple steps:

-Navigate to Campaigns → New Campaign → WhatsApp.

-Select Create from Scratch, then name your campaign.

-Choose your target audience and select the WhatsApp message template you previously created.

-Set the desired time to send your campaign.

-Enable the retry option to ensure message delivery in case of failure.

-Finally, click Set Live to launch your campaign.

(Note – After selecting a ‘template with flow’, you’ll see 2 optional fields named ‘flow_token’ and ‘flow_data’, which should be used, depending on how your flow is created. Note that ‘flow_data’ only accepts json values).

Track Form Responses and Retarget Engaged Customers

If a ‘template with flow’ has been sent via Interakt Campaigns, 

– The number of users who completed the flow would be displayed in the Campaign’s Statistics as shown below.

• Clicking on ‘View user list’ will display the list of all users who replied to the flow. You can click on the ‘Send Notification’ button and send a retargeting campaign to all the users who completed the flow.

• If you want to automate a retargeting notification for users who completed the flow, you can use the ‘Flow Completed’ event as a trigger in an Ongoing Campaign. This event is added for every user who completes a flow. 

To see the exact flow responses sent by customer, you can download the campaign report, by clicking on the button shown below.

2. Via Webhooks 

You can also get alerted about flow responses via webhooks. Subscribe to the following 2 webhooks from your Interakt Account’s Developer Settings, depending upon how you sent the flow template:

• ‘Completed Flow’ status for templates sent via campaigns

• ‘Completed Flow’ status for templates sent via Template Send API

Moreover, ‘incoming customer messages’ webhooks will also contain the flow_response.

Example Webhook Payload of ‘Completed Flow’ webhook for a template sent via Template Send API:

You can also get alerted about flow responses via webhooks. Subscribe to the following 2 webhooks from your Interakt Account’s Developer Settings, depending upon how you sent the flow template:

• ‘Completed Flow’ status for templates sent via campaigns

• ‘Completed Flow’ status for templates sent via Template Send API

Moreover, ‘incoming customer messages’ webhooks will also contain the flow_response.

Example Webhook Payload of ‘Completed Flow’ webhook for a template sent via Template Send API:
				
					{
  "version": "1.0",
  "timestamp": "2024-09-04T06:35:03.929270",
  "type": "message_api_flow_response",
  "data": {
    "customer": {
      "id": "0d00d145-5e18-4c62-881e-918ad1a8de91",
      "channel_phone_number": "917003705584",
      "phone_number": "7003705584",
      "country_code": "+91",
      "traits": {
        "email": "saandhy.ganeriwala@gmail.com",
        "name": "Saandhy",
        "whatsapp_opted_in": true
      }
    },
    "message": {
      "id": "634d621f-7308-4932-9998-c363063e28e1",
      "chat_message_type": "CustomerMessage",
      "channel_failure_reason": null,
      "message_status": "Sent",
      "received_at_utc": "2024-09-04T06:35:03.584000",
      "delivered_at_utc": null,
      "seen_at_utc": null,
      "campaign_id": null,
      "is_template_message": false,
      "raw_template": null,
      "channel_error_code": null,
      "message_content_type": "InteractiveFlowReply",
      "media_url": null,
      "message": {
        "type": "nfm_reply",
        "nfm_reply": {
          "response_json": {
            "screen_1_cs_2": "2_★★★☆☆_•_Average_(3/5)",
            "screen_0_comment_1": "Awesome services ",
            "screen_1_purchase_0": "1_★★★★☆_•_Good_(4/5)",
            "screen_1_delivery_1": "0_★★★★★_•_Excellent_(5/5)",
            "flow_token": "unused",
            "screen_0_recommend_0": "0_Yes"
          },
          "body": "Sent",
          "name": "flow"
        }
      },
      "meta_data": {},
      "message_context": {
        "from": "917003705584",
        "id": "4ce3ff23-b0cf-42d3-80f0-b4929bb4f734"
      }
    },
    "source_template_message": {
      "template_name": "collect_feedback_from_customers",
      "campaign_id": null,
      "callback_data": null,
      "status": "Sent",
      "is_campaign": false,
      "message_type": "PublicApiMessage"
    },
    "flow_id": 1021093062600086
  }
}

				
			

In Interakt Shared Team Inbox 

Flow responses sent by customers will also be visible in the Interakt Inbox, making it easy for your team to follow up with those customers. 

2. Via Interakt APIs

You can send a template with flow via Interakt’s Send Template API. 

– If the flow is created such that it doesn’t require any ‘flow_token’ or ‘flow_action_data’, then use a payload like below. Make sure to include the following key-value pair in the payload → “is_flow_template” : true

(note: The below example is for a template with no header, 1 body variable & a flow button. For your particular template, please modify the payload depending upon the presence of headers / variables etc. Follow the Send Template API WhatsApp flows documentation here.)

-data

				
					{
   "countryCode": "+91",
   "phoneNumber": "7003705584",
   "callbackData": "some text here",
   "type": "Template",
   "template": {
       "name": "get_feedback_from_customers",
       "languageCode": "en",
       "bodyValues": [
           "body_variable_value_1"
       ],
       "is_flow_template": true,
       "buttonPayload": {
           "0": [
               "flow_token"
           ],
           "1": [
               "flow_action_data"
           ]
       },
       "buttonValues": {
           "0": ["<FLOW_TOKEN_VALUE>"],
           "1": ["<ACTION_DATA>"]
       }
   }
}

				
			

– If the flow is created such that it requires ‘flow_token’ / ‘flow_action_data’, then use a payload like below.

-data

				
					{
    "countryCode": "+91",
    "phoneNumber": "7003705584",
    "callbackData": "some text here",
    "type": "Template",
    "template": {
        "name": "<TEMPLATE_NAME>",
        "languageCode": "en",
        "bodyValues": ["body_variable_value_1"],
        "is_flow_template": true,
        "buttonPayload": {
            "0": [
                "flow_token"
            ],
            "1": [
                "flow_action_data"
            ]
        },
        "buttonValues": {
            "0": [
                "<FLOW_TOKEN_VALUE>"
            ],
            "1": [
                {
                    "example_key": "example_value",
                    "hello": "world"
                }
            ]
        }
    }
}

				
			

Imp points to note for WhatsApp flows API payload (where flow_token & flow_action_data are to be sent)

buttonPayload

• Key: Represents the type of data expected.

• Index: The position of the key in the array.

buttonValues

• Value: The actual data corresponding to the keys defined in buttonPayload.

• Index: Must match the index of the corresponding key in buttonPayload.

Example Mapping:

1. “flow_token” (index 0 in buttonPayload) corresponds to <FLOW_TOKEN_VALUE> (index 0 in buttonValues).

2. “flow_action_data” (index 1 in buttonPayload) corresponds to {“example_key”: “example_value”, “hello”: “world”} (index 1 in buttonValues).

3. Welcome Message

Capture customer details right from their first interaction. 

4. Out Of Office Message

Collect inquiries even when you’re unavailable.

5. Delayed Message

 Ensure engagement while waiting for a response.

6. Custom Auto Replies

Automate data collection based on specific keywords or triggers.

7. Workflows

Use WhatsApp Forms within workflows, with the ability to map responses to User Traits or Workflow variables for more personalized automation.

Additionally, merchants can access all their WhatsApp Forms from the ‘WhatsApp Forms’ page within the Automations section. From here, responses can be exported as a CSV, enabling easy data analysis and integration with other business tools.

Plan-Based Access to WhatsApp Forms

👉 Starter Plan merchants can view their WhatsApp Forms but won’t be able to use them in auto-replies/workflows or export responses.

👉 Growth Plan merchants and above have full access to integrate and export form responses.

Get Started with WhatsApp Forms Today!

If you’re on the Growth Plan or higher, start using WhatsApp Forms today to capture customer insights, streamline automation, and enhance engagement. Head over to the WhatsApp Forms page under Automations to explore this feature now!