Overview

Firebase Extensions help you reduce time spent on development, maintenance, and growth of your app.

When you find a Firebase Extension that solves a need for your app or project, all you do is install and configure the extension. If you need multiple configurations of the extension, you can install the extension multiple times, with a different configuration for each instance you install.

With extensions, you don't spend time researching, writing, and debugging the code that implements functionality or automates a task for your app or project.

To install or manage extensions, you must be assigned one of these roles: Owner or Editor or Firebase Admin.

To install an extension, your project must be on the Blaze (pay as you go) plan. Although there is no charge for installing an extension, you might be charged for your use of Firebase services or Cloud services such as Cloud Secret Manager, if your usage exceeds the services' free tier.

You can also evaluate extensions before installing them on a project using the Extensions emulator, a component of the Firebase Local Emulator Suite.

Official Firebase extensions

The official Firebase extensions are developed and tested by Firebase and Firebase Extensions partner services. These extensions are reliable and secure.

Browse Firebase extensions

Browse Firebase extensions in the Extensions Hub.

View the source code of an extension

To find a link to the source code for an extension, click Learn more on the extension's card in the Extensions Hub.

Contents of an extension's source code

An extension's source directory includes:

  • extension.yaml file — Contains the extension's metadata and defines the resources created, the Google APIs and access roles required for operation, and any user-configured parameters (environment variables) for the extension

  • functions directory — Contains the files for the source code for the extension

  • README file — Lists the extension's metadata (but in more human-readable format) as well as the content from the PREINSTALL file

  • PREINSTALL file — Describes how the extension works, any necessary pre-installation tasks, configuration requirements, and details about the extension

  • POSTINSTALL file — Describes specific usage instructions and any further integration requirements

Resources for an extension

Every Firebase project contains several types of "resources". Project resources can include things like deployed Cloud Functions, database instances, Cloud Storage buckets, Cloud Scheduler jobs, and Cloud Secret Manager data.

When you install an extension, Firebase creates new extension-instance-specific resources in your project. These resources are required by the extension to operate.

Note that, if you uninstall an instance of an extension, all the resources that Firebase created specifically for that instance of the extension to operate (like a set of functions) are deleted. However, the following are not deleted:

  • Any artifacts created by the extension (like stored images).

  • Any other resources in your project, like a database instance or Cloud Storage bucket. Even if the extension interacted with these other resources, they are not extension-specific, so they aren't deleted if the extension is uninstalled.

Using the Firebase console, the Firebase CLI, or autogenerated SDKs {: #console-vs-cli}

You can install and manage extensions using either the Firebase console or the Firebase CLI, or in code using autogenerated SDKs.

Action Firebase console Firebase CLI Autogenerated SDK
View detailed information (pre-installation)
Install
View configuration (post-installation)
Edit configuration
Update version
Uninstall

Next Steps