> For the complete documentation index, see [llms.txt](https://docs.cebodtelecom.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.cebodtelecom.com/api/didml-reference-doc/didml-verbs/less-than-gather-greater-than.md).

# \<gather>

**Role:** \<gather>, in simple words *collects the user response* as the user makes their choice by pressing the keys on the dial pad.

**Use:** The main use of \<gather> is to collect the digits as the user enters them from their phone. Some of the examples stating how gather can be used are :-

* *IVR –* When building an IVR for your company \<gather> collects the digits that the user enters to direct the call to correct department/individual.
* Conference – When joining a conference caller enters the “pin”. This pin is collected by \<gather> for validating the user.
* *Authentication –* Yet another way of using \<gather> for security authentication when accessing personal or secured information over phone.

While there are no limitation on where \<gather> can be used, there definitely is requirement or set of attributes to use with \<gather>. Below is a list of attributes to be used with \<gather>, each attribute has a specific function and can use certain values.

### Attributes

| <p><strong>Attribute</strong><br></p> | <p><strong>Value</strong><br></p> | <p><strong>Default</strong><br></p> |
| ------------------------------------- | --------------------------------- | ----------------------------------- |
| action                                | Callback URL                      | none                                |
| Method                                | POST/GET                          | POST                                |
| minDigits                             | 1-200                             | 1                                   |
| numDigits                             | 1-200                             | 20                                  |
| Timeout (in seconds)                  | Integer                           | 4 Seconds                           |
| Tries                                 | 1-10                              | 3                                   |
| Audiotype                             | text to speech (tts)              | none                                |
| finishOnKey                           | 0-9 ; \* ;  #                     | #                                   |

#### Here is an example of how \<gather> is used within code.

```
<?xml version="1.0" encoding="UTF-8"?> 
<Response>
     <Gather timeout="10" finishOnKey="*" action="handle-key.php">
         <Say>Please enter the Extension number you want to dial.</Say>
     </Gather>
 </Response>
```

Once the user enters the response. It will call <http://yourserver/handle-key.php>

```
<?php
echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"; 
echo "<Response><Say>You entered ".$_REQUEST['Digits']. "</Say></Response>"; ?>
```


---

# 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.cebodtelecom.com/api/didml-reference-doc/didml-verbs/less-than-gather-greater-than.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.
