Skip to main content

Olá, pessoal, boa tarde.

Espero que estejam bem.

 

Preciso de uma ajuda: eu uso uma query para trazer os campos de um card, bem como uso o Make (integromat) para uma ou duas ações.

Porém, em todos os casos eu percebi uma coisa: as informações só vem se os campos estão preenchidos. Num dos fluxos que estou montando, preciso que apareçam os campos vazios, também.

Isso é possível? Se sim, como?

Exemplo de query que uso para consultar campos de um card, por exemplo: 

query {

card(id: "ID DO CARD") {

id

title

fields {

            field {

             label

                      }

                      value

                     }

            }

}

Boa tarde

 quando você consulta campos via fields no Pipefy usando GraphQL, ele só retorna os campos que têm valor preenchido. Campos vazios (ou nunca tocados) simplesmente não aparecem no array fields.

❌ Por que isso acontece?

A estrutura card.fields no Pipefy retorna apenas os campos com valor. Isso é intencional na arquitetura GraphQL do Pipefy, para evitar excesso de dados desnecessários.

✅ Como contornar isso e trazer todos os campos, inclusive os vazios?

✅ Use a estrutura card.fields_attributes

Infelizmente, essa estrutura também não está exposta diretamente em todas as queries. Mas há um workaround realista:

💡 Solução prática via pipe.phase.fields + lógica no Make

Você pode:

  1. Consultar o card normalmente (como você já faz)

  2. Em paralelo, consultar a estrutura do pipe/fase com os campos esperados

  3. Cruzar no Make: campos esperados vs campos que vieram preenchidos
    → Se algum campo não apareceu, você assume como “vazio”

🛠️ Exemplo completo de workaround com duas queries:

🔹 1. Consulta o card:

query {
card(id: "123456") {
id
title
fields {
name
value
}
}
}

🔹 2. Consulta os campos do pipe/fase:

query {
pipe(id: "PIPE_ID") {
phases {
name
fields {
name
label
}
}
}
}

No Make (ou outro integrador), você:

  • Cria uma lista de todos os campos esperados (vindo da 2ª query)

  • Compara com a lista de fields retornada do card

  • Se o campo não estiver presente, você define manualmente como "value": null ou "value": ""

✅ Alternativa com campo fixo

Se você sempre precisa de campos fixos (ex: CPF, RG, Data de Nascimento), pode até montar sua query manualmente assim:

query {
card(id: "123456") {
id
title
field1: field(id: "cpf") { value }
field2: field(id: "rg") { value }
field3: field(id: "data_nascimento") { value }
}
}

Mas ⚠️ isso só funciona se você souber os IDs exatos dos campos e quiser buscar individualmente.

✅ Conclusão

Objetivo Caminho recomendado
Ver todos os campos, mesmo vazios Combine card.fields com pipe.phases.fields
Evitar lógica de comparação Use consulta individual por campo (se IDs forem fixos)
Pipefy enviar campos vazios nativamente ❌ Não é possível no momento via fields



Att

Joao Quint


Reply