# Firestore - Batch Write task

> [!WARNING]
>
> **Preview
> --- BigQuery Connector**
>
>
> This feature is
>
> subject to the "Pre-GA Offerings Terms" in the General Service Terms section of the
> [Service Specific
> Terms](https://docs.cloud.google.com/terms/service-terms#1).
>
> Pre-GA features are available "as is" and might have limited support.
>
> For more information, see the
> [launch stage descriptions](https://cloud.google.com/products/#product-launch-stages).

The **Firestore - Batch Write** task lets you execute multiple write operations as a single batch on a Cloud Firestore document. The batch write can contain any combination of `set()`, `update()`, or `delete()` operations.

[Firestore](https://docs.cloud.google.com/firestore/docs) is a NoSQL document database built for automatic scaling, high performance, and ease of application development.

## Before you begin

Ensure that you perform the following tasks in your Google Cloud project before configuring the **Firestore - Batch Write** task:

1. Enable the Cloud Firestore API (`firestore.googleapis.com`).


   [Enable the Cloud Firestore API](https://console.cloud.google.com/apis/enableflow?apiid=firestore.googleapis.com)
2. Create an [authentication profile](https://docs.cloud.google.com/application-integration/docs/configuring-auth-profile#createAuthProfile). Application Integration uses an authentication profile to connect to an authentication endpoint for the **Firestore - Batch Write** task.

   For information about granting additional roles or permissions to a service account, see [Granting, changing, and revoking access](https://docs.cloud.google.com/iam/docs/granting-changing-revoking-access).

## Configure the Firestore - Batch Write task task

1. In the Google Cloud console, go to the **Application Integration** page.

   [Go to Application Integration](https://console.cloud.google.com/integrations)
2. In the navigation menu, click **Integrations** .


   The **Integrations** page appears listing all the integrations available in the Google Cloud project.
3. Select an existing integration or click **Create integration** to create a new one.


   If you are creating a new integration:
   1. Enter a name and description in the **Create Integration** pane.
   2. Select a region for the integration.

      > [!NOTE]
      > **Note:** The **Regions** dropdown only lists the regions provisioned in your Google Cloud project. To provision a new region, click **Enable Region** . See [Enable new region](https://docs.cloud.google.com/application-integration/docs/enable-new-region) for more information.

   3. Select a service account for the integration. You can change or update the service account details of an integration any time from the **Integration summary** pane in the integration toolbar.

      > [!NOTE]
      > **Note:** The option to select a service account is displayed only if you have enabled integration governance for the selected region.

   4. Click **Create** . The newly created integration opens in the *integration editor*.


4. In the *integration editor* navigation bar, click **Tasks** to view the list of available tasks and connectors.
5. Click and place the **Firestore - Batch Write** element in the integration editor.
6. Click the **Firestore - Batch Write** element on the designer to view the **Firestore - Batch Write** task configuration pane.
7. Go to **Authentication** , and select an existing authentication profile that you want to use.

   Optional. If you have not created an authentication profile prior to configuring the task, Click **+ New authentication profile** and follow the steps as mentioned in [Create a new authentication profile](https://docs.cloud.google.com/application-integration/docs/configuring-auth-profile#createAuthProfile).
8. Go to **Task Input** , and configure the displayed inputs fields using the following [Task input parameters](https://docs.cloud.google.com/application-integration/docs/gcp-tasks/configure-firestore-batchwrite-task#params) table.

   Changes to the inputs fields are saved automatically.

## Task input parameters


The following table describes the input parameters of the **Firestore - Batch Write** task:

| Property | Data type | Description |
|---|---|---|
| Region | String | Location of the Firestore database. For example, `us-central1`. |
| ProjectsId | String | Your Google Cloud project ID. |
| DatabasesId | String | ID of the Firestore database. |
| Request | JSON | See [request JSON structure](https://docs.cloud.google.com/firestore/docs/reference/rest/v1/projects.databases.documents/batchWrite#request-body). |

## Error handling strategy


An error handling strategy for a task specifies the action to take if the task fails due to a [temporary error](https://docs.cloud.google.com/application-integration/docs/error-handling). For information about how to use an error handling strategy, and to know about the different types of error handling strategies, see [Error handling strategies](https://docs.cloud.google.com/application-integration/docs/error-handling-strategy).

## Quotas and limits

For information about quotas and limits, see [Quotas and limits](https://docs.cloud.google.com/application-integration/docs/quotas).

## What's next

- Add [edges and edge conditions](https://docs.cloud.google.com/application-integration/docs/edge-overview).
- [Test and publish](https://docs.cloud.google.com/application-integration/docs/test-publish-integrations) your integration.
- Configure a [trigger](https://docs.cloud.google.com/application-integration/docs/how-to-guides#configure-triggers).
- Add a [Data Mapping task](https://docs.cloud.google.com/application-integration/docs/data-mapping-task).
- See [all tasks for Google Cloud services](https://docs.cloud.google.com/application-integration/docs/how-to-guides#configure-tasks-for-google-cloud-services).