Firebase Connector
Description
Firebase is a platform developed by Google for creating mobile and web applications. Firebase Cloud Firestore is a document-based, flexible, scalable, and NoSQL cloud database, used to store and sync data for client and server-side applications. This component uses the Firebase Admin SDK to create, read, update, delete, and list documents within a Firebase Cloud Firestore collection.
API Documentation
This component was built using the Firebase Admin SDK Reference.
Connections
Private Key
key: firebaseConnectionThe Firebase Admin SDK is a set of server libraries that lets applications interact with Firebase from privileged environments. This connection authenticates with a service account private key generated for the Firebase project.
Prerequisites
- A Firebase project with Cloud Firestore enabled
- Permission to manage service accounts for that project
Setup Steps
- Follow the Firebase Admin SDK setup guide to open the service account settings for the Firebase project
- Generate a new private key for the service account
- Download the JSON file that contains the generated credentials
Configure the Connection
- Enter the Project Id from the
project_idvalue in the JSON file - Enter the Private Key from the
private_keyvalue in the JSON file - Enter the Email from the
client_emailvalue in the JSON file
| Input | Notes | Example |
|---|---|---|
Provide the | firebase-adminsdk-xxxxx@my-project-id.iam.gserviceaccount.com | |
| Private Key | Provide the | -----BEGIN PRIVATE KEY----- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX -----END PRIVATE KEY----- |
| Project Id | Provide the unique identifier of the project from the Google Cloud Platform. | my-project-id |
Data Sources
Select Collection
Select a collection from the Firebase Cloud Firestore database. | key: selectCollection | type: picklist
| Input | Notes | Example |
|---|---|---|
| Connection | The Firebase connection to use. |
Example Payload for Select Collection⤓
Select Document
Select a document from a Firebase Cloud Firestore collection. | key: selectDocument | type: picklist
| Input | Notes | Example |
|---|---|---|
| Collection | Provide a string value for the collection name. | Customers |
| Connection | The Firebase connection to use. | |
| Order By | Provide a string value for the field to order by. | Name |
| Query Operators | A JSON array of filter conditions to apply to the query. Each condition is an object with field, operator, and value keys, and all conditions must match. Supported operators are the Cloud Firestore where-clause operators, such as ==, !=, in, not-in, and array-contains. A null value can only be compared with == or !=. |
Example Payload for Select Document⤓
Actions
Bulk Create Documents
Create multiple documents in a Cloud Firestore collection in a single operation | key: bulkCreateDocuments
| Input | Notes | Example |
|---|---|---|
| Collection | Provide a string value for the collection name. | Customers |
| Documents | An array of documents to be created in the collection. | |
| Connection | The Firebase connection to use. |
Example Payload for Bulk Create Documents⤓
Create Document
Create a document in a Cloud Firestore collection | key: createDocument
| Input | Notes | Example |
|---|---|---|
| Collection | Provide a string value for the collection name. | Customers |
| Data | The fields to write to the document, as key-value pairs. Each key is a field name and each value is the value to store in that field. | |
| Connection | The Firebase connection to use. |
Example Payload for Create Document⤓
Delete Document
Remove a document from a Cloud Firestore collection | key: deleteDocument
| Input | Notes | Example |
|---|---|---|
| Collection | Provide a string value for the collection name. | Customers |
| Document | Provide a string value for the unique identifier of the document. | 4hJk2mX9pQrT7vWn3LsY |
| Connection | The Firebase connection to use. |
Example Payload for Delete Document⤓
Get Document
Get the contents of a document in a Cloud Firestore collection | key: getDocument
| Input | Notes | Example |
|---|---|---|
| Collection | Provide a string value for the collection name. | Customers |
| Document | Provide a string value for the unique identifier of the document. | 4hJk2mX9pQrT7vWn3LsY |
| Connection | The Firebase connection to use. |
Example Payload for Get Document⤓
List Collections
List all collections in a Cloud Firestore database | key: listCollections
| Input | Notes | Example |
|---|---|---|
| Connection | The Firebase connection to use. |
Example Payload for List Collections⤓
List Documents
List all documents in a Cloud Firestore collection | key: listDocuments
| Input | Notes | Example |
|---|---|---|
| Collection | Provide a string value for the collection name. | Customers |
| Connection | The Firebase connection to use. | |
| Order By | Provide a string value for the field to order by. | Name |
| Query Operators | A JSON array of filter conditions to apply to the query. Each condition is an object with field, operator, and value keys, and all conditions must match. Supported operators are the Cloud Firestore where-clause operators, such as ==, !=, in, not-in, and array-contains. A null value can only be compared with == or !=. |
Example Payload for List Documents⤓
Remove Field
Completely removes a field from a given document (may not work on a field with a null value) | key: removeField
| Input | Notes | Example |
|---|---|---|
| Collection | Provide a string value for the collection name. | Customers |
| Document | Provide a string value for the unique identifier of the document. | 4hJk2mX9pQrT7vWn3LsY |
| Field To Remove | The name of the field to delete from the document. Use dot notation, such as address.city, to remove a nested field. | firstName |
| Connection | The Firebase connection to use. |
Example Payload for Remove Field⤓
Update Document
Update a document in a Cloud Firestore collection | key: updateDocument
| Input | Notes | Example |
|---|---|---|
| Collection | Provide a string value for the collection name. | Customers |
| Data | The fields to write to the document, as key-value pairs. Each key is a field name and each value is the value to store in that field. | |
| Document | Provide a string value for the unique identifier of the document. | 4hJk2mX9pQrT7vWn3LsY |
| Connection | The Firebase connection to use. |
When updating a document, any number of optional fields can be specified. However, to unset a value but keep the field, an unbound input (null, undefined) must be passed, such as from the code component or a previous step result. This will result in the field's value becoming null or unset in the document. To completely remove the field from the document, use the Remove Field action.
Example Payload for Update Document⤓
Changelog
2026-10-21
Updated session handling and added configuration-time support across actions:
- Updated all actions and data sources to isolate each run's Firebase session, so one run can no longer pick up another connection's credentials or close a session another run is using
- Added inline action calling support across all actions for improved example output during configuration
- Added output schemas to the List Collections, Create Document, and List Documents actions for improved field mapping during configuration
2026-06-11
- Masked the Private Key connection field so the value is hidden in the UI
- Renamed the connection label to Private Key
2026-04-30
Updated spectral version
2025-10-21
Added inline data sources for collections and documents to enhance data selection capabilities