PIPEDRIVE_PERSON_UPDATE - Atualizar Pessoa no Pipedrive
O que é este Node?
O PIPEDRIVE_PERSON_UPDATE é o node responsável por atualizar informações de uma pessoa existente no Pipedrive CRM.
Por que este Node existe?
Dados de contatos mudam com o tempo. O PIPEDRIVE_PERSON_UPDATE existe para:
- Manter Dados Atualizados: Corrigir ou adicionar informações
- Enriquecimento: Adicionar novos emails, telefones, etc.
- Correções: Atualizar dados incorretos
- Vinculação: Associar pessoa a organização
Como funciona internamente?
Quando o PIPEDRIVE_PERSON_UPDATE é executado, o sistema:
- Recebe ID e dados: Coleta ID e campos a atualizar
- Processa variáveis: Substitui variáveis
- Faz requisição PUT: Envia para
/api/v1/persons/{id} - Retorna atualizado: Dados atualizados da pessoa
Código interno (pipedrive.executor.ts:52-56):
else if (operation === 'update') {
const personId = this.replaceVariables(node.data.personId, context.variables);
const person = JSON.parse(this.replaceVariables(JSON.stringify(node.data.person), context.variables));
const response = await axios.put(`${endpoint}/${personId}?${authParam}`, person, { headers });
result = response.data;
}
Quando você DEVE usar este Node?
Use PIPEDRIVE_PERSON_UPDATE quando precisar modificar contato existente:
Casos de uso
- Atualizar email: Cliente informa novo email
- Adicionar telefone: Coletar telefone de contato existente
- Vincular organização: Associar pessoa a empresa
- Corrigir dados: Cliente informa nome correto
Parâmetros
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| resource | string | Sim | Deve ser "persons" |
| operation | string | Sim | Deve ser "update" |
| personId | string/number | Sim | ID da pessoa |
| person | object | Sim | Campos a atualizar |
Exemplo: Atualizar Email
{
"name": "Pipedrive - Atualizar Email",
"nodes": [
{
"id": "start_1",
"type": "start",
"position": { "x": 100, "y": 100 },
"data": { "label": "Início" }
},
{
"id": "input_1",
"type": "input",
"position": { "x": 300, "y": 100 },
"data": {
"label": "ID",
"parameters": {
"message": "ID da pessoa:",
"variableName": "person_id"
}
}
},
{
"id": "email_1",
"type": "email",
"position": { "x": 500, "y": 100 },
"data": {
"label": "Novo Email",
"parameters": {
"message": "Novo email:",
"variableName": "new_email"
}
}
},
{
"id": "pipedrive_1",
"type": "pipedrive",
"position": { "x": 700, "y": 100 },
"data": {
"label": "Atualizar",
"resource": "persons",
"operation": "update",
"config": {
"apiToken": "{{pipedrive_token}}",
"companyDomain": "sua-empresa"
},
"personId": "{{person_id}}",
"person": {
"email": [{"value": "{{new_email}}", "primary": true}]
}
}
},
{
"id": "message_1",
"type": "message",
"position": { "x": 900, "y": 100 },
"data": {
"label": "Sucesso",
"parameters": {
"message": "✅ Email atualizado!"
}
}
},
{
"id": "end_1",
"type": "end",
"position": { "x": 1100, "y": 100 },
"data": { "label": "Fim" }
}
],
"edges": [
{ "source": "start_1", "target": "input_1" },
{ "source": "input_1", "target": "email_1" },
{ "source": "email_1", "target": "pipedrive_1" },
{ "source": "pipedrive_1", "target": "message_1" },
{ "source": "message_1", "target": "end_1" }
]
}
Boas Práticas
✅ SIM: - Use GET antes de atualizar para validar - Envie apenas campos que mudam - Valide dados antes de atualizar
❌ NÃO: - Atualizar sem verificar se existe - Sobrescrever todos os dados
Próximos Nodes
→ PIPEDRIVE_PERSON_GET - Buscar pessoa → PIPEDRIVE_PERSON_SEARCH - Procurar pessoa