From e1873813ddca20c46e1d341078e8dbc199ea7c00 Mon Sep 17 00:00:00 2001
From: Pinkesh
Date: Thu, 21 May 2026 16:49:28 +0530
Subject: [PATCH 1/2] Add Supabase Edge Functions
---
.../adding-customization/cloud-functions.md | 197 ++++++++++++++++--
.../imgs/add-packge-edge-function.avif | Bin 0 -> 6007 bytes
.../imgs/edge-functions-handle-secrets.avif | Bin 0 -> 188577 bytes
.../imgs/trigger-edge-function.avif | Bin 0 -> 87271 bytes
.../imgs/use-edge-function-result.avif | Bin 0 -> 195888 bytes
5 files changed, 176 insertions(+), 21 deletions(-)
create mode 100644 docs/ff-concepts/adding-customization/imgs/add-packge-edge-function.avif
create mode 100644 docs/ff-concepts/adding-customization/imgs/edge-functions-handle-secrets.avif
create mode 100644 docs/ff-concepts/adding-customization/imgs/trigger-edge-function.avif
create mode 100644 docs/ff-concepts/adding-customization/imgs/use-edge-function-result.avif
diff --git a/docs/ff-concepts/adding-customization/cloud-functions.md b/docs/ff-concepts/adding-customization/cloud-functions.md
index a9faeda6..c280a680 100644
--- a/docs/ff-concepts/adding-customization/cloud-functions.md
+++ b/docs/ff-concepts/adding-customization/cloud-functions.md
@@ -9,16 +9,22 @@ keywords: [FlutterFlow, Cloud Functions, Serverless, Integration]
# Cloud Functions
-[**Cloud Functions**](https://firebase.google.com/docs/functions) allows you to run backend code in response to events triggered by Firebase features and HTTPS requests. For example, you want to automatically send a welcome email to users when they sign up for your app. You can do this using a Cloud Function that triggers on Firebase Authentication's user creation event.
+Cloud Functions let you run backend code in response to events and API requests without managing your own servers. They are commonly used for tasks such as processing data, calling external APIs, sending notifications, running AI workflows, or securely handling secrets and business logic.
-We allow you to write and deploy Firebase Cloud Functions directly within the platform. With an integrated code editor, writing JavaScript cloud functions is quick and user-friendly. Each function has customizable boilerplate settings, including pre-configured essentials like memory, region, and timeout.
+FlutterFlow supports both Firebase Cloud Functions and Supabase Edge Functions, allowing you to build scalable backend workflows.
+
+## Firebase Cloud Functions
+
+[**Firebase Cloud Functions**](https://firebase.google.com/docs/functions) allow you to run server-side Node.js code triggered by Firebase services and HTTPS requests. For example, you can automatically send emails, process uploads, generate AI content, or react to database changes.
+
+FlutterFlow includes built-in support for creating, editing, deploying, and triggering Firebase Cloud Functions directly from the platform.
:::note
Read up on some interesting use cases of
[**Cloud Functions**](https://firebase.google.com/docs/functions/use-cases).
:::
-## Adding Cloud Functions
+### Adding Cloud Functions
Let's see how to add a *Cloud Function* by building an example that generates logos based on user prompts. Here's how it looks:
@@ -31,13 +37,6 @@ The Cloud Function takes input from a TextField widget and initiates an API call
Here are the step-by-step instructions to build such an example:
-1. [Add page state variables](#1-add-page-state-variables)
-2. [Build a page](#2-build-a-page)
-3. [Create and deploy Cloud Function](#3-create-and-deploy-cloud-function)
-4. [Optional: Add package](#4-optional-add-package)
-5. [Trigger Cloud Function](#5-trigger-cloud-function)
-6. [Optional: Use Cloud Function result](#6-optional-use-cloud-function-result)
-
:::info[Before you Begin]
* Make sure the project is on Blaze plan on Firebase.
@@ -45,7 +44,7 @@ Here are the step-by-step instructions to build such an example:
[**Firebase Setup**](../../ff-integrations/firebase/connect-to-firebase-setup.md).
:::
-### 1. Add page state variables
+#### 1. Add page state variables
For this example, you'll need to set up two
[Page State variables](../../resources/ui/pages/page-lifecycle.md#creating-a-page-state):
@@ -57,7 +56,7 @@ loading indicator during the logo creation process. Its value is set to *True* b

-### 2. Build a page
+#### 2. Build a page
Let's add a page that allows users to enter the prompt. To speed up, you can add a page from the template or use [AI Page Gen](../../resources/ui/pages/intro-pages.md#create-an-ai-generated-page). Here is the page added using AI Page Gen, and after some modification, it looks the below:
@@ -70,7 +69,7 @@ Few things to note here:
* We use the [**ConditionalBuilder**](../layout/responsive-widgets/conditional-builder-widget.md) widget to show/hide the loading indicator based on the *generatingImage* variable. **Tip**: The Else branch of this widget is nothing but a ProgressBar inside the Container with a [rotating loop animation](../animations/widget_animations.md).
* The Image widget uses the *logoImage* variable to display the logo.
-### 3. Create and deploy Cloud Function
+#### 3. Create and deploy Cloud Function
To create and deploy a *Cloud Function* :
@@ -80,7 +79,7 @@ To create and deploy a *Cloud Function* :
2. Click **+ Add**. This will add the default `newCloudFunction`.
3. Set the **Cloud Function Name**.
-#### Boilerplate Settings
+##### Boilerplate Settings
On the right side, you can configure the following Boilerplate Settings:
1. **Memory Allocation**: You can specify the amount of memory your function should have when
@@ -92,7 +91,7 @@ On the right side, you can configure the following Boilerplate Settings:

-#### Configuring Input & Output
+##### Configuring Input & Output
Your cloud function might need some data to process and return the result. You can do so
by configuring the input and output.
@@ -131,7 +130,7 @@ For a list, the function should return:
});
```
-#### To deploy
+##### To deploy
1. Click the `[>]` icon to view the boilerplate code; a popup will open with the updated
code, and then click **`> Copy to Editor`**. **Tip**: To see if you are able to deploy the cloud function (before adding your own code), proceed directly with steps 8 and 9.
@@ -220,7 +219,7 @@ com/embed/1dc13a747b6b4f6d9c9f6d3e1721e488?sid=a756ed68-f20a-4723-8a89-bc1462ede
-### 4. Optional: Add package
+#### 4. Optional: Add package
Your cloud function may require third-party packages to work. You can include any npm package (dependency) by listing it in the `package.json` file. This file not only manages the npm package dependencies for your functions but also holds project metadata, sets up scripts for tasks such as deployment and outlines the compatible Node.js versions.
@@ -228,7 +227,7 @@ To add a dependency, open the `package.json` file and specify your package in th

-### 5. Trigger Cloud Function
+#### 5. Trigger Cloud Function
The newly created *Cloud Function* will be available as an action when you are adding one. For this example, on click of a button, we'll first set the *generatingImage*to *True* and then trigger the **Cloud Function Action**.
@@ -236,7 +235,7 @@ The newly created *Cloud Function* will be available as an action when you are a
com/embed/5c712863f95c4fcabd5c3851a3cbe56b?sid=a7ac875f-11b5-4b5a-b3e2-8ae03ce49571" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen>
-### 6. Optional: Use Cloud Function result
+#### 6. Optional: Use Cloud Function result
To use the *Could Function* result, ensure you provide the *Action Output Variable Name* while adding the action, and then you can access it via the **Set from Variable menu > Action Outputs > [Action Output Variable Name]**.
@@ -245,7 +244,7 @@ For this example, we'll use the result (i.e., generated logo image URL) and set
-## Testing Cloud Functions in Google Cloud console
+### Testing Cloud Functions in Google Cloud console
The Google Cloud console has built-in functionality to allow you to trigger a Cloud Function for testing. This means that after deploying Cloud Functions, you can test them without writing to Firestore (either from FlutterFlow or otherwise).
@@ -285,7 +284,7 @@ The `fields` in the example above are for FlutterFlow's built-in `sendUserPushNo
The Cloud Function will now run and gather the relevant entries from Google Cloud Logging.
-## FAQs
+### FAQs
Why do cloud function deployments fail on newly created projects?
@@ -337,3 +336,159 @@ Follow the steps below to fix the issue:
+## Supabase Edge Functions
+
+[**Supabase Edge Functions**](https://supabase.com/docs/guides/functions) let you run secure backend logic using Deno and TypeScript directly on Supabase infrastructure. They are ideal for AI integrations, secure API wrappers, webhooks, payments, and server-side processing.
+
+Unlike Firebase Cloud Functions, Supabase Edge Functions are tightly integrated with your Supabase project and run closer to users for lower latency.
+
+:::info[Prerequisite]
+Before using Supabase Edge Functions, make sure your FlutterFlow project is connected to Supabase. See the [**Supabase Setup**](../../ff-integrations/supabase/supabase-setup.md#connect-with-supabase-oauth) guide.
+:::
+
+### Adding Edge Functions
+
+Let's see how to add an Edge Function by building an example that generates an AI summary of product reviews.
+
+The Edge Function takes a list of reviews as input, sends them to an AI model, and returns a JSON response containing a summary and overall sentiment. This example demonstrates a key benefit of Edge Functions: securely storing the Anthropic API key on the Supabase backend instead of exposing it inside the app.
+
+Here's how it looks:
+
+
+
+
+
+
+#### 1. Create and Deploy Edge Functions
+
+1. Open the **Cloud Functions** section from the Navigation Menu.
+2. Click the **+** button and select **Supabase Edge Function**.
+3. Give the Edge Function a name. In this example, we use `getAIReviewsSummary`.
+4. Configure the function settings. In this example, the function accepts a list of reviews as input and returns a JSON response containing the AI-generated summary and sentiment.
+
+ You can also configure additional settings:
+
+ - **Verify JWT**: Verifies the JWT token from the request header. Disable this if you want to allow unauthenticated access.
+ - **Enable CORS**: Automatically adds CORS headers and preflight request handling. Required when calling the Edge Function from web apps.
+ - **Return Value**: Defines the response type returned by the function.
+ - **Define Parameters**: Configure the request body parameters accepted by the function.
+5. Click the code-generation button to generate and copy the boilerplate code into the editor. Copy the boilerplate code and use any AI assistant to generate the implementation for your specific use case. For example, you can ask the AI assistant to complete the function for generating AI-powered review summaries using the Anthropic API. Review the generated implementation and verify it matches your expected logic and response format.
+6. Paste the generated code back into the Edge Function editor.
+7. Click **Save Edge Function**.
+8. Once saved, click **Deploy**.
+9. FlutterFlow will show a deployment dialog listing the available Supabase Edge Functions for deployment.
+10. Click **Deploy** for the selected Edge Function to deploy it to your connected Supabase project.
+
+
+
+
+
+
+:::tip[Add Package]
+
+You can add external Deno, npm, or JSR packages using the `Dependencies (deno.json)` tab if your Edge Function requires additional libraries or SDKs.
+
+For example, to add the `lodash` npm package:
+
+```json
+{
+ "imports": {
+ "lodash": "npm:lodash@4.17.21"
+ }
+}
+```
+
+You can then use it inside your Edge Function:
+
+```jsx
+import _ from "lodash"
+```
+
+
+
+:::
+
+#### 2. Handling Secrets
+
+When your Edge Function needs credentials, API keys, or tokens, do not hardcode them in the function code. Store them as Supabase Edge Function secrets so they remain encrypted and are not exposed in your app or repository.
+
+To add a secret, open your Supabase project, go to **Edge Functions > Secrets**, enter the secret name and value, then click **Save**. For example, you can add an any API key as:
+
+```
+ANTHROPIC_KEY=your-api-key
+```
+
+Then reference it inside your Edge Function using `Deno.env.get()`:
+
+```tsx
+const apiKey = Deno.env.get("ANTHROPIC_KEY")
+
+if (!apiKey) {
+ return new Response("Missing ANTHROPIC_KEY", {
+ status: 500,
+ headers: { ...corsHeaders, "Content-Type": "text/plain" },
+ })
+}
+```
+
+
+
+This keeps sensitive values on the Supabase backend while allowing your function to securely use them at runtime.
+
+#### 3. Trigger Edge Functions and Use Result
+
+Once the Edge Function is deployed, you can trigger it from an action in your app.
+
+For example, on a button tap or page load, add the **Edge Function** action and select the function you created. Pass the required input parameters, such as the list of reviews.
+
+
+
+If the function returns a value, provide an **Action Output Variable Name** while configuring the action. You can then use the returned data from:
+
+**Set from Variable > Action Outputs > [Action Output Variable Name]**
+
+For this example, you can use the returned JSON values, such as `summary` and `sentiment`, to update page state variables or display the AI-generated review summary directly in your UI.
+
+
diff --git a/docs/ff-concepts/adding-customization/imgs/add-packge-edge-function.avif b/docs/ff-concepts/adding-customization/imgs/add-packge-edge-function.avif
new file mode 100644
index 0000000000000000000000000000000000000000..3c39fdeee716eac85204d3724fc40ea4328032c5
GIT binary patch
literal 6007
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
z