Bubble Docs
Search
K
Comment on page

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:
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 workflow actions
  • 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

Atom
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

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
      • 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

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

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

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

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

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

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

Editor, the / Bubble editor

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

Article series: Design Article series: Elements
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

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

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

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
  • This can be any type of data: things from the database, a list of texts, the results of an API call or any other array of data
  • 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
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

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

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

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 key-value format 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
  • They are also the only data type that come with some specific things:
    • A built-in email field
    • An authentication system (allowing users to securely sign up and log into your app)
  • 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

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
      </