# Request Information

### What are Chat Components?

Chat Components are configurable building blocks used to capture information, validate responses, manage conditional logic, invoke APIs, and control the overall flow inside a BotPenguin conversation. These elements ensure data capture consistency and help automate user interactions in personalized workflows.

***

#### A. Name

1. Click **“Name”** under Chat Components.
2. Customize the message under **“Customize Bot Message.”**
3. The flow will pause until the user submits their name.

**Use Case:**\
In case of entering the user’s name, this component is used to request the **name** as input from the user.

<figure><img src="https://1745791824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAPDb8cKQtGlIAfgHjcsQ%2Fuploads%2FUQGppXQ9Fduln1puS91z%2Fimage.png?alt=media&#x26;token=28435dc4-3fc7-41e9-8d4d-39b033a47287" alt=""><figcaption><p>Name</p></figcaption></figure>

<details>

<summary><strong>Advanced Settings – Name Component</strong></summary>

The **Advanced** tab for the **Name** component allows you to control validation, navigation behavior, notifications, and message timing when collecting a user’s name.

These settings help ensure clean data, better user experience, and accurate records.

***

#### Navigation Controls

**Allow Back**

* Enables users to return to the previous question
* Useful if users want to correct earlier inputs

**Recommended:** Enable for form-style flows

***

**Allow Visitor to Skip**

* Lets users skip the name question
* Suitable for optional personalization

**Note:** Skipped values will not be stored.

***

**Skip Question If Already Answered**

* Automatically bypasses this step if the user’s name is already available
* Ideal for returning visitors or logged-in users

***

#### Notifications & Records

**Send Notification for the User Reply**

* Sends the submitted name to configured admin notifications
* Useful for lead alerts or internal follow-ups

***

**Include in Email Transcript**

* Adds the user’s name to the chat/email conversation transcript
* Helps maintain complete conversation records

***

#### Validation Settings

**Max Characters Allowed**

* Defines the maximum length of the name input
* Example value: `100`

**Purpose:**

* Prevents excessively long or invalid name entries
* Keeps data clean and readable

***

**Error Message (Exceeds Max Characters)**

* Displayed when the user enters a name longer than the allowed limit

**Example:**

```
Oops! The name seems to be too lengthy.
```

**Best practice:** Keep error messages friendly and clear.

***

#### Message Optimization

**Rephrase Messages**

* Automatically rewords the question to avoid repetition
* Makes conversations sound more natural

***

**Rephrase Error Messages**

* Improves error message tone using AI-based rephrasing
* Helps reduce friction during form completion

***

#### Timing Control

**Add Delay**

* Adds a pause before the message appears
* Example: `1 second`

**Use case:**

* Makes the chatbot feel more human
* Improves pacing between questions

<figure><img src="https://1745791824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAPDb8cKQtGlIAfgHjcsQ%2Fuploads%2FppkuzViTWyJ00pQO6Qbm%2Fimage.png?alt=media&#x26;token=3c8200e1-bfb0-47ed-83b9-99ac6a4bf5b1" alt=""><figcaption></figcaption></figure>

</details>

#### **B. Phone Number**

1. Click **“Phone Number”** to add it to your flow.
2. Customize the message in the left panel.
3. Select a **country code** from the dropdown.

**Use Case:**\
In case of collecting the user’s phone number, this component is used to request a **valid phone number** from the user.

<figure><img src="https://1745791824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAPDb8cKQtGlIAfgHjcsQ%2Fuploads%2FehZEbuUyZvFFOBAvURfg%2Fimage.png?alt=media&#x26;token=05d09def-d578-487c-a606-160cebffa6d6" alt=""><figcaption><p>Phone number</p></figcaption></figure>

<details>

<summary><strong>Advanced Settings – Phone Number Component</strong></summary>

The **Advanced** tab for the **Email** component helps you manage validation rules, navigation behavior, notifications, and message timing when collecting a user’s email address.

These settings ensure accurate email data and a smooth user experience.

***

#### Navigation Controls

**Allow Back**

* Allows users to return to the previous step
* Useful if users want to correct earlier responses

**Recommended:** Enable for form-based flows

***

**Allow Visitor to Skip**

* Lets users skip the email question
* Suitable when email is optional

> ⚠️ Skipped emails will not be captured or stored.

***

**Skip Question If Visitor Has Already Answered**

* Automatically skips this step if an email already exists
* Ideal for returning or identified users

***

#### Notifications & Records

**Send Notification for the User Reply**

* Sends the submitted email address to configured admin notifications
* Useful for lead alerts and internal follow-ups

***

**Include in Email Transcript**

* Adds the user’s email to the chat/email transcript
* Helps maintain complete conversation records

***

#### Validation Settings

**Apply Email Validation**

* Ensures users enter a valid email format\
  \&#xNAN;*(example: <name@example.com>)*

This prevents:

* Incomplete emails
* Invalid domains
* Formatting errors

***

**Error Message (Invalid Email)**

* Displayed when the user enters an incorrect email format

**Example:**

```
Hmm… that doesn’t look like a valid email. Please try again.
```

**Best practice:** Keep the message friendly and non-technical.

***

#### Message Optimization

**Rephrase Messages**

* Automatically rewords the email request message
* Helps reduce repetition in longer flows

***

**Rephrase Error Messages**

* Improves error message tone using AI
* Makes validation errors sound more natural

***

#### Timing Control

**Add Delay**

* Adds a short pause before the message is displayed
* Example: `1 second`

**Why use this?**

* Makes conversations feel more human
* Improves pacing between questions

***

<figure><img src="https://1745791824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAPDb8cKQtGlIAfgHjcsQ%2Fuploads%2FIPwPwQXd2FAG4bx98nq4%2Fimage.png?alt=media&#x26;token=a7a12367-76d7-4216-ab15-7ea219a3d4ce" alt=""><figcaption></figcaption></figure>

</details>

#### **C. Email**

1. Select **“Email”** from the Chat Component list.
2. Customize the requested message under the left panel.

**Use Case:**\
In case of collecting the user’s email address, this component is used to request an **email** from the user.

