[ Web Proxy ]
URL:
Viewing: https://firebase.google.com/docs/extensions/publishers [Back]  [Original]

Extension publisher overview  |  Firebase Extensions Skip to main content
Overview Fundamentals AI Build Run Reference Samples
Firebase [Firebase]
Send feedback

Extension publisher overview Stay organized with collections Save and categorize content based on your preferences.

A Firebase Extension performs a specific task or set of tasks in response to HTTP requests or triggering events from other Firebase and Google products, like Firebase Cloud Messaging, Cloud Firestore, or Pub/Sub.

You can build your own extension for personal use or to share with the world in the Firebase Extensions Hub. For example, your extension can perform a specific task that your app regularly needs, or it can make it easier to access one of your company's APIs. After you build your extension, you can share it with others. Those users can install and configure the extension for use in their own Firebase projects.

Structure of an extension

You can think of an extension as having three main components:

To develop an extension, you assemble these components into the following structure:

example-extension
 functions
    integration-tests
       extensions
          example-extension.env
       firebase.json
       integration-test.spec.js
    index.js
    package.json
 README.md
 PREINSTALL.md
 POSTINSTALL.md
 CHANGELOG.md
 icon.png
 extension.yaml

After you have created your extension, you can use the Firebase CLI to install it into a project or publish it to the Extensions Hub, where anyone can discover and install it into their projects.

What products can my extension interact with?

Because a Firebase extension does its work using Cloud Functions, you can think of the question of possible integrations in two ways: What products can trigger my extension's functions? and Once triggered, what products can my extension's functions interact with?

Supported function triggers

Manual triggers

First of all, you can manually trigger a function. Firebase Extensions and Cloud Functions support two ways of manually triggering functions:

By exposing HTTP endpoints from your extension, your extension can potentially integrate with any web service that supports webhooks. With callable functions, users who install your extension can use the Firebase SDKs as a client library for accessing the API your extension implements.

Firebase service triggers

Most Firebase products emit events that can trigger an extension's Cloud Functions.

Google Cloud service triggers

An extension can also include functions that trigger off several non-Firebase Google Cloud services:

Supported from functions

Once an extension's Cloud Function has been triggered, the range of possible integrations is generally open ended. Here are some highlights of what you can do from a Cloud Function:

How to build an extension

The Get Started tutorial walks you through the process of building, testing, and publishing a complete extension, and is the recommended way to learn how to build one.

Get Started

After you've gone through the getting started guide once, you can refer to the individual topic guides, which explain each of the tasks involved in building your own extension:

Send feedback

Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2026-08-19 UTC.

Need to tell us more? [[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2026-08-19 UTC."],[],[]]

Web Proxy Viewer  |  New URL  |  Original Page