Skip to main content

WhatsApp Flows API Data Source

The WhatsApp Flows connector enables you to create, manage, publish, and send interactive WhatsApp Flows, retrieve flow details and assets, and integrate interactive messaging experiences into your data workflows. This connector is particularly useful for applications that need to create interactive forms, build customer engagement flows, collect structured data from customers, or provide guided experiences within WhatsApp conversations. Follow the instructions below to create a new data flow that ingests data from a WhatsApp Flows API source in Nexla.
whatsapp_flows_api.png

WhatsApp Flows API

Create a New Data Flow

  1. To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Then, select the desired flow type from the list, and click the Create button.

  2. Select the WhatsApp Flows API connector tile from the list of available connectors. Then, select the credential that will be used to connect to the WhatsApp Flows API, and click Next; or, create a new WhatsApp Flows API credential for use in this flow.

  3. In Nexla, WhatsApp Flows API data sources can be created using pre-built endpoint templates, which expedite source setup for common WhatsApp Flows API endpoints. Each template is designed specifically for the corresponding WhatsApp Flows API endpoint, making source configuration easy and efficient.
    • To configure this source using a template, follow the instructions in Configure Using a Template.

    WhatsApp Flows API sources can also be configured manually, allowing you to ingest data from WhatsApp Flows API endpoints not included in the pre-built templates or apply further customizations to exactly suit your needs.
    • To configure this source manually, follow the instructions in Configure Manually.

Configure Using a Template

Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common WhatsApp Flows API endpoints. Each template is designed specifically for the corresponding WhatsApp Flows API endpoint, making data source setup easy and efficient.

Endpoint Settings

  • Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below. Click on an endpoint to see more information about it and how to configure your data source for this endpoint.

    Get WABA Details

    This endpoint retrieves WhatsApp Business Account details to verify API setup. Use this endpoint when you need to verify your WABA configuration, retrieve account information, or validate that your credentials are working correctly.

    • Enter the sync schedule in the Sync Schedule field. This is a cron expression that determines when the data will be fetched. The default value is 0 0 * * * (daily at midnight).

    The Get WABA Details endpoint uses GET requests to retrieve account information from the WhatsApp Flows API. This endpoint is useful for verifying your API setup and credentials. For more information about WABA endpoints, refer to the WhatsApp Business Management API WABA Reference.

    List Flows

    This endpoint retrieves all WhatsApp Flows for your business account. Use this endpoint when you need to list all available flows, retrieve flow metadata, or discover flows in your account.

    • Enter the sync schedule in the Sync Schedule field. This is a cron expression that determines when the data will be fetched. The default value is 0 0 * * * (daily at midnight).

    The List Flows endpoint uses GET requests to retrieve all flows associated with your WhatsApp Business Account. The endpoint returns flow metadata including flow IDs, names, categories, and status. For more information about listing flows, refer to the WhatsApp Flows API Reference.

    Get WABA Phone Numbers

    This endpoint retrieves phone numbers associated with your WhatsApp Business Account. Use this endpoint when you need to retrieve available phone numbers for sending flows, verify phone number configuration, or get phone number IDs for messaging operations.

    • Enter the sync schedule in the Sync Schedule field. This is a cron expression that determines when the data will be fetched (e.g., 0 0 * * * for daily). The default value is 0 0 * * *.

    The Get WABA Phone Numbers endpoint uses GET requests to retrieve phone numbers from your WhatsApp Business Account. The endpoint returns phone number details including phone number IDs, which are required for sending flows. For more information about phone numbers, refer to the Graph API Phone Numbers Reference.

    Get Flow

    This endpoint retrieves detailed information about a specific WhatsApp Flow. Use this endpoint when you need to retrieve flow details, check flow status, view validation errors, or get flow metadata for a specific flow ID.

    • Enter the Flow ID in the Flow ID field. This is the unique identifier for the flow you want to retrieve. You can obtain flow IDs from the "List Flows" endpoint.
    • Enter the fields to retrieve in the Fields to Retrieve field. This is a comma-separated list of fields to return. The default value includes common fields: id,name,categories,preview,status,validation_errors,json_version,data_api_version.
    • Enter the sync schedule in the Sync Schedule field. This is a cron expression that determines when the data will be fetched. The default value is 0 0 * * * (daily at midnight).

    The Get Flow endpoint uses GET requests to retrieve detailed flow information. You can specify which fields to return using the fields parameter. Flow IDs can be obtained from the "List Flows" endpoint. For more information about retrieving flow details, refer to the WhatsApp Flows API Reference.

    Get Preview URL

    This endpoint generates a preview URL for testing your WhatsApp Flow. Use this endpoint when you need to test flows before publishing, generate preview links for stakeholders, or validate flow functionality.

    • Enter the Flow ID in the Flow ID field. This is the unique identifier for the flow you want to preview.
    • Enter whether to invalidate existing preview in the Invalidate Existing Preview field. Set to true to generate a new preview and expire the old link, or false to use the existing preview if available. The default value is false.
    • Enter the sync schedule in the Sync Schedule field. This is a cron expression that determines when the data will be fetched. The default value is 0 0 * * * (daily at midnight).

    The Get Preview URL endpoint uses GET requests to generate preview URLs for testing flows. Preview URLs allow you to test flows before publishing them. For more information about flow previews, refer to the WhatsApp Flows API Reference.

    List Flow Assets

    This endpoint retrieves a list of assets (including flow JSON download URL) for a flow. Use this endpoint when you need to download flow JSON files, retrieve asset URLs, or access flow content programmatically.

    • Enter the Flow ID in the Flow ID field. This is the unique identifier for the flow whose assets you want to retrieve.
    • Enter the sync schedule in the Sync Schedule field. This is a cron expression that determines when the data will be fetched. The default value is 0 0 * * * (daily at midnight).

    The List Flow Assets endpoint uses GET requests to retrieve flow assets including the flow JSON file download URL. This is useful for downloading flow definitions or accessing flow content. For more information about flow assets, refer to the WhatsApp Flows API Reference.

    Get Flow ID

    This endpoint returns the first available flow ID from your account for testing. Use this endpoint when you need to quickly retrieve a flow ID for testing purposes or when you want to get a sample flow ID from your account.

    • Enter the sync schedule in the Sync Schedule field. This is a cron expression that determines when the data will be fetched. The default value is 0 0 * * * (daily at midnight).

    The Get Flow ID endpoint uses GET requests to retrieve the first available flow ID from your account. This is a convenience endpoint for testing and development. For more information about flows, refer to the WhatsApp Flows Documentation.

