The Glossary
This list highlights select Bubble-specific terms you might encounter in the user manual and core reference. It focuses on terms with unique meanings within Bubble.
Many items on the list provide links to articles and core reference materials, offering deeper insights into the concepts and practical applications of the associated keyword.
Use the search feature in your browser to quickly find the term or phrase that you are looking for. Search is usually activated with CTRL+F or ⌘ + F.
Action
An action is a part of a workflow
It is a step that a Bubble workflow takes, i.e. the different kinds of things that workflows can do
Examples include sending an email, logging the user in, showing an element, hiding an element, etc.
Learn more
Article series: Workflows Article: Actions
Core reference: List of all actions
Alert
The alert is an element type in Bubble that you can add to the page
It can be set to be displayed at any given place on the page, or stick to the top of the page.
It's not visible to the user until you trigger it using the Show message in alert box action.
It's disappears a short (customizable) time after it is displayed.
It's useful for showing a quick warning, error, or confirmation message.
API
API is an umbrella term for allowing two apps or systems to exchange data
Bubble can accept inbound API requests and send outbound requests:
Outbound: made via the API Connector plugin
Inbound: made via the Bubble API
Learn more:
Article series: API
API Connector (plugin)
The API Connector is a Bubble-built plugin that lets you set up outbound API connections with external services
Can set up the API calls to be used as data sources or
Can be installed via the plugins library (Plugins > Add Plugins)
Learn more
Article series: The API Connector Article: API Connector security
Core reference: API Connector properties
API workflows
A type of backend workflow which can be triggered via another workflow anywhere in the app or via an API call
These are defined in the "Backend workflows" page, which shows up in the page selector dropdown in the topnav, once the feature is turned on in Settings > API
These can be scheduled to run at a later time
If the app's Workflow API is turned on, then an API workflow can also be initiated by an external API call to the app
Learn more
Article series: The Bubble API Article series: The Workflow API
Core reference: API workflow properties
App connector (plugin)
A feature that lets you connect two Bubble apps so that they interact with one another more seamlessly (as opposed to connecting the two strictly via APIs as if one was a third party)
Can be installed via the plugins library (Plugins > Add Plugins)
To learn more, see section in the Reference
Learn more
Article: The app connector plugin
Core reference: Bubble app connector properties
Atom
Each block of a dynamic expression is known as an atom
Atoms can be:
An operator
Backend workflow
Backend workflows is the umbrella term for any type of workflow you can create in the backend editor.
This is a category of workflow that runs independently of any page of your app - they run in the "backend"
Learn more
Article: The back-end versus the front-end
Article section: Bubble API terminology: Backend workflows
Article series: The Bubble API
Branch
A branch is an independent iteration of your application that can be developed in isolation.
You can see the creation of a branch as splitting your app into two copies, kind of like two cells dividing. The cells are genetically identical clones at first, but can keep evolving independently of each other.
This is useful if you have different developers/teams that are working on specific features in your app: they can work completely independently without disturbing each other's work
Branches are a part of the version control feature
Learn more
Article series: Version control
Bubble API
The Bubble API is the umbrella term for Bubble's API features
The Workflow API
Allows external apps and systems to execute workflows in your app
The Data API
Gives external apps and systems secure access to your database
The Bubble API offers security in two different ways
Authentication
The process of determining who is trying to access the resource
Privacy rules
Conditions applied to data in your database that determines whether the authenticated client has access to search for, read, change or delete data of a specific type
The Bubble API is for inbound API calls (calls made to your app from the outside) as opposed to outbound calls that are made with the API connector plugin)
Using the Bubble API is among Bubble's most advanced features, but it also offers vast possibilities for integration with other online platforms.
Cell
Each individual row or column in a repeating group or table element is called a cell.
Each cell's data source automatically represents the cell's index in the list of loaded data (for example, if you load a list of users, each cell will have one user as its data source)
Each cell has an index number, starting with 1 and increasing sequentially
Learn more
Article: Repeating groups Article: Finding data
Core reference: Repeating group properties
Collaborator / Collaboration
Any Bubble user that you invite to edit your app is called a collaborator
You can control the access level of each collaborator in the Collaboration setting
Learn more
Article: Collaboration
Comparison
A comparison is a part of a dynamic expression
Each part of a dynamic expression is known as an atom
It's used to compare two values, such as:
Checking whether to users have the same name
Checking whether the number 4 is bigger than the number 5
Checking whether the creator of a database thing is the current user
A comparison will return either a yes or no
If you come from a traditional programming background, this would be the same as true or false
Learn more
Article: Dynamic expressions
Current user
The current user is a data source which returns the database thing of the currently logged-in user
If no user is logged in, it will return a temporary user profile that you can still save data to
Using the current user data source, you can return data such as Current user's email in a dynamic expression
Learn more
Article: User accounts
Constraint / search constraint
A search constraint narrows down the results of a database search by specifying certain conditions that the data must meet
For example, you can search for all users called "Jane Doe" by setting up a constraint that specifies that the field called name should contain the text Jane Doe.
You can add as many constraints as you want to a search
Adding more constraints can lead to a faster search, since it helps Bubble rule out things quicker
Learn more
Article: Finding data
Core reference: Search
Custom event
A custom event is a workflow that can be triggered by other workflows using the Trigger a custom event or Schedule a custom event actions.
You can customize the parameters that are passed to the custom event, and set them as optional or required as needed.
You can customize return values that can be passed back to the original workflow that triggered the custom event. They can be optional or required as needed.
Learn more
Article: Custom events
Core reference: Custom event properties
Custom state
A custom state is a way to store temporary variables on an element that can be accessed from anywhere on the same page and during the same session
Custom states are reset when the page is refreshed, meaning they don't store data permanently
They can hold any kind of data like text, numbers, dates or custom data types and can be read, changed and reset as needed using actions
Custom states can hold a default value
Learn more
Article: Custom states
Data API
The Data API is the part of the Bubble API that lets you invite other apps and systems to read and make changes in your app's database securely
Allows querying of data, as well as creating, updating and deleting
You can secure the Data API using authentication and privacy rules
Must be enabled in Settings - API
Learn more
Article series: The Bubble API (the Data API is a part of the Bubble API) Article series: The Data API
Core reference: The Data API (includes a list of all request types)
Data source
A data source is any source from which Bubble can pull data, such as:
A database search
An outbound API request
The current user, current date/time and current geographical location
Learn more
Article series: Data
Core reference: List of data sources
Database
The database is where you store dynamic data in your app
It can be created by you, or added by your app's users
Every app has its own two databases;
Development
Live
They two are completely independent, so that you can use one for testing and one for live users
You can create custom data types in your app to suit your own needs. For example, you might want to create data types like projects, blog posts, tasks or blog posts.
To each of these data types, you can add fields that contain data
Bubble is designed to allow you to set up and configure your database with no prior knowledge, but the underlying technology is PostgreSQL
Learn more
Article series: The database
Deploying
Deploying your Bubble app means pushing the changes you've made in the development environment to the live environment.
This allows users to see and interact with the latest version of your app.
Think of it as publishing or updating your app for the public.
Learn more
Article: Deploying your app Article series: Version control (working with different app branches in isolation and deploying those changes)
Do a search for
Do a search for is a data source in a dynamic expression, that performs a database search
You can add constraints to each search to narrow down the results
Learn more
Article: Finding data
Core reference: Search
Data type
A data type is any type of record that you set up your database, such as users, products, blog posts, tasks or whatever your app needs
The user data type is built-in and cannot be deleted, but you can add as many fields as you need to it
Data types apart from the built-in user type are known as custom data types
Learn more
Article series: Data
Debugger
Bubble comes with a set of built-in debugging tools
They let you debug workflows and elements in run-time (while you preview your app)
The debugger appears automatically at the bottom of the screen when you preview your app
Learn more
Article: Debugging your app
Article: Previewing your app
Dynamic expression
Dynamic expressions are like "live" formulas that update in real-time based on user input, database updates and other changes in your app.
Dynamic expressions consist of three different building blocks called atoms:
Data source: any source of data
Operators: functions or actions that can be performed on the data source, such as counting, sorting and calculating
Comparisons: compare two compatible values, such as two numbers, data types or strings of text and get a yes/no result
Learn more
Article: Dynamic expressions
Core reference: list of data sources Core reference: list of operators and comparisons
Edit mode
When you are editing your app in the Bubble editor, as opposed to Run mode.
Learn more
Article: The Bubble editor
Element
Elements are the objects you place on the page when you design your app, such as text, buttons, images, icons and calendars
Everything visible on a Bubble page is an element
They are generally self-contained pieces of content that a user can see and potentially interact with
Learn more
Environments (Development/Live)
All deployed Bubble application consist of two different environments:
The Development environment allows you to develop and preview your app exactly as it will look when deployed. When testing changes in a branch in the Development environment, the Development database will get populated with test data, which you can view by going to the Data tab and toggling to the Development database.
The Live environment contains your live app, which is read-only. When users interact with your live app, the Live database will get populated with live data, which you can view by going to the Data tab and toggling to the Live database by clicking Switch to Live database.
Environments are part of the version control feature
Learn more
Article: Previewing your app Article series: Version control
Event
Events are the triggers that start a workflow
Examples include:
An element being clicked
Certain data changing
A input form's value changing
A condition is true
Article series: Workflows Article: Events
Core reference: list of all events
Field / field type
A field is the actual place in a data type where the data is stored, and a data type can have many fields
For example, on the built-in user data type, you might have the fields:
First name (text)
Last name (text)
Address (address)
Some fields are built in:
Created date
Modified date
Unique ID
Slug
Email (only on the user data type)
Fields can also contain a list of a specific type, such as a list of numbers, texts or custom data types
Learn more
Article series: Data Article: Data types and fields
Group
A group is a container element, used to contain other elements
You can load data into a group, and refer to that data on the elements within it
For example, you can load a user into a group, and then show the users email using a text element and the dynamic expression Parent group's user's email.
Groups are also a way to control responsive behavior in your app
You can show and hide groups to navigate within the same page
You can collapse their width and height when hidden to set up single-page-application
Learn more
Article: The Group element
Core reference: List of container properties
Login
In this context, we mean logging into your app and not to your Bubble account
Bubble features a built-in, secure login system that lets users create an account and log in using their preferred credentials
Using plugins, you can also allow users to log in using a third-party service like Google or Facebook
Before users can log in, they must sign up
Learn more
Article: User accounts
Logs / Server logs
Every server-side action performed in a Bubble app is logged and can be viewed in the Logs tab in the Bubble editor
You can use this for debugging your app by auditing the operations that have taken place at a specific time or by a specific user
Learn more
Article: Server logs
Operator
An operator is part of a dynamic expression
Operators are used to manipulate or aggregate data from a data source. For example:
Turning a string of text into UPPERCASE
Counting the number of characters in a string of text
Calculating the the number of results of a search
Operators can be chained together
Bubble will show relevant operators as you build your expression; or example, the :number of characters operator will be visible when you are working with text, but not when you are working numbers
Learn more
Article: Dynamic expressions
Core reference: list of operators
Option set
An option set is a static collection of options that can contain multiple fields
It behaves in much the same way as data types, but are not dynamic
This means they cannot be changed without re-deploying your app
It also means they cannot be updated by your users: only by a Bubble developer with access to the Bubble editor
They become part of your app's source code
This means they load faster than the database, and remains cached on the user's device
It also means they should not contain any sensitive data, since they are downloaded in plaintext to every device that accesses ay page in your app
Option sets are great for storing data that doesn't change frequently, such as a list of:
Colors
Countries/states
Menu options
Dropdown options
Learn more
Article: Option sets
Plugin
Plugins are extensions that you can install to add features, elements or integrates third-party services.
The plugin store features thousands of plugins.
Some are made by Bubble, while most are made by third parties
Some are free, while others require a one-time payment or subscription to use
Plugins are installed and paid per app, not per Bubble account
Agencies using the agency plan can install and use all plugins for free while the app is in development.
Learn more
Article: Plugins
Privacy / privacy rules
Privacy refers to the protection of user data and information, ensuring it's accessed and shared only by the right user(s)
Privacy and security are closely intertwined, but are not the same thing: privacy is a policy, while security is what maintains that policy
Bubble uses privacy rules to protect data in the database from ever leaving the server if the user is not authorized to access it
Privacy rules also protect data accessed through the Bubble API
Privacy rules are applied to each data type as a condition (i.e. "If this user is logged in, they can access the data)
Learn more
Article: Protecting data with privacy rules Article series: Bubble security
Core reference: Privacy rules settings
Property editor
The property editor is the part of the Design tab that appears when you double-click on an element or click it in the element tree
It's where you control the properties of that element
Different element types have different properties
It can be made to always be visible by toggling View > Lock Property Editor
This is also where you control an element's responsive properties
Learn more
Article: The property editor Article series: The Bubble editor
Core reference: Element properties Core reference: Responsive properties
Repeating group
A repeating group is a container element that lets you display a list of things from a data source
Repeating groups can be set up to be displayed horizontally, vertically and as a masonry grid
You can place any kind of element (like text and images) inside each cell of the repeating group, which can load data from the thing in that cell
Learn more
Article: Repeating groups Article: Finding data
Core reference: Repeating group properties
Responsive design
Responsive design means to design your app to adjust correctly to different screen sizes and resolutions
The goal of responsive design is to allow one page to be equally useful and visually pleasing on different devices such as computers, tablets and mobile phones
Bubble has an advanced responsive engine that allows you to set up pixel-perfect design and responsive rules to control the behavior on different screens
Learn more
Article series: Responsive design
Core reference: List of responsive properties
Run as
The Run as feature lets you preview your app as a specific user
This is useful to debug issues: you can see the app exactly as the user experiencing an issue does
It's available in both preview mode and your live app
You will find it in the Data > App Data > "All Users" table. It's a small text link next to the user data in the table.
Learn more
Article section: Previewing your app / Run as
Run-mode
When you app is actually running and you have users engaging with it, i.e. when you're running your app, as opposed to editing it (edit mode)
When you click Preview in the editor, Bubble opens up the app in run mode, just as if you had visited the URL of your app
Both the "Development" version and the "Live" version of your app have run modes, i.e. if you are editing your app on the Development version and click "Preview", you will enter run mode of the Development version
Learn more
Article: Previewing your app
SEO
SEO, or Search Engine Optimization, is the practice of optimizing your pages to rank highly in search engines such as Google and Bing
It's only needed for pages that you want users to find in search engines, and not for locked pages (pages requiring login for example)
SEO is generally done in two places in Bubble:
The overall app settings
Each individual page
Learn more
The article series below goes into both the theoretical part of SEO and how to set it up in Bubble.
Article series: SEO
Signing up
In this context, we mean signing up an account in your app, not signing up to a Bubble account
Bubble features a built-in, secure sign-up system that lets users create an account and log in using their preferred credentials
Using plugins, you can also allow users to sign up using a third-party service like Google or Facebook
Learn more
Article: User accounts
SPA (Single-Page Application)
A Single-Page Application (often abbreviated to SPA) is a way to set up your app's navigation as a single page, as opposed to navigating between pages
This is done by hiding and showing elements on the page
This is predominantly done using the group element, and collapsing its width and height when hidden to make room for another group
This happens instantaneously, making the switch between groups unnoticeable for the user
Learn more
Article series: Navigation Article: SPAs
Static data
Static data in Bubble means data in your app that needs your app to be re-deplyed to be updated
This includes
Option sets
App texts (translations strings)
Element data that's not the result of a dynamic expression (such as text in a text element)
Static data like the ones mentioned above become part of your app's JavaScript code files, and should not contain any sensitive information
Learn more
Article series: Static data
Style
Styles are collections of styling properties (colors, borders, fonts, etc) that can be saved, named and applied to multiple elements
Styles are bound to one element type (i.e. styles for buttons, styles for text)
When you create an app, a default set of styles are automatically generated
Styles help keep the look and feel of your app consistent and speeds up development
They also help you make updates to multiple elements at once across pages. Any change you make to a style is automatically applied
Learn more
Article: Styles
Template
A pre-built app that you can use as a starting point for creating your own app
Can only be used when starting a brand new app, i.e. cannot be applied retroactively
Usually includes a combination of pages, elements, styles, workflows, etc
There's a large collection of community-developed templates available (see link below)
Some templates are available at no cost, while others require a one-time payment per application
Learn more
Page: Templates
Article: Using templates
Thing (database)
A database thing is a single record of any data type in your database
For example, one user who signs up in your app is one database thing
Learn more
Article series: Data
Core reference: List of data sources
Unique ID
Every database thing in Bubble is automatically assigned a unique ID
I'ts a 32-character string that follows the following format:
1675853365035x879057409457629600
You cannot change or delete a unique ID
If you have a SQL database background, the unique ID is the primary key of database records in Bubble
Learn more
Article series: Data
URL parameter
A URL parameter is a way to pass and read data using the URL in the browser
It follows a and starts with a "?" after the main URL.
For example, in "my-bubble-app.com/page?navigation=user-profile", "navigation=user-profile" is the URL parameter
URL parameters can be used to pass any kind of data, including custom data types (by passing the unique ID of the thing you want to identify)
The upside of using URL parameters is that users can use the back button in their browser to return to the previous URL if needed, meaning that they can use the back button in a single-page application
You set URL parameters using the go to page action, and the URL parameter is instantly applied without having to reload the page (if you are going to the same page the user is currently on).
Learn more
Article: URL parameters Article series: Navigation
Core reference: To to page
User
Users are a built-in data type in Bubble
You can set up privacy rules that govern what database data a user has access to
If a user has not yet signed up, Bubble automatically creates a temporary user that you can save data to. That data is transferred to the user when they sign up on the same device.
Learn more
Article: User accounts
Version control
Version control is a set of features that allows you to set up separate branches in the Bubble editor
These branches allow team members to work on separate features in isolation
Changes that you make in one branch will not be visible in other branches before they are synced
Learn more
Article series: Version control
Version-test
The version-test is the preview version of your app
You can see version-test in the URL when you preview your app:
https://my-bubble-application.bubbleapps.io/version-test/page
The development environment has a separate, independent database from the live environment to help you test your app's features without affecting live data
If you remove version-test from the URL, you will be taken to the live app instead (if your app has been deployed)
Learn more
Article: Previewing your app
Workflow
Workflows either belong to a specific page (and thus only run when a user is on that page) or is an API Workflow that can be run or scheduled server-side, or with an API call
Workflows are what makes your app react to user interaction, including:
Making changes in the database
Hiding/showing elements
Navigating to another page or external site
Sending emails
Learn more
Article series: Workflows
Core reference: List of events Core reference: List of actions
Workflow API
The Workflow API is a part of the Bubble API, and allows external apps and systems to trigger API workflows by making an API call to your app
The Workflow API must be enabled in Settings > API
The Workflow API lets you set up API workflows
Learn more
Article series: The Bubble API Article series: The Workflow API
Core reference: API workflow properties
Last updated