Pular para o conteúdo
BetaDocumentação em validação contínua. Comportamento descrito pode divergir do servidor — abra um chamado no app se algo não bater.

Custom fields

Campos customizados em People, Companies e Deals. Visíveis em GET na v1; definição e escrita feitas pelo app web.


Custom fields permitem estender People, Companies e Deals com campos específicos da sua operação — CPF, NPS último, MRR, segmento ICP, qualquer coisa. Eles vivem em uma coluna jsonb no banco, então não há overhead de schema migration.

Atenção
Read-only via API v1

A v1 atual expõe custom fields apenas em leitura (eles aparecem em GET junto com os dados do recurso). A definição dos campos e a escrita de valores acontecem pelo app web — o endpoint público de field-definitions não está disponível na v1, e o body de POST/PATCH dos recursos v1 ignora customFields.

Pra escrever em customFields a partir de um sistema externo, use webhooks de entrada — eles aceitam payload arbitrário e mapeiam pra qualquer custom field configurado no workspace.

Modelos suportados

Apenas estes três objetos têm custom fields:

  • person — pessoas/leads/contatos
  • company — empresas
  • deal — negócios

Tipos suportados

TipoValidação no app web
textstring curta (até 500 chars)
long_texttexto longo (sem limite duro)
numbernúmero inteiro ou decimal
currencynúmero com moeda associada
dateISO 8601
selectuma das opções definidas
multi_selectarray de opções definidas
booleantrue / false
emailstring com formato e-mail
phonetelefone
urlstring com formato URL
relationreferência a outro registro

Definindo um custom field

Custom fields são definidos no app web em Configurações → Campos customizados:

  1. Escolha o objeto (person, company ou deal).
  2. Defina nome interno (fieldName, imutável depois de criado), label de apresentação, tipo e opções (se select/multi_select).
  3. Salve. O campo aparece imediatamente nos GETs da API e nas telas do app.

O fieldName é o identificador estável usado no payload (customFields.cpf).

Lendo via API

Custom fields aparecem dentro de customFields em todo objeto retornado:

Text
{
  "id": "ad8e3f9b-...",
  "fullName": "Marina Souza",
  "primaryEmail": "marina@acme.com.br",
  "customFields": {
    "cpf": "123.456.789-00",
    "nps_ultimo": 9,
    "icp_segment": "Mid-market",
    "produtos_interesse": ["CRM", "WhatsApp"]
  }
}

Campos não preenchidos vêm como undefined (ausentes do objeto).

Escrevendo a partir do exterior

Você tem duas opções:

  1. Webhook de entrada (guia). Configure um inbound webhook que recebe payload arbitrário e mapeia campos pro workspace — incluindo custom fields.
  2. App web ou automação. Pra atualizações pontuais, use o app web. Pra fluxos repetitivos, automações no-code do MIXY suportam ler/escrever custom fields nativamente.

A v1 da API REST pública vai ganhar suporte a escrita em customFields em versão futura. Acompanhe o changelog.

A gente usa cookies pra entender o que funciona e o que não funciona aqui. Sem terceiros — dado fica conosco. Política.