Now you can trigger all the `actions` available in ToolJet from within the `RunJS` query. This guide includes the syntax for each action along with the example.
### Run Query
**Syntax:**
```js
queries.queryName.run()
```
or
```js
await actions.runQuery('queryName')
```
**Example:** In the screenshot below, we are triggering the two different queries `customers` and `getData` using the two different syntax available for `Run Query` action.
<divstyle={{textAlign:'center'}}>

</div>
### Set Variable
**Syntax:**
```javascript
actions.setVariable(variableName, variableValue)
```
**Example:** In the screenshot below, we are setting the two variables `test` and `test2`. `test` variable includes a numerical value so we haven't wrapped it inside the quotes but the variable `test2` is a string so we have wrapped it in quotes.
<divstyle={{textAlign:'center'}}>

</div>
### Unset Variable
**Syntax:**
```javascript
actions.unSetVariable(variableName)
```
**Example:** In the screenshot below, we are unsetting the variable `test2` that we created in the previous step.
<divstyle={{textAlign:'center'}}>

</div>
### Logout
**Syntax:**
```javascript
actions.logout()
```
**Example:** Triggering `actions.logout()` will log out the current logged in user from the ToolJet and will redirect to sign in page.
<divstyle={{textAlign:'center'}}>

</div>
### Show Modal
**Syntax:**
```javascript
actions.showModal('modalName')
```
**Example:** In the screenshot below, there is a modal on the canvas (renamed it to `formModal` from `modal1`) and we are using RunJS query to show the modal.
<divstyle={{textAlign:'center'}}>

</div>
### Close Modal
**Syntax:**
```javascript
actions.closeModal('modalName')
```
**Example:** In the screenshot below, we have used RunJS query to close the modal that we showed up in previous step.
<divstyle={{textAlign:'center'}}>

</div>
### Set Local Storage
**Syntax:**
```javascript
actions.setLocalStorage('key','value')
```
<divstyle={{textAlign:'center'}}>

</div>
### Copy to Clipboard
**Syntax:**
```javascript
actions.copyToClipboard('contentToCopy')
```
<divstyle={{textAlign:'center'}}>

`fileName` is the name that you want to give the file(string), `fileType` can be `csv`, `plaintext`, or `pdf` and the `data` is the data that you want to store in the file.
actions.generateFile('csvfile1', 'csv', '{{components.table1.currentPageData}}') // generate a csv file named csvfile1 with the data from the current page of table
actions.generateFile('textfile1', 'plaintext', '{{JSON.stringify(components.table1.currentPageData)}}') // generate a text file named textfile1 with the data from the current page of table (stringified)
Here is an sample code for running the queries and showing alert after specific intervals. Check the complete guide on running queries at specified intervals **[here](/docs/2.2.0/how-to/run-query-at-specified-intervals)**.