<figure><img src="https://1745791824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAPDb8cKQtGlIAfgHjcsQ%2Fuploads%2FnSIJuqle4hMvqmPAowLJ%2Fimage.png?alt=media&#x26;token=9d7d497b-ea14-4270-9d5c-b1513969dd54" alt=""><figcaption><p>Email</p></figcaption></figure>

<details>

<summary><strong>Advanced Settings – Email Component</strong></summary>

The **Advanced** tab for the **Email** component allows you to validate email input, control navigation behavior, manage notifications, restrict domains, and fine-tune message timing.

These settings help ensure you collect **valid, high-quality email addresses** while maintaining a smooth user experience.

***

#### Navigation Controls

**Allow Back**

* Allows the user to go back to the previous step
* Useful if users want to correct earlier answers

***

**Allow Visitor to Skip**

* Lets users skip the email question
* Best used when email is optional

> ⚠️ If skipped, the email will not be stored.

***

**Skip Question If Visitor Has Already Answered**

* Automatically skips this step if an email already exists
* Ideal for returning or identified users

***

#### Notifications & Records

**Send Notification for the User Reply**

* Sends the submitted email address to admin notifications
* Helpful for lead alerts and internal follow-ups

***

**Include in Email Transcript**

* Includes the user’s email in the chat/email transcript
* Ensures complete conversation records

***

#### Email Validation

**Invalid Email Error Message**

* Shown when the user enters an incorrectly formatted email

**Example:**

```
Err! The email is not valid.
```

**Tip:** Keep the message short and user-friendly.

***

#### Domain Restrictions

**Include / Exclude Specified Domains**

* Restrict which email domains are allowed or blocked

**Options:**

* **Include** – Only allow emails from specific domains\
  \&#xNAN;*(e.g., company.com)*
* **Exclude** – Block emails from certain domains\
  \&#xNAN;*(e.g., gmail.com, yahoo.com)*

***

**Domain**

* Enter the domain name without `@`\
  **Example:**

  ```
  company.com
  ```

***

**Domain Restriction Error Message**

* Displayed when a user enters an email from a restricted domain

**Example:**

```
Please use your official company email address.
```

***

#### Message Optimization

**Rephrase Messages**

* Automatically rewrites the email prompt
* Helps reduce repetition in long flows

***

**Rephrase Error Messages**

* Improves validation error tone using AI
* Makes errors sound more natural and friendly

***

#### Timing Control

**Add Delay**

* Adds a delay before the message appears
* Example: `1 second`

**Why use it?**

* Creates a more natural, conversational flow
* Improves pacing between questions

<figure><img src="https://1745791824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAPDb8cKQtGlIAfgHjcsQ%2Fuploads%2F3jXylCvu85HJ8H5921O4%2Fimage.png?alt=media&#x26;token=4b566c8b-c547-4b60-8d7a-15e82f7714dc" alt=""><figcaption></figcaption></figure>

</details>

#### **D. Single Choice**

1. Click **“Single Choice.”**
2. Add options (max 5).
3. Link each option to the next component.

**Use Case:**\
In case the user needs to select **only one option** from multiple choices, this component is used.

<figure><img src="https://1745791824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAPDb8cKQtGlIAfgHjcsQ%2Fuploads%2FkqtCgtZWdQQmQTNk8S1w%2Fimage.png?alt=media&#x26;token=6ac71012-b1d2-4b88-b1a3-25bc71bd80dd" alt=""><figcaption><p>Single Choice</p></figcaption></figure>

<details>

<summary><strong>Advanced Settings – Single Choice Component</strong></summary>

The **Advanced** tab for the **Single Choice** component lets you control navigation behavior, data handling, integrations, notifications, and message timing when users select one option from a list.

This is useful for surveys, qualification questions, and decision-based flows.

***

#### Navigation Controls

**Allow Back**

* Allows users to go back to the previous step
* Helpful if users want to change an earlier answer

***

**Allow Visitor to Skip**

* Lets users skip the single-choice question
* Suitable when the selection is optional

> ⚠️ If skipped, no option value will be stored.

***

#### Notifications & Data Handling

**Send Notification for the User Reply**

* Sends the selected option to admin notifications
* Useful for lead qualification alerts or internal updates

***

**Include in Leads**

* Saves the selected option as part of the lead data
* Enables filtering and segmentation in the Leads dashboard

***

**Include in Email Transcript**

* Adds the selected option to the email/chat transcript
* Helps maintain complete conversation records

***

#### Integrations & Logic

**Use API Response**

* Uses values returned from an API to populate or process options
* Useful for dynamic data such as:
  * Product lists
  * Status options
  * External system responses

> 💡 Commonly used with **API Call** or **Webhook** actions.

***

#### Message Optimization

**Rephrase Messages**

* Automatically rewords the question text
* Reduces repetition in longer conversations

***

**Rephrase Error Messages**

* Improves error message tone using AI
* Makes system feedback sound more natural

***

#### Timing Control

**Add Delay**

* Adds a pause before the message is displayed
* Example: `1 second`

**Benefits:**

* Creates a more conversational feel
* Improves pacing between questions

<figure><img src="https://1745791824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAPDb8cKQtGlIAfgHjcsQ%2Fuploads%2FOfp0svj39Y9vMDV3rvtE%2Fimage.png?alt=media&#x26;token=35581134-413b-432d-8789-42107e1345e5" alt=""><figcaption></figcaption></figure>

</details>

#### **E. Multiple Choice**

1. Click **“Multiple Choice.”**
2. Add up to 5 selectable options.
3. Map each selection to the next message or action.

**Use Case:**\
In case the user needs to select **more than one option**, this component is used.

<figure><img src="https://1745791824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAPDb8cKQtGlIAfgHjcsQ%2Fuploads%2FVPYCeUp5dDelatCcdTq4%2Fimage.png?alt=media&#x26;token=f13deee7-1475-4cf3-ae8f-67fc2aae748f" alt=""><figcaption><p>Multiple Choice</p></figcaption></figure>

<details>

<summary><strong>Advanced Settings – Multiple Choice Component</strong></summary>

