ToolJet/docs/versioned_docs/version-3.5.0-LTS/tooljet-concepts/variables.md

57 lines
3.9 KiB
Markdown
Raw Normal View History

2024-11-10 22:27:25 +00:00
---
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:
<div class="video-container">
<iframe width="560" height="315" src="https://www.youtube.com/embed/WQFaXqoIK_k?si=r-KqMnnKJKpaKcsz&rel=0" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
- **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 Constants** that hold sensitive information and 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/>
[docs]: Platform Revamp (#11585) * Initial Structure Setup * Add SMTP Configuration Content * Add ToolJet Plan Content * Update ToolJet Plan Docs * Update SMȚP Configuration * Add Organization Overview * Update SMTP Cofig * add licensing structure * revert AppCard.jsx * revert AppCard.jsx * Revert AppMenu.jsx * Revert Folders.jsx * Revert ManageGroupPermissionResources.jsx * revert mixins.scss * revert tabler.scss * revert tabler.scss * revert tabler.scss * revert tabler.scss * add: white label doc * Update overview * add: instances and workspaces * revert AppCard.jsx * revert changes from EditVersionModal.jsx * Revert Changes * Delete Extra File * fix: comments * update interlink * fix: multiple instance content * tj deployment beta * update tj deployment beta * Update Email Server Beta * Update Overview * update setup email communication * Update Licensing * Update overview and self hosted docs * Update self hosted beta * Update Licensing * minor improvments * update link * Update folder name * minor updates * Update Self Hosted * Update Cloud and Overview * Minor Updates and add Mailgun Screenshot * Change beta folder structure and add sendgrid screenshot * update setup tj folder * Replicate changes to 3.0.0-LTS * Add overview and onboard user structure in beta * Add Overview for User Management and Access Control * Add Invite User * first draft - bulk invite, archive, self signup * update: intance-workspace-whitelabelling * fix: workspace-whitelable doc * minor update in invite user * Update Onboarding and Offboarding of Users - 03/01 * Add structure for authentication and rbac in beta * update super admin file structure * add super admin content * Update overview page * Overview for onboard and offboard user * minor edit overview page * Update Invite User * Update Bulk Invite User * updated archive user * Update onboarding and offboarding * Content Update * Update Super Admin Structure * Update Super Admin * User Roles Content * Custom Groups Content * Granular Access Control [WIP] * Add SSO Structure * github sson 1 * github sso * Google SSO * ldap * grammatical improvement * Feedback Updates 1 * complete RBAC * sso update * SSO LDAP SAML OIDC * OIDC Setup * Google OIDC * Update LDAP and SAML Intro * Update Profile Management Structure * Update Access Control Docs * Update Custom Groups * feat: authentication * OIDC - Okta * feat: cloud auth * fix: overview typo * fix: selfhosted auth titles * Group Sync Structure * User Metadata * [WIP] OIDC Group Sync * OIDC Group Sync * Update use case example in user metadata * Remove password management section * Update reset password * add: retry limit in password login * Docs feedback update * OIDC Group Sync Docs * oidc grp sync * Custom Group * access control * Profile Management Structure * edit user details and reset password * profile settings * Development Lifecycle Structure * [WIP] Version Control * [WIP] Rollback * Update GitSync Structure * WIP GitSync * Copy GitSync from the Develop * Update version control as per feedback * wip: release * release and rollback * GitSync * GitSync * feat: self-hosted and cloud * gitsync backup docs * [WIP] GitSync * GitSync Backup * share app ideation * Share Application * WIP Audit Logs * WIP Okta SAML * wip - okta saml * Okta SAML * Audit Logs * Git Push and Pull * GitSync Backup * Release Management * GitSync Config * gitsync custom branch * Workspace Constants * Workspace Variables * Update License * update: images and css classes * update: images * update: envs * update: images * Img Update till Invite User * update: removed cloud from Dev Life cycle * feat: custom domain * fix: formatting - custom domain * update: workspace doc * metadata img update * Images till Onboard and Offboard * SSO Images * Image Update GitSync * fix: naming * delete sql backup * update: images * Add ToolJet API * Enhance Nav Bar * Update development lifecycle overview * update: images * Nav Bar Update * fix: feedback * Update FAQ dropdown * feedback update * Content Update * fix: images * fix: platform overview image * Update Grammar and Links till Onboard Users * Fix links * Update Self Singup Screenshot * Fix interlinking * Fix GitSync Interlinks * update: interlinking * Delete Old Docs Beta * Delete Old Files from LTS * Replicate Files in LTS * Update Home Page * fix workspace login link * fix links * Deploy ToolJet --------- Co-authored-by: PriteshKiri <pritesh.d.kiri@gmail.com>
2025-03-06 10:42:09 +00:00
**[Workspace variables](/docs/security/constants/variables)**