Search documentation...

K
ChangelogBook a demoSign up

Firestore

Power internal tools, in-app experiences, and more

Supported syncing

Supported Sync ModesDescription
UpsertPush new records and update records that change in your source

For more information about sync modes, refer to the sync modes docs.

Connect to Firestore

You can decide whether to set up Firestore with Firebase or with Google Cloud Platform. The following sections outline the necessary setup for either service.

Firebase

To find the credentials, navigate to Firestore and select your project.

In the left-hand sidebar, click the wheel icon next to Project Overview and select Project settings from the menu.

Once on the Project setting screen, select the Service accounts tab. Make sure you are on the Firebase Admin SDK.

You will need to click the Generate new private key button to download a JSON file of the credentials.

Firestore Firebase credentials

In Hightouch, paste your private key including the header and footer in the following format:

-----BEGIN PRIVATE KEY-----
<private key body>
<private key body>
<private key body>
-----END PRIVATE KEY-----\n

Make sure to include the final \n character as well, as that is still part of the private key.

Google Cloud Platform

To find the credentials, navigate to Google Cloud Platform. In the header, next to Google Cloud Platform, click the Select a project dropdown and select a project.

If you do not have Firestore set up within this project, you will be taken to the Get started screen. Click the Select Native Mode button.

Firestore GCP Get started

Select a location from the dropdown, and then click the Create Database button.

Firestore GCP Database

Once you are redirected to the Firestore dashboard screen, click the Security Rules in the sidebar. Click on the Enable Firebase button, and confirm by clicking the Enable link within the modal.

Click on the hamburger menu in the top left corner. Select APIs & Services from the sidebar, and then select Credentials from the dropdown menu.

Once on the Credentials screen, scroll to the Service Accounts table. Click on the edit icon in the row with the Name as App Engine default service account.

Firestore GCP Service Accounts

Click on the Keys tab, and then click the Add Key button.

Firestore GCP Keys

Select the Create new key option. Keep the Key type as JSON, and click the Create button in the modal. This will download a JSON with the needed credentials.

Firestore GCP Create key

In Hightouch, paste your private key including the header and footer in the following format:

-----BEGIN PRIVATE KEY-----
<private key body>
<private key body>
<private key body>
-----END PRIVATE KEY-----\n

Make sure to include the final \n character as well, as that is still part of the private key.

Custom database name

Firestore defaults to the (default) database. If your setup requires a custom database name enter it in the Database Name field in Hightouch during setup.

Sync configuration

Sync modes

Hightouch supports the Upsert sync mode.

During the Upsert mode, new rows will be inserted into Firestore and existing rows will be kept up-to-date within Firestore.

Record matching

Records can be matched from your source to Firestore by any unique property.

Columns to sync

For Firestore, we give you the ability to send all columns as they are represented in your model.

Firestore columns

You can also choose to manually map fields. Only the fields that you map will be exported. All other columns from your results are ignored.

Firestore mappings

Delete mode

The default is to do nothing, but you can also set Hightouch to delete the record when it leaves the query result.

Tips and troubleshooting

Common errors

To date, our customers haven't experienced any errors while using this destination. If you run into any issues, please don't hesitate to . We're here to help.

Live debugger

Hightouch provides complete visibility into the API calls made during each of your sync runs. We recommend reading our article on debugging tips and tricks to learn more.

Sync alerts

Hightouch can alert you of sync issues via Slack, PagerDuty, SMS, or email. For details, please visit our article on alerting.

Ready to get started?

Jump right in or a book a demo. Your first destination is always free.

Book a demoSign upBook a demo

Need help?

Our team is relentlessly focused on your success. Don't hesitate to reach out!

Feature requests?

We'd love to hear your suggestions for integrations and other features.

Last updated: Jan 4, 2024

On this page

Supported syncingConnect to FirestoreFirebaseGoogle Cloud PlatformCustom database nameSync configurationSync modesRecord matchingColumns to syncDelete modeTips and troubleshootingCommon errorsLive debuggerSync alerts

Was this page helpful?