The **Advanced** tab for the **Multiple Choice** component allows you to control navigation behavior, data capture, notifications, and message timing when users can select **more than one option**.

This component is commonly used for preferences, surveys, feature selection, and qualification flows.

***

#### Navigation Controls

**Allow Back**

* Allows users to return to the previous question
* Helpful if users want to modify earlier responses

***

**Allow Visitor to Skip**

* Lets users skip the multiple-choice question
* Useful when selections are optional

> ⚠️ If skipped, no options will be saved.

***

#### Notifications & Data Handling

**Send Notification for the User Reply**

* Sends the selected options to admin notifications
* Useful for alerts, surveys, or qualification updates

***

**Include in Leads**

* Saves all selected options as part of the lead profile
* Helps with segmentation and filtering in the Leads dashboard

***

**Include in Email Transcript**

* Adds the selected options to the email/chat transcript
* Ensures complete conversation records

***

#### Message Optimization

**Rephrase Messages**

* Automatically rephrases the question text
* Helps reduce repetition in longer chat flows

***

**Rephrase Error Messages**

* Improves validation or system error messages using AI
* Makes feedback sound more natural and user-friendly

***

#### Timing Control

**Add Delay**

* Adds a pause before the message is displayed
* Example: `1 second`

**Why use it?**

* Makes conversations feel more natural
* Improves pacing between steps

<figure><img src="https://1745791824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAPDb8cKQtGlIAfgHjcsQ%2Fuploads%2F6OSnSuMAoatdqzs4xmzt%2Fimage.png?alt=media&#x26;token=3fd4fb19-fc26-4b8a-9231-9936139a1ae7" alt=""><figcaption></figcaption></figure>

</details>

#### **F. Text Questions**

1. Click **“Text Question”** to add it to your flow.
2. Customize the request message based on the information you want to collect.

**Use Case:**\
In case you need a **custom or open-ended answer** from the user, this component is used.

<figure><img src="https://1745791824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAPDb8cKQtGlIAfgHjcsQ%2Fuploads%2Fckf4AlhL3OyKzD6pdUYF%2Fimage.png?alt=media&#x26;token=7b89e118-5e45-442e-a3e2-a16540183dc4" alt=""><figcaption><p>Text Question</p></figcaption></figure>

<details>

<summary><strong>Advanced Settings – Text Question Component</strong></summary>

The **Advanced** tab for the **Text Question** component lets you manage navigation behavior, notifications, transcripts, and message timing when users provide free-text responses.

This component is ideal for open-ended inputs such as feedback, comments, descriptions, or custom answers.

***

#### Navigation Controls

**Allow Back**

* Allows users to return to the previous step
* Useful if users want to revise earlier responses

***

**Allow Visitor to Skip**

* Lets users skip the text question
* Suitable when the response is optional

> ⚠️ If skipped, no text input will be captured.

***

#### Notifications & Records

**Send Notification for the User Reply**

* Sends the user’s typed response to admin notifications
* Useful for:
  * Feedback monitoring
  * Support requests
  * Custom inquiries

***

**Include in Email Transcript**

* Adds the user’s text response to the email/chat transcript
* Ensures complete conversation history for records and follow-ups

***

#### Message Optimization

**Rephrase Messages**

* Automatically rewords the text question
* Helps reduce repetition in long or multi-step conversations

***

#### Timing Control

**Add Delay**

* Adds a delay before the message is shown
* Example: `1 second`

**Why use this?**

* Makes the chatbot feel more natural
* Improves pacing between consecutive questions

<figure><img src="https://1745791824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAPDb8cKQtGlIAfgHjcsQ%2Fuploads%2FoYnDnumMCWVklTDroVip%2Fimage.png?alt=media&#x26;token=59115019-293c-4ac8-b0db-233bd895c590" alt=""><figcaption></figcaption></figure>

</details>

#### **G. File Upload**

1. Click **“File”** from the chat components list.
2. Customize the file request message in the left customization panel.
3. The user will be able to upload files such as images, documents, or videos.

**Use Case:**\
In case you need the user to upload a **file, image, or video**, this component is used.

<figure><img src="https://1745791824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAPDb8cKQtGlIAfgHjcsQ%2Fuploads%2FXF64pMgSfK1qVsYWyoOJ%2Fimage.png?alt=media&#x26;token=e309fc36-7ad3-407b-943d-643223224dac" alt=""><figcaption><p>File</p></figcaption></figure>

<details>

<summary><strong>Advanced Settings – File Component</strong></summary>

The **Advanced** tab for the **File** component allows you to manage navigation behavior, notifications, file validation feedback, transcripts, and message timing when users upload files.

This component is commonly used for document uploads, screenshots, IDs, resumes, or attachments.

***

#### Navigation Controls

**Allow Back**

* Allows users to return to the previous step
* Useful if users want to change an earlier response before uploading a file

***

**Allow Visitor to Skip**

* Lets users skip the file upload step
* Suitable when file upload is optional

> ⚠️ If skipped, no file will be collected.

***

#### Notifications & Records

**Send Notification for the User Reply**

* Sends a notification when a user uploads a file
* Helpful for:
  * Support teams
  * Verification workflows
  * Document reviews

***

**Include in Email Transcript**

* Includes the uploaded file reference in the email/chat transcript
* Ensures complete conversation records for follow-ups

***

#### File Validation & Errors

**Error Message if User Uploads a Large File**

* Displayed when the uploaded file exceeds the allowed size limit

**Example:**

```
File size limit exceeded. Please upload a file smaller than the allowed limit.
```

**Best practice:** Clearly mention size expectations to reduce retries.

***

#### Message Optimization

**Rephrase Messages**

* Automatically rephrases the file upload prompt
* Helps avoid repetitive wording in longer flows

***

**Rephrase Error Messages**

* Improves the tone of file-related error messages using AI
* Makes system feedback sound more user-friendly

***

#### Timing Control

**Add Delay**

* Adds a delay before the file upload prompt is displayed
* Example: `1 second`

**Why use this?**

* Creates a more natural conversational pace
* Helps users prepare for file upload actions

