Pular para conteúdo

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:

  1. Manter Dados Atualizados: Corrigir ou adicionar informações
  2. Enriquecimento: Adicionar novos emails, telefones, etc.
  3. Correções: Atualizar dados incorretos
  4. Vinculação: Associar pessoa a organização

Como funciona internamente?

Quando o PIPEDRIVE_PERSON_UPDATE é executado, o sistema:

  1. Recebe ID e dados: Coleta ID e campos a atualizar
  2. Processa variáveis: Substitui variáveis
  3. Faz requisição PUT: Envia para /api/v1/persons/{id}
  4. 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

  1. Atualizar email: Cliente informa novo email
  2. Adicionar telefone: Coletar telefone de contato existente
  3. Vincular organização: Associar pessoa a empresa
  4. 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