Manage installed Firebase Extensions

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

List a project's installed extension instances

You can list every instance of the extensions you installed.

Run the extensions-list command:

firebase ext:list --project=projectId-or-alias

Monitor an installed extension instance

In the Firebase console, you can monitor the activity of an installed extension, including checks on its health, usage, and logs.

Set budget alerts

Setting budget alerts is a good practice in general, but alerts may be especially important when you're trusting another party's code to run in your project.

Make sure that you set up budget alerts for your Firebase project.

View functions created by extensions

  1. Go to your Functions dashboard of the Firebase console.

  2. In the Dashboard tab, you can view the functions from Firebase Extensions (alongside any other functions that you've deployed for your project).

    Functions created by extensions have names, in the format: ext-extension-instance-id-functionName

    For example: ext-awesome-task-simplifier-onUserCreate

View Cloud Scheduler jobs created by extensions

  1. Open your project's Cloud Scheduler page in the Google Cloud Console.

  2. In the Jobs list, you can view the Cloud Scheduler jobs from Firebase Extensions (alongside any other jobs you've created for your project).

    Jobs created by extensions have names in the format: firebase-ext-extension-instance-id-functionName

    For example: firebase-ext-awesome-task-simplifier-doTask

Check if an installed extension is healthy

You can review all the errors from functions (including those created by Firebase Extensions) in the console.

  1. In the Health tab of your Functions dashboard, you can view an overview of errors and performance information for all functions in your project.

  2. To view information for a specific extension, use the filter at the top of the page to select a specific function.

Check how often an installed extension is running

  1. In the Dashboard tab of your Functions dashboard, locate the specific function for the Firebase Extension that you want to check.

  2. Click (the overflow menu) on the far right-side of the entry, then select Detailed usage stats.

  3. In the displayed Google Cloud Console, you can drill down into various invocations of a function and even inspect its source code.

View the logs for an extension

If you're trying to debug your project, or submit a bug report to Firebase, it's useful to view logs of the functions running in your project.

In the Logs tab of your Functions dashboard, use the filter at the top of the page to select the functions created by your extension.

Update an installed extension instance to the latest version

You can update an installed instance of an extension to its latest released version. You might want to update an installed instance because the instance is already actively running or set up in your testing, project, or app workflow.

When you update an instance, all the instance's extension-specific resources and logic is overwritten to use the new version's source code and files. The extension's instance ID and service account will not change.

During the update process, you'll be notified of any changes for the new version, and you'll be able to specify values for any new parameters.

  1. Run the extensions-list command to obtain the extension's instance ID:

    firebase ext:list --project=projectId-or-alias
  2. Run the extension-update command:

    firebase ext:update extensionInstanceId --project=projectId-or-alias

Reconfigure an installed extension instance

You can change the values of the user-configured parameters for an installed extension instance. These new values will be used in any future triggers of the instance, but all previous artifacts or structural elements created by the extension (like stored images or existing storage buckets) will not be changed.

  1. Run the extensions-list command to obtain the extension's instance ID:

    firebase ext:list --project=projectId-or-alias
  2. Run the extension-configure command:

    firebase ext:configure extensionInstanceId --project=projectId-or-alias --params=path/to/envFile

    Where --params is an optional flag to supply a file that defines the values of user-configurable parameters and allows you to bypass the interactive terminal prompts for these values. Define your values in a .env file that follows the dotenv syntax.

  3. If you're prompted (or you didn't supply a .env file), enter configuration values to customize the extension for your project.

Uninstall an extension instance

You can uninstall an instance of an extension from your Firebase project. This action deletes the service account and all the resources (like a set of functions) that Firebase created specifically for that instance of the extension. 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.

Here's how to uninstall an extension:

  1. Run the extensions-list command to obtain the extension's instance ID:

    firebase ext:list --project=projectId-or-alias
  2. Run the extension-uninstall command:

    firebase ext:uninstall extensionInstanceId --project=projectId-or-alias