<figure><img src="https://1745791824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAPDb8cKQtGlIAfgHjcsQ%2Fuploads%2FD13VocQtzfJ6aPK2B0y7%2Fimage.png?alt=media&#x26;token=526f7f46-c621-42df-819c-f16d0abbd2ed" alt=""><figcaption></figcaption></figure>

</details>

#### **H. iFrame**

1. Click **“Iframe”** to add it to your flow.
2. Paste the URL of the webpage you want to embed.
3. Add a title and description so the user understands the content.
4. Add a CTA button label that will open the URL when clicked.

**Use Case:**\
In case you want to display an **external webpage or embedded content** inside the chat, this component is used.

<figure><img src="https://1745791824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAPDb8cKQtGlIAfgHjcsQ%2Fuploads%2F48ybLZSwEQiUP6PdhhPH%2Fimage.png?alt=media&#x26;token=492b5484-f6fd-4b11-bf92-2afc62094a30" alt=""><figcaption><p>iFrame</p></figcaption></figure>

<details>

<summary><strong>Advanced Settings – iFrame Component</strong></summary>

The **iFrame** component allows you to embed an external web page inside the chat flow.\
The **Advanced** tab controls notifications, message optimization, and timing behavior for this embedded content.

This component is ideal for:

* Displaying websites
* Showing dashboards or tools
* Embedding forms, documentation, or interactive pages

***

#### Notifications

**Send Notification for the User Reply**

* Sends a notification when the user interacts with or proceeds after the iFrame step
* Useful when:
  * Tracking engagement with embedded pages
  * Monitoring completion of external steps

***

#### Message Optimization

**Rephrase Messages**

* Automatically rephrases the iFrame prompt using AI
* Helps reduce repetition and improve conversational tone

**Example:**

> “Click the button below to explore web page”\
> may be rephrased for clarity or friendliness.

***

#### Timing Control

**Add Delay**

* Adds a delay before the iFrame message appears
* Default shown: **1 second**

**Why use this?**

* Creates smoother conversational pacing
* Helps users transition between steps before loading embedded content

***

#### Settings Summary

| Setting           | Description                                |
| ----------------- | ------------------------------------------ |
| Send Notification | Alerts you when the user reaches this step |
| Rephrase Messages | Improves wording automatically             |
| Delay             | Controls when the iFrame appears           |

***

<figure><img src="https://1745791824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAPDb8cKQtGlIAfgHjcsQ%2Fuploads%2Fy74x8M3AP2pZhlJ7bOm7%2Fimage.png?alt=media&#x26;token=2d64121c-c5bb-4e75-a417-c8ed12498b33" alt=""><figcaption></figcaption></figure>

</details>

#### **I. Appointment**

The **Appointment component** allows you to let users book appointments directly through the chatbot by connecting it with your calendar provider (such as Google Calendar). It automates date selection, time slot availability, and event creation, making appointment scheduling seamless for both users and businesses.

***

### What is the Appointment Component?

The Appointment component enables your chatbot to:

* Show available dates and time slots to users
* Book appointments in real time
* Create events directly in your connected calendar
* Collect attendee details automatically (Name, Email, Phone)

This component is ideal for appointment booking, consultations, demos, service scheduling, and support calls.

***

### Prerequisites

Before using the Appointment component, ensure that:

* **Name, Email, and Phone Number components** are added **before** the Appointment component in the chat flow
* A supported calendar provider (e.g., **Google Calendar**) is available
* You have access to the calendar account you want to connect

***

### How to Add the Appointment Component

1. Go to **Bots → Select your Bot**
2. Open **Edit Chat Flow**
3. From **Add Chat Component**, select **Appointment (New)**
4. Drag and drop the component into your chat flow at the required position

***

### Step 1: Connect the Calendar (Connect Tab)

Click on Add Account button if your account is not connected and if your account is already existing then you can enter the following details and click on Update and next button.

#### Calendar Provider

* Select your preferred calendar provider
  * Google Calendar
  * SimplyBook
  * Acuity Scheduling
  * GoHighLevel (based on availability)

<figure><img src="https://1745791824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAPDb8cKQtGlIAfgHjcsQ%2Fuploads%2FCZpiAeEODizJHPW6FRd4%2Fimage.png?alt=media&#x26;token=cd3b2aa0-acf6-452b-a954-0b918cc502d8" alt=""><figcaption></figcaption></figure>

#### Action Type

* Select **Create Event, Reschedule or Cancel Event** to automatically add appointments to your calendar.

<figure><img src="https://1745791824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAPDb8cKQtGlIAfgHjcsQ%2Fuploads%2FLKvUXDZCvtf8FappXlgg%2Fimage.png?alt=media&#x26;token=8b20c355-db3f-4884-871d-c81535551eb6" alt=""><figcaption></figcaption></figure>

#### Calendar Account

* Click **Add Account**
* Select the Account
* Authenticate and connect your calendar
* Select the connected account from the dropdown

Click **Update and Next** to proceed.

<figure><img src="https://1745791824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAPDb8cKQtGlIAfgHjcsQ%2Fuploads%2FNWwE1Aqnwv5NzWjDRBrF%2Fimage.png?alt=media&#x26;token=e95aa8e4-5200-489e-9136-e6f3f319ee44" alt=""><figcaption></figcaption></figure>

***

### Step 2: Configure Appointment Details (Configure Tab)

#### Basic Details

* **Appointment Name**\
  A label for internal identification (e.g., “New Appointment”)
* **Appointment Slot Duration**\
  Define how long each appointment should be (e.g., 15, 30, 60 minutes)
* **Future Days Availability**\
  Specify how many days in advance users can book appointments
* **Availability Schedule**\
  Select an existing schedule or click **Add New Schedule** to define:
  * Working days
  * Working hours
  * Break times
* **Time Zone**\
  Select your correct time zone (e.g., Asia/Kolkata)

> ⚠️ Make sure Name, Email, and Phone components are added before this step.

<figure><img src="https://1745791824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAPDb8cKQtGlIAfgHjcsQ%2Fuploads%2FkjqH0V1OngyDCMgijOTv%2Fimage.png?alt=media&#x26;token=66943820-b7dc-4087-8071-58b3dd34e3b6" alt=""><figcaption></figcaption></figure>

