Docs / Contact / connectors/gcp-firestore
Google Firestore
Provider:gcp| Service:firestore| Direction: Write
Google Firestore connector for writing documents to a NoSQL collection. In a flow, this connector writes a document (create or overwrite); it does not read or query documents back into the flow.
Required Permissions
The service account must have:
| Operation | Required Permissions | Predefined Role |
|---|---|---|
| Write document | datastore.entities.create, datastore.entities.update |
Cloud Datastore User |
Operation
When a message reaches this connector, it creates or overwrites a single document. The payload must supply:
| Payload field | Required | Description |
|---|---|---|
collection |
Yes | Firestore collection name |
document |
Yes | Document ID to write |
data |
Yes | Document body (a JSON object) |
Connector Configuration
The connector is created with type: "cloud", provider: "gcp", service_type: "firestore", plus:
Field (config) |
Required | Description |
|---|---|---|
auth_type |
No | api_key (default) or role. See below. |
project_id |
Yes | Google Cloud project ID |
credentials |
Conditional | Service account JSON credentials (use ${secrets.gcp_credentials}). Required when auth_type is api_key. |
Role-based authentication
Set auth_type: "role" to use Application Default Credentials (ADC) from the environment Contact runs in. No service account JSON is needed.
Output
json
{
"status": "completed",
"data": {
"status": "written",
"collection": "devices",
"document": "abc123"
}
}
Example
Connector config (service account):
json
{
"type": "cloud",
"provider": "gcp",
"service_type": "firestore",
"project_id": "my-gcp-project",
"credentials": "${secrets.gcp_credentials}"
}
Connector config (ADC / role):
json
{
"type": "cloud",
"provider": "gcp",
"service_type": "firestore",
"auth_type": "role",
"project_id": "my-gcp-project"
}
Tendrl