# Glossary

<details>

<summary><mark style="color:blue;">Data source</mark></summary>

A connection set up from a server to a database on top of which you build your internal tool. It can be a database, an API, or a third-party service (for example, MySQL, Google Sheets, Airtable). You need to connect a data source and configure authentication to it to ensure a secure connection between the UI Bakery back end and your data.

✅ *UI Bakery doesn’t store your data. We only keep the encrypted credentials to access a data source.*

</details>

<details>

<summary><mark style="color:blue;">Action</mark></summary>

A piece of business logic implemented in your application. You can use it to load the data from a data source, send the data back, make API calls, navigate to app pages, generate PDF documents, and process any type of data with SQL or JavaScript.

Action results are available as variables `{{actions.actionName.data}}` that can be assigned to specific properties of components or referenced in other actions.

</details>

<details>

<summary><mark style="color:blue;">Action steps</mark></summary>

Small tasks of various types, such as executing an SQL query, running custom code, making an HTTP request, evaluating a condition or navigating to a different page. By combining multiple action steps developers can construct functional workflows, consolidate requests to various data sources, validate input data, or reload data based on specified conditions.

Action steps that have been given a name can also be referenced as `{{steps.name.data}}` within the parent action.

</details>

<details>

<summary><mark style="color:blue;">Component</mark></summary>

A UI element that can display your data and accept input from your users. You can work with various components: Table, Form, Detail, Chart, PDF Viewer, and others. Drag and drop any component you need to the working area to add it to an application page.

You can use most of the components as variables, such as `{{ui.componentName.value}}` or `{{ui.componentName.selectedRow.data}}`. They can be referenced within the application in actions or the properties of other components.

</details>

<details>

<summary><mark style="color:blue;">Triggers</mark></summary>

Events that enable handling user interactions within the application. Examples of triggers include **On Form Submit** and **On Table Row Select**. Actions can be linked to triggers and utilised to process data, send it to a database, and perform other operations.

</details>

<details>

<summary><mark style="color:blue;">Variables</mark></summary>

Act as a connecting element allowing you to use data from actions in components and vice versa. Actions, action steps, and components all provide various variables that can be accessed using curly braces `{{ }}`. Additionally, developers can create their own custom global or local variables, assign values using the **Save to State** action step, and use these variables in other actions and components.

:information\_source: *Bring out a list of variables in any code or text field in UI Bakery by typing two curly braces* `{{`.

</details>


---

# 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.uibakery.io/build-from-scratch/glossary.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.