***

### Message Text Customisation

You can customize all user-facing messages:

* **Message Text for Date Selection**\
  Example: “Please select a date for your appointment.”
* **Message Text for Slot Selection**\
  Example: “Now choose a suitable time slot from the options below.”
* **Message for Appointment Success**\
  Example: “Your appointment has been successfully scheduled.”
* **Message for Appointment Failed**\
  Example: “Sorry, we couldn’t schedule your appointment. Please try again.”
* **Message for Slot Unavailable**\
  Example: “This slot is no longer available. Please select a different time.”
* **Option Text for Showing More Slots**\
  Example: “View more”

<figure><img src="https://1745791824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAPDb8cKQtGlIAfgHjcsQ%2Fuploads%2FlCa6b7gF1sFX69NtZX0a%2Fimage.png?alt=media&#x26;token=528bcf2b-c669-4bc6-be53-fd180ddb0abd" alt=""><figcaption></figcaption></figure>

***

### Data Mapping

#### Primary Attendee

* Map the attendee details to a chatbot attribute
* Commonly mapped to **Email**
* Ensures the event is created with correct user details in the calendar

<figure><img src="https://1745791824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAPDb8cKQtGlIAfgHjcsQ%2Fuploads%2F8akXXF0oOt2xgx7wof6F%2Fimage.png?alt=media&#x26;token=58cd2104-5517-4c2a-bc48-23d7b131472c" alt=""><figcaption></figcaption></figure>

***

### Advanced Options

Using Advanced Options, you can:

* Redirect users to the next message after booking
* Control fallback behavior if booking fails
* Customize flow transitions

***

### How It Works for End Users

1. User interacts with the chatbot
2. Bot asks the user to select a date
3. Available time slots are displayed
4. User selects a time slot
5. Appointment is booked instantly
6. Event is created in the connected calendar
7. Confirmation message is shown to the user

***

### Use Cases

* Doctor or clinic appointment booking
* Sales demo scheduling
* Consultation calls
* Service bookings
* Interview or meeting scheduling

***

#### **J. Location**

1. Click **“Location”** from the available components.
2. Enter a message requesting the user to share their location.

**Use Case:**\
In case you want to collect the user’s **location as text**, this component is used.

<figure><img src="https://1745791824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAPDb8cKQtGlIAfgHjcsQ%2Fuploads%2FoONPRlKnMXXR7381Kj3C%2Fimage.png?alt=media&#x26;token=f51820f4-3515-4ec1-828b-390198eb50e7" alt=""><figcaption><p>Location</p></figcaption></figure>

<details>

<summary><strong>Advanced Settings – Location Component</strong></summary>

The **Location** component allows users to share their geographic location during a chat conversation.\
The **Advanced** tab controls notifications, transcript inclusion, and message timing for this step.

This component is commonly used for:

* Capturing service locations
* Finding nearby branches or stores
* Scheduling on-site visits
* Verifying user regions

***

#### Navigation Controls

**Allow Back**

* Allows users to return to the previous step in the chat flow
* Useful if users want to correct earlier inputs

**Allow Visitor to Skip**

* Lets users skip the location request
* Recommended if location is optional rather than required

***

#### Notifications

**Send Notification for the User Reply**

* Sends a notification when the user shares their location
* Useful for:
  * Alerting support or sales teams
  * Triggering location-based workflows

**Recommended:** ✅ Enabled when location is critical

***

#### Data Handling

**Include in Leads**

* Saves the user’s location as part of the lead record
* Useful for CRM enrichment and segmentation

**Include in Email Transcript**

* Includes the shared location in email transcripts
* Helps internal teams reference user context later

***

#### Message Optimization

**Rephrase Messages**

* Automatically improves the wording of the location prompt using AI
* Helps maintain a friendly and conversational tone

***

#### Timing Control

**Add Delay**

* Adds a delay before the location request is displayed
* Default shown: **1 second**

**Why use this?**

* Creates a smoother conversational experience
* Gives users time to process the previous step

***

#### Settings Summary

| Setting                     | Description                    |
| --------------------------- | ------------------------------ |
| Allow Back                  | Enables backward navigation    |
| Allow Visitor to Skip       | Makes location optional        |
| Send Notification           | Alerts when location is shared |
| Include in Leads            | Stores location in lead data   |
| Include in Email Transcript | Adds location to email logs    |
| Rephrase Messages           | Improves prompt wording        |
| Delay                       | Controls message timing        |

<figure><img src="https://1745791824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAPDb8cKQtGlIAfgHjcsQ%2Fuploads%2FMWyA0EqqCaFQBgcZNav1%2Fimage.png?alt=media&#x26;token=6209d6c7-a910-4345-984c-646d72d21823" alt=""><figcaption></figcaption></figure>

</details>

***

#### **K. Date/Time**

1. Add the **“Date/Time”** input component.
2. Enter a message requesting the user to choose a date.
3. If required, enable the checkbox to allow time selection.

**Use Case:**\
In case you need the user to select a **date or date with time**, this component is used.

<figure><img src="https://1745791824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAPDb8cKQtGlIAfgHjcsQ%2Fuploads%2FfHzgzmeoo7WgDRsu2toT%2Fimage.png?alt=media&#x26;token=a708b974-cd0c-43ad-8b58-45fa991fd9c9" alt=""><figcaption><p>Date-Time</p></figcaption></figure>

<details>

<summary><strong>Advanced Settings – Date/Time Component</strong></summary>

The **Date/Time** component allows users to select a specific **date or time** during a conversation.\
The **Advanced** tab controls navigation, notifications, transcripts, and message timing for this component.

This component is commonly used for:

* Booking requests
* Preferred contact dates
* Scheduling follow-ups
* Availability collection

***

#### Navigation Controls

**Allow Back**

* Allows users to go back to the previous step
* Useful if users want to change earlier answers

**Allow Visitor to Skip**

* Lets users skip the date/time selection
* Recommended only if date/time is optional

***

#### Notifications

**Send Notification for the User Reply**

