> For the complete documentation index, see [llms.txt](https://docs.hablla.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.hablla.com/hablla-docs-en/automation-flows/all-components/telegram-components/telegram-question.md).

# Telegram Question

### Overview

The Telegram Question Component (identified in the interface as `telegram_question`) is an outbound interaction node focused on data collection and engagement. Its main function is to trigger a question to the user within the Telegram chat and keep the automation in a waiting state (*standby*) until a valid response occurs. It supports both traditional text input collection and button-based interactions, adapting to the app's native layout rules.

### Configuration Parameters

The block's configuration manages the message display formats and the rules for persisting responses in the system:

* Type: Dropdown menu that defines the component's input mechanics:
  * `Text`: Waits for a response typed manually by the user.
  * `Interactive` (or `Interactive`): Enables sending clickable buttons integrated into the message.
* Message: Text field for entering the wording of the question that will be sent to the contact in the chat.
* Has Variable (Toggle Switch): Enables storing the customer's answer in the flow's internal memory.
* Answer Target: Optional dropdown to map the received data directly to a standard contact profile field in the CRM (ex: *Name*, *Email*, *Phone*).
* buttons\_type \* (\* Required if Interactive): Menu that selects the button rendering format according to Telegram layout standards:
  * `Inline button`: Creates buttons attached directly below the message bubble (*Inline Keyboards*).
  * `Keyboard button`: Temporarily replaces the user's default keyboard in the app with blocks of quick reply buttons (*Reply Keyboards*).
* Multiple Outputs (Toggle Switch): When enabled, creates a physical branch in the flow editor for each button added, allowing custom paths for each choice.

### Visual Builder

The builder interface adapts its fields conditionally according to the option chosen in the parameter *Type*:

* Modular Layout for Interactive Mode: Selecting the mode `Interactive` unlocks the required parameter `buttons_type`. The panel expands vertically to display the repeaters where the admin enters the text labels for each button and decides the physical layout of the response grid.
* Asterisk Validation: The button format selector includes the asterisk indicator (`*`), signaling to the administrator that the node will not be validated or saved in an incomplete way if the native buttons are not created.

### Special Operators

The logical properties of this component handle Telegram native callbacks and tag interpolation:

* Independent Callback Handling (`Inline` vs `Reply`): The engine differentiates the click logic:
  * When using `Inline button`, the click triggers a *callback\_query* event in the background, keeping the chat history clean.
  * When using `Keyboard button`, the platform interprets the click as sending a text message containing the name of the button chosen by the user.
* Variable Interpolation: The field *Message* is fully compatible with double-brace syntax `{{...}}`, allowing the question to be customized based on data collected in previous nodes (ex: "Understood, `{{name}}`! What is your level of satisfaction?").

### Practical Examples

The table below shows traditional use cases for this component in the Telegram flow:

| **Selected Type** | **Button Type (buttons\_type)** | **Message Text**                           | **Configured Options / Buttons** | **Practical Use Case**                                                                                                      |
| ----------------- | ------------------------------- | ------------------------------------------ | -------------------------------- | --------------------------------------------------------------------------------------------------------------------------- |
| `Text`            | *None*                          | "Please enter your corporate email:"       | *None (Free text input)*         | Capture the contact's email in writing to validate leads in a sales pipeline.                                               |
| `Interactive`     | `Inline button`                 | "Would you like to receive order updates?" | \[Yes], \[No]                    | Offer a quick confirmation via inline buttons attached to the warning bubble itself, generating clean clicks on the screen. |
| `Interactive`     | `Keyboard button`               | "Select the service department:"           | \[Support], \[Finance], \[Sales] | Replace the user's default keyboard in the app with large triage menu options, making it easier to tap on mobile.           |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.hablla.com/hablla-docs-en/automation-flows/all-components/telegram-components/telegram-question.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
