Skip to main content
All CollectionsBasics
List of Frontly Dynamic Variables
List of Frontly Dynamic Variables

The full list of Frontly data sources all in one guide!

Justin Yan avatar
Written by Justin Yan
Updated over 2 months ago

While building your app through Frontly's edit mode, you may notice nearly all fields are eligible for you to inject a dynamic variable into them. They can be used to inject or reference data from various sources of your app into an array of different fields and functions you have set up. They also pay a vital role in the way you set up your display and run conditions for your data and actions.

All Dynamic Variables are enclosed in double braces "{{ }}" and is made of up 2 key parts:

  1. A Data Source

  2. A Field (from that data source).

Click here to view the full article on Dynamic Variables.


Description of Data Sources

Block

You can reference the data from an InfoList block or Edit Form block that exists on the same page. Upon selecting this as data source, you will also need to select the specific block on your page (if multiple) and the field data as well.

This data source is helpful for a variety of use cases such as configuring display conditions for your pages and blocks as well as your hidden filters within them. Once selected, you'll select the page block in addition to the field name within that block.

Examples:

{{block.1.Product ID}}

{{block.3.Status}}


Content

To reference the stored content within the Content Library of your app, you can access it with this variable and the key label you've prescribed for that content.

This makes it easy to insert consistent text throughout your app blocks or actions, especially in cases where you need to pass reusable text or context into AI actions. It streamlines maintaining large blocks of text for multiple uses without needing to rewrite or duplicate content.

Examples:

{{content.blog-post}}

{{content.lesson-plan}}

Click here to learn more about the Content Library setting


Custom

An advanced level setup that will enable you to reference specific values in your spreadsheets that meet specific conditions that you've defined. Also can be used to determine if the set of parameters you've defined for your spreadsheets is true or false, which can be used as a condition for any of Frontly's conditional systems.

Examples:
{{custom.next_record_id}}

{{custom.prev_record_id}}
{{custom.highest_price.Product}}

Click here for our full article on Custom Variables


Detail View Parent

In some cases, you may have a block inside your Custom View that may take your users one or several layers deeper into more detail views.

Using the already mentioned Detail View Record dynamic variable will typically be your first option, but there's also an opportunity for you to reference the data from the 'Parent Record' at the top of your hierarchy.

Example:

{{detailParent.frontly_id}}


Detail View Record

This data source is only relevant when working inside a Custom View, triggered by a Record Click Action.

This works the same way as the Record data source, except it's grabbing values from the clicked 'Parent Record' that triggered the Custom View to be opened.

The use case for this data source is to create a flow where your user clicks one record in a list, then sees data filtered by the ID of the 'parent record' that was clicked on.

Example:

{{detail.frontly_id}}


Form

Use the user-entered values from a Form submission, accessed via the field names (columns) in the sheet connected to the form. This data source is typically accessed and used with a Submit Action.

Click here to learn more about our different Custom Actions.

Examples:

{{form.First Name}}

{{form.Student Intro}}


Google Sheet Cell

If you'd like to reference a value on a static cell on your spreadsheet, you will need to select this data source and choose the following inputs, which will be separated by periods:

Spreadsheet - Decide amongst your imported Sheets where Frontly will find your cell. Your selection will convert your Sheet name into a number.

Google Sheet Cell - The cell name using Google Sheet notation.

Example:

{{spreadsheets.4200.A5}}

{{spreadsheets.69069.H1}}


Inputs / Results

Not to be confused with the 'Input' variable, this applies only to the Quote Calculator block submit action. If you intend to use the inputs or results of your Quote Calculator submission, use the following variables below coupled with the spreadsheet cell linked to input or result.

Examples:

{{inputs.A1}}
{{results.B1}}


Local State

Maintain custom temporary variables available throughout the user's session, with custom field names.

Click here to read the full article on Local State Variables

Example:

{{localState.CustomKeyLabel}}


Previous Step (previously Action Step)

When developing a custom action sequence, you can use this data source's dynamic variable to reference a specific step prior to the step you are using this variable for.

The formatting of the variable requires you to reference the step number in the sequence, and the field name.

Examples:

{{step.1}} <- For retrieving basic responses
{{step.2.frontly_id}} <- For retrieving responses that include a full record or object, such as a Google Sheet action where you want to get a specific field value.

Note: This variable has replaced the 'actionSteps' variable for the much simpler 'step' one, but should continue to function in pre-existing configurations without any disruption.

Click here for a comprehensive guide on the Previous Step Variable.


Record

The 'clicked' record, used in situations where a user has clicked on a Table row or Grid, Kanban or Calendar card. This includes the movement of a card from one column to another on a Kanban block.