* Sends a notification when the user selects a date or time
* Helpful for:
  * Sales or support alerts
  * Appointment workflows
  * Admin follow-ups

**Recommended:** ✅ Enabled for scheduling use cases

***

#### Message Optimization

**Rephrase Messages**

* Uses AI to improve the wording of the date/time prompt
* Helps maintain a natural, conversational tone

***

#### Data Handling

**Include in Email Transcript**

* Includes the selected date/time in the email transcript
* Useful for internal records and follow-ups

***

#### Timing Control

**Add Delay**

* Adds a delay before the date/time message appears
* Default shown: **1 second**

**Why use this?**

* Improves conversational flow
* Gives users a short pause before selection

***

#### Settings Summary

| Setting                     | Description                       |
| --------------------------- | --------------------------------- |
| Allow Back                  | Enables backward navigation       |
| Allow Visitor to Skip       | Makes date/time optional          |
| Send Notification           | Alerts when date/time is selected |
| Rephrase Messages           | Improves prompt wording           |
| Include in Email Transcript | Adds date/time to email logs      |
| Delay                       | Controls message timing           |

<figure><img src="https://1745791824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAPDb8cKQtGlIAfgHjcsQ%2Fuploads%2Fe6Hy8yFMKnlQBULHpQ0D%2Fimage.png?alt=media&#x26;token=e3754841-d261-41ca-8dbd-040b6cf9f4d3" alt=""><figcaption></figcaption></figure>

</details>

#### **L. Rating**

1. Select the **“Rating”** component.
2. Add the message text to request user feedback.
3. Configure up to 5 rating-level labels for user selection.

**Use Case:**\
In case you want users to **rate their experience**, this component is used.

<figure><img src="https://1745791824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAPDb8cKQtGlIAfgHjcsQ%2Fuploads%2FdDHNoXHsNJno8DregoY4%2Fimage.png?alt=media&#x26;token=8c8ab06e-253e-4c20-b3a8-52ca875e6423" alt=""><figcaption><p>Rating</p></figcaption></figure>

<details>

<summary><strong>Advanced Settings – Rating Component</strong></summary>

The **Rating** component allows users to rate their experience using a visual scale (for example, stars or emojis).\
The **Advanced** tab controls how the response is logged, timed, and optimized.

This component is commonly used for:

* Customer feedback
* Experience surveys
* Post-interaction ratings
* Service quality measurement

***

#### Message Optimization

**Rephrase Messages**

* Uses AI to automatically improve the wording of the rating question
* Helps make feedback prompts sound more natural and engaging

**Example:**

> “How was your experience with us?”\
> may be rephrased for clarity or friendliness.

***

#### Data Handling

**Include in Email Transcript**

* Adds the user’s rating to the email transcript
* Useful for:
  * Support reviews
  * Internal reporting
  * Feedback audits

**Recommended:** ✅ Enable this for all feedback flows

***

#### Timing Control

**Add Delay**

* Adds a delay before the rating question is displayed
* Default shown: **1 second**

**Why use this?**

* Gives users a brief pause after completing previous steps
* Improves conversational flow before asking for feedback

***

#### Settings Summary

| Setting                     | Description                      |
| --------------------------- | -------------------------------- |
| Rephrase Messages           | Improves rating question wording |
| Include in Email Transcript | Logs rating in email             |
| Delay                       | Controls when the rating appears |

<figure><img src="https://1745791824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAPDb8cKQtGlIAfgHjcsQ%2Fuploads%2FBsL4UgbdvbTbV1qkg80f%2Fimage.png?alt=media&#x26;token=ec19727d-749e-466e-bbd3-d4ce49d5e28e" alt=""><figcaption></figcaption></figure>

</details>

#### **M. Range**

1. Click **“Range”** to add the slider input.
2. Enter the instruction or request message for the user.
3. Add prefix and suffix units (e.g., $, %, years).
4. Select the starting and ending numeric values.
5. Set the step value for slider increments.

**Use Case:**\
In case you want users to select a value **within a specific range**, this component is used.

<figure><img src="https://1745791824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAPDb8cKQtGlIAfgHjcsQ%2Fuploads%2FclwRHd0oxJMo3RKf5tZv%2Fimage.png?alt=media&#x26;token=7703e040-b690-425e-b4d3-adee39e3daa5" alt=""><figcaption><p>Range</p></figcaption></figure>

<details>

<summary><strong>Advanced Settings – Range Component</strong></summary>

The **Range** component allows users to select a value within a defined numerical range (for example, 1–10 or 0–100) using a slider-style input.

The **Advanced** tab controls how the selected range value is optimized, timed, and recorded for reporting and follow-ups.

***

#### Common Use Cases

The Range component is commonly used for:

* Satisfaction or experience scoring
* Feedback intensity measurement (e.g., 1–10 scale)
* Preference or likelihood selection
* Service quality evaluation

***

### Message Optimization

#### Rephrase Messages

Uses AI to automatically improve the wording of the range question.

**Benefits:**

* Makes the question sound more natural and user-friendly
* Improves clarity and engagement
* Helps users understand what the scale represents

**Example:**

> *“Select a range”*\
> may be rephrased to better explain what the scale measures.

***

### Data Handling

#### Include in Email Transcript

Adds the user’s selected range value to the email transcript generated after the conversation.

**Useful for:**

* Feedback analysis
* Internal reporting
* Quality and performance reviews

> **Recommended:** ✅ Enable this for all feedback and scoring flows.

***

### Timing Control

#### Add Delay

Adds a delay before the range question is displayed to the user.

* **Default:** 1 second

**Why use this?**

* Gives users a short pause after the previous step
* Creates a smoother conversational experience
* Helps prepare users for providing a numerical response

***

### Settings Summary

| Setting                     | Description                                    |
| --------------------------- | ---------------------------------------------- |
| Rephrase Messages           | Improves range question wording using AI       |
| Include in Email Transcript | Logs the selected range value in email records |
| Delay                       | Controls when the range input appears          |

<figure><img src="https://1745791824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAPDb8cKQtGlIAfgHjcsQ%2Fuploads%2FTyY7Y2IJpL3jeP5DHEXf%2Fimage.png?alt=media&#x26;token=4e07b208-23f1-41c0-b18d-b9bd68141a87" alt=""><figcaption></figcaption></figure>

