Google Cloud Firestore
The Google Cloud Firestore modules enable you to work with documents in your Google Cloud Firestore.
Getting Started with Google Cloud Firestore
Prerequisites
- A Google account
- A Firebase project (created via Google Firebase Console).
Connecting Google Cloud Firestore to Integromat
To connect your Google Cloud Firestore to Integromat, you'll need to obtain the project's Client ID and Client Secret in the Google Cloud Platform, and create a new Firebase project via Google Firebase Console.
Obtaining Client ID and Client Secret
1. Sign in to Google Cloud Platform using your Google credentials.
2. Click Select a project > NEW PROJECT.
3. Enter the desired project name, and click the CREATE button.
4. Go to APIs & Services > Library.
5. Search and enable the following required APIs:
- Google Cloud Firestore API
- Firebase Management API
- Google Cloud Storage JSON API
The desired service option should display as you type. Click on the API/service you want to connect to Integromat.
6. Click the ENABLE button to enable the selected API.
7. Open APIs & Services > Library, and search and enable the two remaining required APIs (see step 5 above).
8. Open the OAuth consent screen settings.
9. Choose the External option, and click the CREATE button.
10. Fill in the required fields as follows, and then click the Save button:
Application name |
Enter the name of the app asking for consent. For example, |
||||||||||
Scopes for Google APIs |
Click the Add scope button to open the Add scope dialog. Add required scopes. The list of required scopes:
|
||||||||||
Authorized domains | integromat.com |
11. Go to Credentials. Click on the +CREATE CREDENTIALS, and select the OAuth Client ID option.
12. Fill in the required fields as follows, and then click the CREATE button to create the application:
Application type | Web application |
Name | e.g. Integromat
|
Authorized redirect URIs |
|
13. A dialog containing the app's Client ID and Client Secret is displayed. Save them to a safe place for later use.
14. Go to Integromat, open the Create a connection dialog of the desired Google Cloud Firestore module, enter the Client ID and Client Secret from step 13 above in the respective fields, and click Continue.
15. Sign in with your Google account.
16. The This app isn't verified window may appear.
17. Click on the Advanced link, and then on the Go to Integromat (unsafe) link to allow access using your custom OAuth client.
18. Click Allow (2x) to grant Integromat permission.
19. Click the Allow button to confirm your choices.
The connection to your Google Cloud Firestore account has been established.
Now, create a Firebase project and a Firestore database.
Creating a Firebase Project
1. Sign in to Google Firebase Console using your Google credentials.
2. Click Create a project.
3. Enter the desired project name, and click the Create button. Set Google Analytics settings as needed.
4. Create a Firestore Database.
Now, you can build your scenario using the Google Cloud Firestore modules.
Documents
Watch New Documents
Retrieves document details when a document is created in the specified collection.
Connection | Establish a connection to your Google Cloud Firestore account. |
Input the collection path | Select whether to specify the project, database, and collection manually (By Mapping) or using a drop-down menu (By Dropdown). |
Collection Path |
Enter the collection path in the following format:
For example: projects/nifty-anyway-295114/databases/(default)/documents/TestCollection |
Limit | Enter the maximum number of documents Integromat will return during one execution cycle. |
Mask | Specify field paths on a document you want to return. If a document has a field that is not present in this mask, that field will not be returned in the response. |
Create a Document
Creates a new document.
Connection | Establish a connection to your Google Cloud Firestore account. | ||||
Input the collection path | Select whether to specify the project, database, and collection manually (By Mapping) or using a drop-down menu (By Dropdown). | ||||
Collection Path |
Enter the collection path in the following format:
For example: projects/nifty-anyway-295114/databases/(default)/documents/TestCollection |
||||
Document Fields |
Specify the name and value of the document's field(s) you want to add to the collection.
|
||||
Document ID |
Specify the document ID. If not specified, an ID will be assigned by the service. For best performance, let Firestore assign the ID, or make sure to avoid hotspots. For best compatibility with the API, avoid using special characters. |
||||
Mask |
Specify field paths on a document you want to return. If a document has a field that is not present in this mask, that field will not be returned in the response. |
Get Documents
Retrieves specified documents.
Connection | Establish a connection to your Google Cloud Firestore account. |
Project | Select the project or enter the project ID of the project you want to retrieve documents from. |
Documents |
Specify the documents you want to retrieve. Enter the document path in the following format:
For example: projects/nifty-anyway-293ad4/databases/(default)/documents/Test/FhmIXJYB7fQ0iURF2F4I |
Limit |
Set the maximum number of documents Integromat will return during one execution cycle. |
Consistency Selector |
Select the consistency mode for this transaction.
|
List Documents
Retrieves all documents in the collection.
Connection | Establish a connection to your Google Cloud Firestore account. |
Input the collection path | Select whether to specify the project, database, and collection manually (By Mapping) or using a drop-down menu (By Dropdown). |
Collection Path |
Enter the collection path in the following format:
For example: projects/nifty-anyway-295114/databases/(default)/documents/TestCollection |
Limit | Enter the maximum number of documents Integromat will return during one execution cycle. |
Show Missing | Select if the list should show missing documents. A missing document is a document that does not exist but has sub-documents. These documents will be returned with a key, but will not have the fields Document.create_time, or Document.update_time set. |
Order By | Specify the field to order results by. |
Mask | Specify field paths on the document you want to return. If a document has a field that is not present in this mask, that field will not be returned in the response. |
Consistency Selector |
Select the consistency mode for this transaction.
|
List Collection IDs
Connection | Establish a connection to your Google Cloud Firestore account. |
Input the document path |
Select whether to specify the project, database, and collection manually (By Mapping) or using a drop-down menu (By Dropdown). |
Document Path |
Enter the document path in the following format:
For example: projects/nifty-anyway-293ad4/databases/(default)/documents/Test/FhmIXJYB7fQ0iURF2F4I |
Limit | Set the maximum number of collection IDs Integromat will return during one execution cycle. |
Query Documents
Runs a query.
Connection | Establish a connection to your Google Cloud Firestore account. |
Input the document path |
Select whether to specify the project, database, and collection manually (By Mapping) or using a drop-down menu (By Dropdown). |
Document Path |
Enter the document path in the following format:
For example: projects/nifty-anyway-293ad4/databases/(default)/documents/Test/FhmIXJYB7fQ0iURF2F4I |
(Select) Fields |
Specify the fields you want to return. If no fields are specified, all fields will be returned. |
(From) Collection ID |
Specify the collection to query. Enter the collection ID. When set, selects only collections with this ID. |
All Descendants | Select the No option to select only collections that are immediate children of the parent specified in the query request. When enabled, this option selects all descendant collections. |
Where | Set up the filter settings. Refer to the list of operators. |
Order By | Specify the field you want to order results by. |
Limit | Enter the maximum number of documents Integromat will return during one execution cycle. |
Every query requires an Index.
For the most basic queries, Firestore creates indexes by default.
But, some queries require you to set up an Index manually. Follow the steps below to set up the Index.
1. After sending a request that requires setting up the Index manually, the Firestore module will provide a link in the Error Message.
2. Open the link in your browser. You will be redirected to Firestore > Indexes.
3. Click the Create Index button. Wait a few minutes until Firestore completes the index creation.
4. Now, the Query Documents module will work without an error.
Update a Document
Updates or inserts a document.
Connection | Establish a connection to your Google Cloud Firestore account. |
Input the document path |
Select whether to specify the project, database, and collection manually (By Mapping) or using a drop-down menu (By Dropdown). |
Document Path |
Enter the document path in the following format:
For example: projects/nifty-anyway-293ad4/databases/(default)/documents/Test/FhmIXJYB7fQ0iURF2F4I |
Add or Update Fields |
Specify document's fields you want to add or update. Add: Enter the name that does not exist in the document, and specify the desired value Update: Enter the name of the existing field, and specify the new value. |
Delete Fields |
Specify the fields you want to remove from the document. If the field is in both |
Mask |
Specify field paths on a document you want to return. If a document has a field that is not present in this mask, that field will not be returned in the response. |
Delete a Document
Deletes a single document.
Connection | Establish a connection to your Google Cloud Firestore account. |
Input the document path |
Select whether to specify the project, database, and collection manually (By Mapping) or using a drop-down menu (By Dropdown). |
Document Path |
Enter the document path in the following format:
For example: projects/nifty-anyway-293ad4/databases/(default)/documents/Test/FhmIXJYB7fQ0iURF2F4I |
Storage
Backup to Google Cloud Storage
Exports a copy of all or a subset of documents from Google Cloud Firestore to Google Cloud Storage.
Please read the How to Backup a Firestore Database, the No-code Way article.
Restore from Google Cloud Storage
Imports documents into Google Cloud Firestore. Existing documents with the same name are overwritten.
Make an API Call
Allows you to perform a custom API call.
Connection | Establish a connection to your Google Cloud Firestore account. |
URL |
Enter a path relative to For the list of available endpoints, refer to the Cloud Firestore API Documentation.
|
Method |
Select the HTTP method you want to use: GET POST PUT PATCH DELETE |
Headers | Enter the desired request headers. You don't have to add authorization headers; we've already done this for you. |
Query String | Enter the request query string. |
Body | Enter the body content for your API call. |
Example of Use - List Documents
The following API call returns all documents in the specified collection in your Cloud Firestore account:
URL:/v1/projects/{project_id}/databases/(default)/documents/{collection_id}/
Method:GET
The result can be found in the module's Output under Bundle > Body > documents.
In our example, 3 documents were returned: