# Custom

1. Custom Object can be used in the following scenarios:
   1. Objects which are dynamic in the web page (either position/visible text changes during execution).
   2. If object-specific Actions are not supported for the operations.
2. Custom object does not require scraping. These Actions can be used for all valid HTML tags (Textbox, Button, Link, Image, Div, Span), User should provide the appropriate tag name in the input: "Object Type\_Input".
3. **verifyExists** step is required before using @custom functionality. (This indicates the starting point for execution of custom Actions.)

**Input Syntax**: \<Object Type\_Input>; \<Visible Text>; \<index>; \<abs (optional)>

{% hint style="info" %}
**Note**:

1. If visible text is unique then the index should be 0 (default index). (For example: link;Click Next;0) This performs the action on the link that has unique visible text (Click Next).
2. In AUT, if there are multiple matches present for the visible text or if the visible text is not given in the input, then the user should provide index numbers appropriately.
   * Example 1: link;Next;2&#x20;
     * This action performs the 3rd link from the reference object that has the visible text (Next).
   * Example 2: link;;2
     * &#x20;This action performs on the 3rd link from the reference object.
3. In AUT, if there are multiple occurrences of the same text (For example: if input visible text given is 1, and there are other text fields containing 11, 21, 31, and so on.) and the need is to find the exact text specified, then the user has to provide an additional option of ‘abs’ as the last argument.
   * Ex: link;1;0;abs
   * Button;Submit Form;0;abs
     {% endhint %}

**Input Syntax Table**:

| **S.No** | **Object Type**                                              | **Object Type\_Input**                                 | **Visible Text**                                                                                                           |
| -------- | ------------------------------------------------------------ | ------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------- |
| 1        | Radiobutton                                                  | radio;; \<index>; \<abs (optional)>                    | Empty                                                                                                                      |
| 2        | Checkbox                                                     | checkbox;; \<index>; \<abs (optional)>                 | Empty                                                                                                                      |
| 3        | Dropdown                                                     | dropdown; \<visibleText>; \<index>; \<abs (optional)>  | Should be the value selected in the dropdown by default/empty. **Note:** All single selection objects come under dropdown. |
| 4        | Listbox                                                      | listbox; \<visibleText>; \<index>; \<abs (optional)>   | Should be the value selected in the list by default/empty. **Note**: All single selection objects come under the list.     |
| 5.1      | Table cell, Table                                            | tablecell; \<visibleText>; \<index>; \<abs (optional)> | Optional                                                                                                                   |
| 5.2      | Table cell, Table                                            | table;; \<index>; \<abs (optional)>                    | Empty                                                                                                                      |
| 6        | Textbox/search, email, password, number, url, file, textarea | textbox; \<visibleText>; \<index>; \<abs (optional)>   | Optional                                                                                                                   |
| 7        | Link                                                         | link; \<visibleText>; \<index>; \<abs (optional)>      | Tool tip/name of the link                                                                                                  |
| 8        | Image                                                        | img; \<visibleText>; \<index>; \<abs (optional)>       | Tool tip/optional                                                                                                          |
| 9        | Button, submit, reset                                        | button; \<visibleText>; \<index>; \<abs (optional)>    | Button name                                                                                                                |
| 10       | Valid html tags (Eg: span, div)                              | \<tag>; \<visibleText>; \<index>; \<abs (optional)>    | Optional                                                                                                                   |
| 11       | Grid                                                         | grid, \<visibleText>, \<index>; \<abs (optional)>      | Empty                                                                                                                      |


---

# Agent Instructions: 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:

```
GET https://docs.avoautomation.com/avo-assure/actions/web/custom.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