</details>

#### **N. Numeric Input**

1. Click **“Numeric Input.”**
2. Customize the message to request a numerical response.

**Use Case:**\
In case you want users to enter a **numeric value**, this component is used.

<figure><img src="https://1745791824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAPDb8cKQtGlIAfgHjcsQ%2Fuploads%2FG5cw0QH0IwfgCfjf4WYO%2Fimage.png?alt=media&#x26;token=f19b6bfe-8290-46db-89f6-799794024708" alt=""><figcaption><p>Numerical Input</p></figcaption></figure>

<details>

<summary><strong>Advanced Settings – Numeric Input Component</strong></summary>

The **Numeric Input** component allows users to enter a numerical value. The **Advanced** tab controls how the response is validated, recorded, and presented in the conversation flow.

***

#### Common Use Cases

The Numeric Input component is commonly used for:

* Collecting phone numbers or IDs
* Survey questions requiring numeric answers
* Quantitative feedback or scoring
* Order quantities or payment inputs

***

### Message Optimization

#### Rephrase Messages

Automatically rephrases the numeric input prompt for clarity and friendliness.

**Benefits:**

* Makes instructions more understandable
* Reduces invalid or incorrect responses

***

#### Error Messages

Customizes the message shown if the user enters invalid input.

**Example from UI:**

> *“Good one! Don’t try and trick me with an invalid input”*

**Tip:** Keep error messages friendly but clear to guide the user toward valid input.

***

### Data Handling

#### Include in Email Transcript

Includes the user’s numeric response in the email transcript.

**Useful for:**

* Support follow-ups
* Internal reporting
* Data audits

> **Recommended:** ✅ Enable this for all numeric input flows where the data is important.

***

### Timing Control

#### Add Delay

Adds a delay before the numeric input is displayed.

* **Default:** 1 second

**Why use this?**

* Creates a natural pause in the conversation
* Gives users time to read prior messages

***

### Settings Summary

| Setting                     | Description                                      |
| --------------------------- | ------------------------------------------------ |
| Rephrase Messages           | Improves numeric input prompt wording            |
| Rephrase Error Messages     | Customizes guidance if user enters invalid input |
| Include in Email Transcript | Logs the numeric input in email records          |
| Delay                       | Controls when the numeric input appears          |

<figure><img src="https://1745791824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAPDb8cKQtGlIAfgHjcsQ%2Fuploads%2FKAb5hwdpbkp47RZ1JW8q%2Fimage.png?alt=media&#x26;token=06cd5dfc-591c-4a9f-aa6e-a22cafe511c4" alt=""><figcaption></figcaption></figure>

</details>

#### **O.** [**Smart Question**](https://www.youtube.com/embed/EWQ7nI9GtwQ?si=8uMgWoGmVhLKmddX)

1. Click **“Smart Question.”**
2. Enter the question text the user will respond to.
3. Add the keywords that will determine the response logic.
4. Select the match type (Exact Match or Keyword Contained).
5. Map each keyword to the next chat component.

**Use Case:**\
In case the next flow depends on the user’s **textual answer**, this component is used.

<figure><img src="https://1745791824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAPDb8cKQtGlIAfgHjcsQ%2Fuploads%2FMROeUSYRWqlrvidZKVBS%2Fimage.png?alt=media&#x26;token=9228dc7e-5906-455b-9a9e-bf27e8b84c88" alt=""><figcaption><p>Smart Questions</p></figcaption></figure>

<details>

<summary><strong>Advanced Settings (Smart Question)</strong></summary>

The **Advanced** tab allows you to control how users interact with a Smart Question and how their responses are handled. These options help improve conversation flow, data quality, and user experience.

***

#### Allow Back

When enabled, users can go back to the previous step in the chat flow.

**Use this when:**

* You want users to correct a mistake
* The question is part of a longer form or data collection flow

**Recommended for:** Forms, lead collection, surveys

***

#### Allow Visitor to Skip

Allows users to skip this Smart Question without providing an answer.

**Use this when:**

* The question is optional
* You don’t want to block the conversation if the user doesn’t respond

**Not recommended for:** Mandatory fields like email, phone number, or name

***

#### Rephrase Messages

When enabled, the chatbot can automatically rephrase the question if the user doesn’t respond clearly or provides an unexpected input.

**Benefits:**

* Improves understanding
* Makes the conversation feel more natural
* Reduces user confusion

> 💡 Best used for open-ended Smart Questions.

***

#### Include in Email Transcript

When enabled, the user’s response to this Smart Question is included in the email transcript sent to admins or team members.

**Use this when:**

* You want to review user answers later
* The response is important for follow-ups or records

***

#### Add Delay Before Message

Set a delay (in seconds) before the Smart Question is displayed.

**Why use this?**

* Makes the chatbot feel more human
* Prevents messages from appearing too quickly
* Improves readability in multi-step flows

Example:

* `1–2 seconds` → Natural conversation pacing
* `3+ seconds` → Emphasis or pause before important questions

<figure><img src="https://1745791824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAPDb8cKQtGlIAfgHjcsQ%2Fuploads%2FuTqunKaqnO0vzEoLrYYc%2Fimage.png?alt=media&#x26;token=4358d3c4-d571-464b-b37f-19c10e433493" alt=""><figcaption></figcaption></figure>

</details>

#### **P. Redirect**

1. Add the **“Redirect”** component to switch into another flow.
2. Enter an optional message that will be shown before redirecting.
3. Select the destination flow from the dropdown.

**Use Case:**\
In case you want to **move the user to another pre-built chat flow**, this component is used.

<figure><img src="https://1745791824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAPDb8cKQtGlIAfgHjcsQ%2Fuploads%2Ftr8LQxaPTUTfSdFllRcd%2Fimage.png?alt=media&#x26;token=45a4a2d7-c070-4b2c-8d45-be9f8ff95c2c" alt=""><figcaption><p>Redirect</p></figcaption></figure>

<details>

<summary><strong>Advanced Settings (Redirect)</strong></summary>

