> For the complete documentation index, see [llms.txt](https://docs.avoautomation.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.avoautomation.com/avo-assure/actions/web/custom-1/send-keystrokes-securely.md).

# Send Keystrokes Securely

This is a pre-built Action located under the **Custom element.** The functionality of this action in Avo Assure to accept an encrypted text and pass the decrypted value (text) to the application, and save the result in dynamic variable.

{% hint style="info" %}
The **Send Keystrokes Securely** action works only when the **VerifyExists** action is executed in a preceding step.
{% endhint %}

## **Syntax**

**Input Value**: `<ObjectType>;<VisibleText(optional)>;<Index>;<Encrypted Text>;<abs(optional)>`&#x20;

| Argument                               | Description                                                                                                                                            |
| -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
| <p>\<ObjectType><br>(Required)</p>     | Provide the object type which you want to preform the send Keystrokes operation. (e.g., text box)                                                      |
| <p>\<VisibleText><br>(Optional)</p>    | Provide the visible text associated with the object.                                                                                                   |
| <p>\<Index><br>(Required)</p>          | <p>Provide the position of the object you want to identify based on its sequence in the application.<br><strong>Note</strong>: Index start from 0.</p> |
| <p>\<Encrypted text><br>(Required)</p> | Provide the encrypted keystrokes which you want to write in the text box.                                                                              |
| <p>\<abs><br>(Optional)</p>            | Provide the absolute XPath of the object you want to identify for this operation.                                                                      |

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

* If the last argument **abs** is defined, the action executes using absolute identification based on the specified absolute XPath provided in the input.
* To skip an optional input value, use an extra semicolon (;).
* The Keystrokes must be encrypted using the AES encryption method. For more information, [click here](/avo-assure/utilities/encryption.md).

{% endhint %}

**Output Value**: `<Dynamic Variable>(Optional);<Dynamic Variable>(Optional)`

| Argument                                                    | Description                                                       |
| ----------------------------------------------------------- | ----------------------------------------------------------------- |
| \<Dynamic Variable>(Optional);\<Dynamic Variable>(Optional) | Both dynamic variable stores the status as **True** or **False**. |

### **Example 1: Sending Secure Keystrokes to an Input Field**

In this example, we are explaining how to send encrypted keystrokes securely to a specified input field on the web page.

* **Action**: Send Keystrokes Securely
* **Input Value**: textbox;;1;QMt4L4l5NcLFrIcNZXIzpn6dqh+Y=
  * The first argument (**textbox**) specifies the object type to be identified.
  * The second argument is left blank to skip an optional value.
  * The third argument (**0**) specifies the index of the input field when multiple matching elements are present.
  * The fourth argument (**QMt4L4l5NcLFrIcNZXIzpn6dqh+Y=**) specifies the encrypted keystroke value that needs to be entered securely into the input field.
* **Output Value**: {Status}&#x20;
  * The result of the secure keystroke operation is stored in the **{Status}** dynamic variable, with the following possible values:
    * **True**: If the keystrokes are sent successfully to the input field.
    * **False**: If the keystrokes are not sent successfully to the input field.
* **Logical Explanation**: The **Send Keystrokes Securely** action reads the identification details and encrypted keystroke value from the **Input Value** column (**textbox;;0;QMt4L4l5NcLFrIcNZXIzpn6dqh+Y=**). The action locates the matching input field based on the specified object type and index, decrypts the secure value internally, and inputs the decrypted text securely into the field. The execution result of the secure keystroke action (True) is stored in the **{Status}** variable.

<figure><img src="/files/noPwPtbfeCB96S6MYVyM" alt=""><figcaption></figcaption></figure>

### **Example 2: Sending Secure Keystrokes to an Input Field using Optional Parameters**

In this example, we are explaining how to send encrypted keystrokes securely to a specified input field on the web page using optional identification parameters.

* **Action**: Send Keystrokes Securely
* **Input Value**: textbox;Password;0;QMt4L4l5NcLFrIcNZXIzpn6dqh+Y=
  * The first argument (**textbox**) specifies the object type to be identified.
  * The second argument (**Password**) specifies the visible text of the object.
  * The third argument (**0**) specifies the index of the input field when multiple matching elements are present.
  * The fourth argument (**QMt4L4l5NcLFrIcNZXIzpn6dqh+Y=**) specifies the encrypted keystroke value that needs to be entered securely into the input field.
* **Output Value**: {Status}
  * The result of the secure keystroke operation is stored in the **{Status}** dynamic variable, with the following possible values:
    * **True**: If the keystrokes are sent successfully to the input field.
    * **False**: If the keystrokes are not sent successfully to the input field.
* **Logical Explanation**: The **Send Keystrokes Securely** action reads the identification details and encrypted keystroke value from the **Input Value** column (**textbox;Password;0;QMt4L4l5NcLFrIcNZXIzpn6dqh+Y=**). The action locates the matching input field based on the specified object type, visible text, and index, decrypts the secure value internally, and inputs the decrypted text securely into the field. The execution result of the secure keystroke action (True) is stored in the **{Status}** variable.

<figure><img src="/files/LVw6MvZ0XQ8TEhbDKUeL" alt=""><figcaption></figcaption></figure>


---

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

```
GET https://docs.avoautomation.com/avo-assure/actions/web/custom-1/send-keystrokes-securely.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.
