ToolJet/docs/versioned_docs/version-2.33.0/tooljet-concepts/variables.md
Akshay 2d08d889de
Release: Community changes (v2.34.0) (#9226)
* add custom resolvers info and editable row selection info (#9057)

* fix system requirements icon

* add auth info for webhooks and fix casing

* add regex custom validation info (#9068)

* [docs]: Marketplace 1.7 updates (#9085)

* [docs] Amazon redshift plugin

* make minor improvements

* add and update docs for marketplace 1.7

* update order of plugins in overview to match sidebar

* create new version

---------

Co-authored-by: Shubhendra <withshubh@gmail.com>

* add the latest version in the versions.json file (#9094)

* [docs]: Update PDF component (#9088)

* update PDF component

* merged with develop and added changes to the new version

* update docs favicon: (#9118)

* [docs] SSO revamp (#9031)

* add method to set default language

* update image settings through custom css and update screenshots for getting started and tooljet concepts (#9158)

* fix read documentation button

* fix formatting for setup icons (#9172)

* fix sidebar link for aws lambda

* Update static media (#9175)

* updated the screenshots

* reduced the gif size

* reverted the package.json file

* edited the zoomed in images and replaced some gifs with screenshots

* removed one gif

* update static media

* update file names

* update toolbar

* fix file names

* fix: dynamodb img path

* update media for org management dashboard

* fix: casing and formatting

* update workspace constant media

* update media in workspace settings and github

* update github sso

* minor change to github sso docs

* minor fix

* update google sso

* change includeCurrentVersion flag to false

---------

Co-authored-by: Asjad Ahmed Khan <iitasjad2001@gmail.com>
Co-authored-by: Asjad Ahmed Khan <60435499+2001asjad@users.noreply.github.com>
Co-authored-by: Karan Rathod <karan.altcampus@gmail.com>

* Feature: Engagespot plugin (#9012)

* feat(plugins): added engagespot plugin

* feat(docs): added engagespot plugin docs

* chore(engagespot-plugin): revised copywritings

* Feature: Databricks data source (#9174)

* plugin-created

* Databricks integration

* icon, error handling

* removed unrelated changes from marketplace and frontend package-lock.json removed runAsync and maxRows timeouts pending

* timeout implementation

* socket timeout and error handling

* resolve comments

* resolve comments2

* solved render issue test connection improvements

* solved undefined error

* fix TJDB not null value fail for is operation (#9055)

* fix TJDB not null value fail for is operation

* handling not null and null case insenstive values

* Support for marketplace plugin deploy on render preview app (#9221)

* Fix for marketplace error on render preview app

* add marketplace build command

* Adding new workflow for building marketplace plugin

* removed render app creation

* [:docs] Add documentation for Databricks plugin (#9224)

* add docs for databricks

* update databricks docs

* update docs

* remove ref to clusters

* bump to v2.34.0

* Fixed data source cypress failure (#9227)

* updated spec with required text

* updated mongodb and import spec

* updated import spec

---------

Co-authored-by: Karan Rathod <karan.altcampus@gmail.com>
Co-authored-by: Adish M <44204658+adishM98@users.noreply.github.com>
Co-authored-by: Midhun G S <gsmithun4@gmail.com>
Co-authored-by: Shubhendra <withshubh@gmail.com>
Co-authored-by: Aman Regu <amanregu@gmail.com>
Co-authored-by: Asjad Ahmed Khan <iitasjad2001@gmail.com>
Co-authored-by: Asjad Ahmed Khan <60435499+2001asjad@users.noreply.github.com>
Co-authored-by: Jobin Jose <129726530+jobin-logidots@users.noreply.github.com>
Co-authored-by: Syed Mohammad Akhtar Rizvi <85864291+ShazanRizvi@users.noreply.github.com>
Co-authored-by: blank0537 <111295371+blank0537@users.noreply.github.com>
Co-authored-by: Mekhla Asopa <59684099+Mekhla-Asopa@users.noreply.github.com>
2024-03-29 19:13:26 +05:30

53 lines
No EOL
3.6 KiB
Markdown

---
id: variables
title: Variables
---
Variables can be used to store data that can be accessed and manipulated inside your application or across a workspace. You can create and access a variety of variables in ToolJet:
- **Variables** that can be defined and accessed anywhere within an application
- **Page Variables** that can be defined and accessed on a particular page of the application
- **Exposed Variables** that hold important values related to a component and are accessible within an application
- **Workspace Variables** that are available across all applications in a workspace
- **Environment Variables** for environment-specific settings, streamlining app development and configuration
<div style={{paddingTop:'24px', paddingBottom:'24px'}}>
## Variables and Page Variables
You can use the `setVariable(key, value)` function to define a variable in a `Run Javascript code` query while a page variable can be defined using the `setPageVariable(key, value)`. Once defined these variables can be used to define the functionality of an application. For instance, you can use the `setVariable(key, value)` function to create a variable to keep a history of pages visited by the user within the application. This can be used for implementing custom back navigation or analytics on user flow and engagement within the app. Similarly, you can create and utilize a page variable to remember a user's filter selections (e.g., date range) on a reporting page.
<div style={{textAlign: 'center'}}>
<img className="screenshot-full" src="/img/tooljet-concepts/variables/variables-demo.png" alt="Preview Of Variables" />
</div>
</div>
<div style={{paddingTop:'24px', paddingBottom:'24px'}}>
## Exposed Variables
**Exposed Variables** are used to access and manipulate data related to the components. These variables are automatically created and updated as users interact with the application. Whether it's capturing text from a text editor checking the visibility of a component, or retrieving selections from a dropdown menu, exposed variables are integral for dynamic data handling in ToolJet applications.
</div>
<div style={{paddingTop:'24px', paddingBottom:'24px'}}>
## Workspace Variables
**Workspace variables** are designed to store values like tokens, secret keys, or API keys that applications across the same workspace may require. This facilitates secure and centralized management of sensitive information, ensuring that critical data is easily accessible to all relevant tools within the workspace without compromising security.
</div>
<div style={{paddingTop:'24px', paddingBottom:'24px'}}>
## Environment Variables
**Environment variables** are often used to manage configuration settings that differ between deployment environments (e.g., development, testing, production). They can store database connection strings, external API URLs, or any other environment-specific information, enabling developers to tailor application behavior without altering the codebase.
</div>
Together, these variable management functions and types provide a robust framework for organizing, sharing, and securing data across complex internal tool ecosystems, ensuring both flexibility and integrity in application development and deployment.
To learn more about different types of variables and their usage, go through the below links:
**[Setting and unsetting variables and page variables](/docs/how-to/run-actions-from-runjs)** <br/>
**[Exposed variables](/docs/tooljet-concepts/exposed-variables)** <br/>
**[Environment variables](/docs/setup/env-vars/)** <br/>
**[Workspace variables](/docs/org-management/workspaces/workspace-variables/)**