Cloud Functions for Firebase is a serverless framework that
lets you automatically run backend code in response to events triggered by
background events, HTTPS requests, the Admin SDK, or Cloud Scheduler jobs. Your
JavaScript, TypeScript or Python code is stored on Google Cloud infrastructure
and runs in a managed environment. There's no need to manage and scale your
own servers.
Already using Cloud Functions in Google Cloud?
Learn more about how Firebase fits
into the picture.
Integrate across Firebase features using the
Admin SDK
together with Cloud Functions, and integrate with third-party
services by writing your own webhooks.
Cloud Functions minimizes boilerplate
code, making it easier to use Firebase and Google Cloud inside your
function.
Zero maintenance
Deploy your JavaScript, TypeScript, or Python code to our servers with one
command from the command line.
After that, Firebase automatically scales up computing resources to match
the usage patterns of your users. You never worry about credentials,
server configuration, provisioning new servers, or decommissioning old
ones.
Keeps your logic private and secure
In many cases, developers prefer to control application logic on the
server to avoid tampering on the client side. Also, sometimes
it's not desirable to allow that code to be reverse engineered.
Cloud Functions is fully insulated from the client, so you
can be sure it is private and always does exactly what you want.
How does it work?
After you write and deploy a function, Google's servers begin to manage the
function immediately. You can fire the function directly with an HTTP request,
the Admin SDK, or a scheduled job, or, in the case of background functions,
Google's servers listen for events and run the function when it is
triggered.
As the load increases or
decreases, Google responds by rapidly scaling the number of virtual server
instances needed to run your function. Each function runs in isolation, in its
own environment with its own configuration.
Lifecycle of a background function
You write code for a new function, selecting an event provider (such as
Cloud Firestore), and defining the conditions under which the function should
execute.
When you deploy your function:
The Firebase CLI creates a .zip archive of the function code,
which is then uploaded to a Cloud Storage bucket (prefixed with
gcf-sources) before
Cloud Functions creates an Artifact Registry repository (named
gcf-artifacts) in your project.
Cloud Build retrieves the function code and builds the function
source. You can view Cloud Build logs in the
Google Cloud console.
The container image for the built functions code is uploaded to a
private Artifact Registry repository in your project
(named gcf-artifacts), and your new function is rolled out.
When the event provider generates an event that matches the function's
conditions, the code is invoked. The function has a service account attached
to it that can be used to access other Firebase services with the help of
the Firebase Admin SDK.
If the function is busy handling many events, Google creates more instances
to handle work faster. If the function is idle, instances are cleaned up.
When you update the function by deploying updated code, instances for older
versions are cleaned up along with build artifacts in
Artifact Registry, and replaced by new instances.
When you delete the function, all instances and zip archives are cleaned up,
along with related build artifacts in Artifact Registry.
The connection between the function and the event provider is removed.
In addition to listening for events with a background function, you can call
functions directly with an HTTP request or a
call from the client. You can also trigger functions
on a fixed schedule or
enqueue task functions via the Admin SDK.
Implementation path
Set up Cloud Functions
Install the Firebase CLI and initialize
Cloud Functions in your Firebase project.
Write functions
Write JavaScript code, TypeScript code, or Python code
to handle events from Firebase
services, Google Cloud services, or other event providers.
[[["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 2025-08-15 UTC."],[],[],null,["Cloud Functions for Firebase \nplat_ios plat_android plat_web plat_flutter plat_cpp plat_unity \nCloud Functions for Firebase is a serverless framework that lets you automatically run backend code in response to events triggered by background events, HTTPS requests, the Admin SDK, or Cloud Scheduler jobs. Your JavaScript, TypeScript or Python code is stored on Google Cloud infrastructure and runs in a managed environment. There's no need to manage and scale your own servers.\n\n\u003cbr /\u003e\n\nAlready using Cloud Functions in Google Cloud?\n[Learn more](/docs/functions/functions-and-firebase) about how Firebase fits\ninto the picture.\n\n[Get started](/docs/functions/get-started)\n[Use cases](/docs/functions/use-cases)\n\nKey capabilities\n\n|----------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| Integrates Firebase features and connects Firebase with Google Cloud | The functions you write can respond to events generated by various Firebase and Google Cloud features, from [Firebase Authentication triggers](/docs/functions/auth-events) to [Cloud Storage Triggers](/docs/functions/gcp-storage-events). Integrate across Firebase features using the [Admin SDK](/docs/admin/setup) together with Cloud Functions, and integrate with third-party services by writing your own webhooks. Cloud Functions minimizes boilerplate code, making it easier to use Firebase and Google Cloud inside your function. |\n| Zero maintenance | Deploy your JavaScript, TypeScript, or Python code to our servers with one command from the command line. After that, Firebase automatically scales up computing resources to match the usage patterns of your users. You never worry about credentials, server configuration, provisioning new servers, or decommissioning old ones. |\n| Keeps your logic private and secure | In many cases, developers prefer to control application logic on the server to avoid tampering on the client side. Also, sometimes it's not desirable to allow that code to be reverse engineered. Cloud Functions is fully insulated from the client, so you can be sure it is private and always does exactly what you want. |\n\nHow does it work?\n\nAfter you write and deploy a function, Google's servers begin to manage the\nfunction immediately. You can fire the function directly with an HTTP request,\nthe Admin SDK, or a scheduled job, or, in the case of background functions,\nGoogle's servers listen for events and run the function when it is\ntriggered.\n\nAs the load increases or\ndecreases, Google responds by rapidly scaling the number of virtual server\ninstances needed to run your function. Each function runs in isolation, in its\nown environment with its own configuration.\n\nLifecycle of a background function\n\n1. You write code for a new function, selecting an event provider (such as Cloud Firestore), and defining the conditions under which the function should execute.\n2. When you deploy your function:\n 1. The Firebase CLI creates a `.zip` archive of the function code, which is then uploaded to a Cloud Storage bucket (prefixed with `gcf-sources`) before Cloud Functions creates an Artifact Registry repository (named `gcf-artifacts`) in your project.\n 2. Cloud Build retrieves the function code and builds the function source. You can view Cloud Build logs in the [Google Cloud console](//console.cloud.google.com/logs/query;query%3Dresource.type%253D%2522build%2522&sa=D&ust=1597179510979000&usg=AFQjCNG2BmFrgWjGoP83WiMrB2TLLXpBEQ).\n 3. The container image for the built functions code is uploaded to a private Artifact Registry repository in your project (named `gcf-artifacts`), and your new function is rolled out.\n3. When the event provider generates an event that matches the function's conditions, the code is invoked. The function has a service account attached to it that can be used to access other Firebase services with the help of the Firebase Admin SDK.\n4. If the function is busy handling many events, Google creates more instances to handle work faster. If the function is idle, instances are cleaned up.\n5. When you update the function by deploying updated code, instances for older versions are cleaned up along with build artifacts in Artifact Registry, and replaced by new instances.\n6. When you delete the function, all instances and zip archives are cleaned up, along with related build artifacts in Artifact Registry. The connection between the function and the event provider is removed.\n\nIn addition to listening for events with a background function, you can call\nfunctions directly with an HTTP request or a\n[call from the client](/docs/functions/callable). You can also trigger functions\non a fixed [schedule](/docs/functions/schedule-functions) or\n[enqueue task functions](/docs/functions/task-functions) via the Admin SDK.\n\nImplementation path\n\n|---|------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| | Set up Cloud Functions | Install the Firebase CLI and initialize Cloud Functions in your Firebase project. |\n| | Write functions | Write JavaScript code, TypeScript code, or Python code to handle events from Firebase services, Google Cloud services, or other event providers. |\n| | Test functions | Use the [local emulator](/docs/functions/local-emulator) to test your functions. |\n| | Deploy and monitor | Upgrade your project to the [pay-as-you-go Blaze pricing plan](/pricing) and deploy your functions using the Firebase CLI. You can then use the [Google Cloud console](//console.cloud.google.com/functions/list) to view and search through your logs. |\n\nNext steps\n\n- [Get started](/docs/functions/get-started) setting up, creating, and deploying functions.\n- Learn more about [what you can do with functions](/docs/functions/use-cases).\n- Try the [Cloud Functions codelab](https://codelabs.developers.google.com/codelabs/firebase-cloud-functions/#0)."]]