Endpoint Testing

Once the selected endpoint template has been configured, Nexla can retrieve a sample of the data that will be fetched according to the current settings. This allows users to verify that the source is configured correctly before saving.

  • To test the current endpoint configuration, click the Test button to the right of the endpoint selection menu. Sample data will be fetched & displayed in the Endpoint Test Result panel on the right.

  • If the sample data is not as expected, review the selected endpoint and associated settings, and make any necessary adjustments. Then, click the Test button again, and check the sample data to ensure that the correct information is displayed.

Configure Manually

WhatsApp Flows API data sources can be manually configured to ingest data from any valid WhatsApp Flows API endpoint. Manual configuration provides maximum flexibility for accessing endpoints not covered by pre-built templates or when you need custom API configurations.

With manual configuration, you can also create more complex WhatsApp Flows API sources, such as sources that use chained API calls to fetch data from multiple endpoints or sources that require custom authentication headers or request parameters.

API Method

  1. To manually configure this source, select the Advanced tab at the top of the configuration screen.

  2. Select the API method that will be used for calls to the WhatsApp Flows API from the Method pulldown menu. The most common methods are:

    • GET: For retrieving data from the API (most WhatsApp Flows API endpoints use GET)

API Endpoint URL

  1. Enter the URL of the WhatsApp Flows API endpoint from which this source will fetch data in the Set API URL field. This should be the complete URL including the protocol (https://) and any required path parameters. WhatsApp Flows API endpoints typically follow the pattern https://graph.facebook.com/{api_version}/{resource}, where {api_version} is your API version (e.g., v18.0) and {resource} is the API resource path.

Ensure the API endpoint URL is correct and accessible with your current credentials. You can test the endpoint using the Test button after configuring the URL. The endpoint URL should use the API version configured in your credential. WhatsApp Flows API requires Bearer token authentication, which is automatically included from your credential.

Path to Data

Optional

If only a subset of the data that will be returned by API endpoint is needed, you can designate the part(s) of the response that should be included in the Nexset(s) produced from this source by specifying the path to the relevant data within the response. This is particularly useful when API responses contain metadata, pagination information, or other data that you don't need for your analysis.

Path to Data is essential when API responses have nested structures. Without specifying the correct path, Nexla might not be able to properly parse and organize your data into usable records. For WhatsApp Flows API responses, common paths include $ for the entire response, $.data[*] for arrays of data, or $.data[0].id for specific fields.

  • To specify which data should be treated as relevant in responses from this source, enter the path to the relevant data in the Set Path to Data in Response field.

    • For responses in JSON format enter the JSON path that points to the object or array that should be treated as relevant data. JSON paths use dot notation (e.g., $.data to access the data array).

Request Headers

Optional
  • If Nexla should include any additional request headers in API calls to this source, enter the headers & corresponding values as comma-separated pairs in the Request Headers field (e.g., header1:value1,header2:value2). Additional headers are often required for API versioning, content type specifications, or custom authentication requirements.

    You do not need to include any headers already present in the credentials. Common headers like Authorization, Content-Type, and Accept are typically handled automatically by Nexla based on your credential configuration. For WhatsApp Flows API, the Authorization header with Bearer token is automatically included from your credential.

Endpoint Testing

After configuring all settings for the selected endpoint, Nexla can retrieve a sample of the data that will be fetched according to the current configuration. This allows users to verify that the source is configured correctly before saving.

  • To test the current endpoint configuration, click the Test button to the right of the endpoint selection menu. Sample data will be fetched & displayed in the Endpoint Test Result panel on the right.

  • If the sample data is not as expected, review the selected endpoint and associated settings, and make any necessary adjustments. Then, click the Test button again, and check the sample data to ensure that the correct information is displayed.

Save & Activate the Source

  1. Once all of the relevant steps in the above sections have been completed, click the Create button in the upper right corner of the screen to save and create the new WhatsApp Flows API data source. Nexla will now begin ingesting data from the configured endpoint and will organize any data that it finds into one or more Nexsets.