The **Advanced** tab for the Redirect component lets you control navigation behavior and conversation pacing when sending users to another chat flow.

These settings help you maintain smooth transitions and prevent user confusion during flow changes.

***

#### Allow Back

When enabled, users can return to the previous step before the redirect occurs.

**Use this when:**

* Users may want to review or change their input
* The redirect is triggered after a decision or form step

**Not recommended when:**

* Redirecting users to a final or confirmation flow
* Redirecting to sensitive or restricted flows

***

#### Allow Visitor to Skip

Allows users to skip the redirect step and continue the current flow.

**Use this when:**

* The redirect is optional
* You are offering an alternate path or suggestion

**Avoid enabling if:**

* The redirect is mandatory for completing the conversation
* The flow logic depends on entering the next flow

***

#### Add Delay Before Redirect

Adds a short delay (in seconds) before the redirect action is triggered.

**Why this matters:**

* Gives users time to read the message
* Makes transitions feel natural
* Prevents abrupt flow changes

**Best practice:**

* `1–2 seconds` → Smooth, natural transition
* `3+ seconds` → Emphasis before important redirects

***

### Best Practices for Redirect (Advanced)

* Keep delays short to avoid frustration
* Disable **Skip** for required redirects
* Use **Allow Back** when redirects follow user input
* Add a clear message before redirecting users to another flow

<figure><img src="https://1745791824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAPDb8cKQtGlIAfgHjcsQ%2Fuploads%2FgQfpp2fpmqwk1uwczWJl%2Fimage.png?alt=media&#x26;token=6d63fdae-ded9-44df-8b2c-f04389e96cf6" alt=""><figcaption></figcaption></figure>

</details>

#### **Q. API**

1. Click **“API”** to integrate a third-party service.
2. Select or configure the API.
3. Add response handling for **200 (Success)** and **400 (Error)** states.
4. Map each response type to the next step in the flow.

**Use Case:**\
In case you want to **connect a third-party system** within the chat flow, this component is used.

<figure><img src="https://1745791824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAPDb8cKQtGlIAfgHjcsQ%2Fuploads%2F98ZRo66EyXHoXltyDEso%2Fimage.png?alt=media&#x26;token=b907a6ca-f478-427e-a82f-733ea55933dd" alt=""><figcaption><p>API</p></figcaption></figure>

<details>

<summary><strong>Advanced Settings (API)</strong></summary>

The **Advanced** tab for the API component controls message timing and provides network details required for secure API communication. These settings are especially useful when integrating with protected or internal systems.

***

#### Add Delay Before Message

Adds a delay (in seconds) before the API step is executed or displayed in the chat flow.

**Why use this?**

* Prevents abrupt transitions
* Gives users time to read the previous message
* Makes API-triggered responses feel more natural

**Best practices:**

* `1–2 seconds` → Smooth conversational pacing
* `3+ seconds` → Pause before critical actions (payments, validations)

***

#### IP Whitelisting

If your API endpoint requires IP whitelisting, you must allow requests from the following IP address:

```
3.138.92.87
```

**Use this when:**

* Your server blocks unknown outbound requests
* Your API is protected by firewall or security rules
* You are integrating with enterprise or internal systems

> 💡 Make sure this IP is added to your server’s allowlist to avoid failed API calls.

***

### How API Response Codes Work

The API component can route the conversation based on response status codes:

* **200** → Success flow
* **400** → Error or validation failure flow
* **Others** → Fallback or exception handling flow

This allows you to design different chatbot paths based on real-time API results.

***

### Best Practices for API (Advanced)

* Always whitelist the BotPenguin IP before testing
* Add a short delay for better UX
* Handle **error (400)** and **others** paths gracefully
* Log API responses when debugging complex flows

<figure><img src="https://1745791824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAPDb8cKQtGlIAfgHjcsQ%2Fuploads%2FGyaaL1sQOvTKwfER6i0F%2Fimage.png?alt=media&#x26;token=8e17d34b-3704-431d-ba04-67f728bcda3d" alt=""><figcaption></figcaption></figure>

</details>

***

### FAQs&#x20;

<details>

<summary>Will the flow continue if the user doesn't respond to a required question?</summary>

No. The flow will remain on the same step until the required input is provided. Required components cannot be skipped and the conversation will not advance until the user supplies the requested information.

</details>

<details>

<summary>Can I reorder or delete a component after adding it to the flow?</summary>

Yes. You can drag components to reorder them or delete them if they are no longer needed. Before deleting, verify there are no downstream mappings or dependencies that will break as a result.

</details>

<details>

<summary>How many options can I add to Single Choice or Multiple Choice components?</summary>

You can add up to five (5) options in both Single Choice and Multiple Choice components.

</details>

<details>

<summary>Can the API component handle authentication headers and custom body parameters?</summary>

Yes. The API component supports custom headers, authentication keys (for example Bearer tokens or API keys), and configurable request body structures. Map response codes (e.g., 200, 400) to the appropriate next steps in the flow.

</details>

<details>

<summary>What happens if a user uploads an unsupported file format?</summary>

If the uploaded file format is unsupported, the bot should return a clear validation message to the user explaining accepted file types and ask for a retry. Implement server-side validation and surface a friendly error message for unsupported formats.

</details>

<details>

<summary>How do Smart Questions determine the next component?</summary>

Smart Questions use keyword-based logic. Configure one or more keywords and select a match type (Exact Match or Contains). Each keyword is mapped to a target component; when the user's response matches a keyword according to the selected match type, the mapped component is triggered.

</details>

<details>

<summary>What does Redirect do and when should I use it?</summary>

Redirect transfers the conversation to another pre-built flow within the same bot. Use Redirect to modularize journeys, reuse common sub-flows (like verification or payment), or to branch users into context-specific conversations.

</details>

<details>

<summary>How do I contact support if I need help with a chat flow?</summary>

If you still have questions for our team, write to us at **<support@botpenguin.com>**. We will respond within 48 hours.

</details>

If you still have questions for our team, write to us at [**support@botpenguin.com**](mailto:support@botpenguin.com). We’ll get back to you within 48 hours.
