# WhatsApp Flow Components

**WhatsApp Flows** are made up of several components that work together to create engaging forms for your customers. These components include:

## Basic Components

- **Text**: Provide helpful information within each step of your flow using text messages. Text can be of four types:
  - **Heading**: Maximum 80 characters, no extra styles.
  - **Subheading**: Maximum 80 characters, no extra styles.
  - **Body**: Maximum 4000 characters, supports bold, italic, and strikethrough.
  - **Caption**: Maximum 4000 characters, supports bold, italic, and strikethrough.
- **Image**: Display images within your flow to provide visual information.
- **Embedded Link**: Include links to other screens within your flow.

## Interactive Components

- **Text Field**: Collect text input from users. Supports:
  - **Single line**: Text, Number, Email Address, Password, Passcode, Phone Number.
  - **Multi-line**: For longer text inputs.
- **Checkbox Group**: Allow users to select multiple options from a list. Each item can contain:
  - Image
  - Title
  - Description
  - Any text on the right side
- **Radio Buttons Group**: Allow users to select a single option from a list. Each item can contain:
  - Image
  - Title
  - Description
  - Any text on the right side
- **Dropdown**: Provide a list of options for users to choose from. Each item can contain:
  - Image
  - Title
  - Description
  - Any text on the right side
- **Date Picker**: Collect dates from users using a calendar interface.
- **Opt In**: Ask users for permission to send them future messages.
- **Photo Picker**: Allow users to upload images as part of the conversation.
- **If-Else**: Create conditional logic to guide users based on their responses.

## Upcoming Updates

### New Components

- **Switch**: Same as If-Else but expandable like If-Elseif-Else condition.
- **Rich Text**: Show rich text with multiple formatting options.
- **Calendar Picker**: Allow users to select dates from a calendar interface in a more Android-friendly way.
- **Navigation List**: Give multiple options to the user to navigate to different screens.
- **Document Picker**: Allow users to upload documents as part of the conversation.

### Enhancements

- **Open External Link**: Open external links in the browser through OptIn or Embedded Link.
