n8n-nodes-firestore-ia
v1.1.1
Published
An n8n node to manage Google Cloud Firestore documents.
Maintainers
Readme
🔥 Nó n8n para Firestore (IA-Friendly)
Node customizado para o n8n, projetado para manipular documentos no Google Cloud Firestore com suporte nativo a tipos complexos (
Timestamp,GeoPoint,Reference).
Ideal para fluxos de automação com IAs, garantindo integração simples e dados estruturados corretamente.
✨ Funcionalidades
- CRUD Completo →
create,read,update,delete. - Suporte a Tipos Especiais → conversão automática de JSON para
Timestamp,GeoPointeReference. - Criação Flexível → escolha entre IDs automáticos (
collection/{id}) ou IDs definidos (collection/meu-id). - IA-Friendly → parâmetros pensados para fácil integração com modelos de linguagem.
⚙️ Configuração
- No n8n, vá em Credentials e crie uma nova credencial do tipo
Firebase Admin API. - Cole o conteúdo do seu arquivo Service Account JSON do Firebase/Google Cloud.
- Para gerar: Configurações do Projeto > Contas de Serviço > Gerar nova chave.
🚀 Como Usar
O node firestore aceita os parâmetros principais: operation, path e data.
🔹 Criando Novos Documentos (operation: "create")
Cria um documento em uma coleção no Firestore.
Parâmetros obrigatórios:
operation:"create"path: Caminho da coleçãoclientes/{id}→ gera ID automáticoclientes/cliente_joao_silva→ usa ID definido
data: Objeto JSON com os campos do documento
📐 Estrutura do Objeto data
Tipos Padrão
- string →
"nome": "João da Silva" - number →
"idade": 35 - boolean →
"cliente_ativo": true - null →
"data_segundo_contato": null - array →
"tags": ["vip", "comprador_recorrente"] - map →
"endereco": { "rua": "Av. Principal", "numero": 123 }
Tipos Especiais (Firestore)
Use __type para indicar o tipo:
| Tipo | Estrutura JSON |
|--------------|---------------------------------------------------------------------------------|
| Timestamp | { "__type": "timestamp", "value": "YYYY-MM-DDTHH:mm:ss.sssZ" } |
| GeoPoint | { "__type": "geopoint", "latitude": <numero>, "longitude": <numero> } |
| Reference | { "__type": "reference", "path": "colecao/id_do_documento" } |
📝 Exemplo Completo
{
"operation": "create",
"path": "clientes/{id}",
"data": {
"nome_completo": "Carlos Andrade",
"idade": 42,
"cliente_premium": true,
"ultima_reclamacao": null,
"interesses": ["tecnologia", "viagens", "investimentos"],
"contato": {
"email": "[email protected]",
"telefone": "+5511987654321"
},
"data_adesao": {
"__type": "timestamp",
"value": "2025-09-09T18:54:34.000Z"
},
"local_preferencial": {
"__type": "geopoint",
"latitude": -15.7942,
"longitude": -47.8825
},
"vendedor_responsavel": {
"__type": "reference",
"path": "vendedores/vendedor_id_007"
}
}
}