Fields from the Record data source can be accessed like {{record.Custom Field}} where the bolded portion is an exact column name from your spreadsheet.

If your Table is displaying a list of Projects and in your spreadsheet there is a field called 'Project Name', your variable would look like this:

{{record.Project Name}}


Row*

The 'Row' data source falls more in the pseudo-data category since its variable is used strictly as a placeholder value for the Google Sheet cells that any of your newly created record or records will be filling. This 'Row' data source is primarily used in Sheet formulas that are inputted through Frontly as a hidden value first.

Click here to learn more about entering Google Sheet formulas into Frontly.

As a result, its corresponding variable may have the makings of a dynamic one, but doesn't require an inputted field or identifier like all other dynamic variables do. They can however, have the increment/decrement suffix appended to it. See examples below:

Examples:
{{row_count}}

{{row_count.increment.1}}

Click here to learn more about Incrementing or Decrementing Values.


Time Variables

This data source will store the current time or some relative model of the current time. It is dynamic in nature and useful for a wide array of functions like logging timestamps when records are being created or setting ranges for your chart data in a hidden filter.

Time data will display its dates and time format in alignment with your the format you've set in your App Settings and can be fully customized to cover an array of time ranges.

Examples:

{{time.now}}

{{time.custom.YYYY-MM-DD}}

Click here to see how to configure your date and time format in your App Settings.

Click here to learn all about Time Variables.


URL Parameters

If you've navigated your users to another page through a URL Parameter, you can reference and surface those parameters in a label.

Click here to read the full article on URL Parameters

Example:

{{params.project_id}}
{{params.team}}


User

The 'User' data source allows you to access data from the logged-in user. The default fields available for all users are First Name, Last Name, Email, User Group and whether or not they're an account Owner.

Optionally, you can define Custom User Fields as well which can also be referenced in a dynamic variable.

Click here to read the full article on Custom User Fields

Fields from the User data source can be accessed like {{user.Custom Field}} where the bolded portion is a valid field name from your User, whether its a default field or one of your custom defined ones.

Example:

{{user.first_name}}

{{user.Product ID}}


Input

Used specifically for defining the input variables for the Reusable block.

Click here to learn about Reusable Blocks.

Example:

{{input.BlockDisplayCondition}}

{{input.LocalStateValue}}

{{input.RecordLabel}}


Window Width

The Window Width variable allows you reference the current screen width, in pixels.

This can be used in display conditions to show/hide blocks based on the width of the screen.

Note: The windowWidth does not currently react in real-time for display conditions, so if you resize the page you won't see it dynamically show/hide items. If you reload the window in mobile view or desktop view you will see that the windowWidth variable is respected upon initial load.

Example:

As part of a display condition, use the variable as shown below. The operator you choose will depend on what your ideal set-up will be.



Table of Data Sources

Note: Dynamic variables with text in bold are a placeholder of a label or an identifier, which depends on the data source you've chosen and the field you've selected or inputted after.

Reminder: All variables, labels and identifiers are case-sensitive.

Data Source

Dynamic Variable

Main Applications

User

{{user.id}}

{{user.first_name}}

{{user.last_name}}

{{user.email}}
{{user.role}}

{{user.user_group}}

{{user.Custom Field}}

Labels, Hidden Values, Filters, Conditions, Custom Actions

Record

{{record.Custom Field}}

Custom Actions, Navigation

Detail View Record

{{detail.frontly_id}}

Detail View

Detail View Parent

{{detailParent.frontly_id}}

Detail View

Form

{{form.Field}}

Custom Actions, Navigation

Row*

{{row_count}}

Formulas

Cell

{{spreadsheet.ID.Cell}}

Displaying Values, Formulas

Block

{{block.ID.Field}}

Conditioning, Filters

Time

{{time.now}}

{{time.today}}

{{time.custom.Custom Time}}

Labels, Hidden Values, Custom Actions, Conditions, Filters

URL Parameter

{{{params.CustomKeyLabel}}

Labels, Navigation,

Local State

{{localState.CustomKeyLabel}}

Conditions, Labels, Hidden Values, Displaying Values

Previous Step

{{step.StepNumber.Field}}
{{step.StepNumber}}

Custom Actions

Input

{{input.Field}}

Custom Blocks

Inputs / Results

{{inputs Cell}}
{{results.Cell}}

Custom Actions

Window Width

{{windowWidth}}

Display Conditions

Custom

{{custom.CustomKey}}
{{custom.CustomKey.CustomField}}

Custom Actions, Conditions, Labels, Hidden Values, Display Values

Content

{{custom.CustomKeyLabel}}

{{custom.blog-post}}

OpenAI Request Actions

Did this answer your question?