Pipefy, recognized as one of the Market Shapers by Gartner®
Encontre documentações, dicas e exemplos reais para integrar e automatizar o Pipefy por meio da nossa API.
Recently active
Listamos aqui alguns possíveis erros e as soluções que podem ocorrer ao utilizar a API para realizar alguma ação ou obter dados: 🔎Erro de "Token Invalido"Para esse tipo de erro verifique os "header(s)". Dois itens são obrigatórios: Authorization e Content-Type.> "Authorization": "Bearer USER_TOKEN",> "Content-Type": "application/json"Para o token o usuário precisa do token "mais longo" ou seja, não é o token da tela de usuário, e sim a da https://app.pipefy.com/tokensÉ bem comum não adicionar o Bearer antes do token ou adicionar o token com aspas, então, basta adicionar o Bearer ou remover as aspas do token. Ex: "Barier 'token' " Para sistemas terceiros como o Postman, o uso correto é este aqui: 🔎Uso errado do linkÀs vezes o link utilizado pode ser https://app.pipefy.com/graphiql ou app.pipefy.com/graphiql ao invés de https://api.pipefy.com/graphql no cabeçalho, e isso também retorna um erro de permissão. 🔎Problemas no códigoNeste caso, você pode acessar a página de devel
Fala, galera.Estou conseguindo criar os cards via n8n porém os campos não estão sendo preenchidos.Funciona quando eu mando somente como título mas quando peço para preencher os campos não funciona. { "query": "mutation ($input: CreateCardInput!) { createCard(input: $input) { card { id title url } } }", "variables": { "input": { "pipe_id": x, "title": "Criar card via n8n", ] } }} Coloquei no GPT 5 e ele pede para codar com a seguinte linha após o title: { "field_id": "nome_do_solicitante", "field_value": "Fulano da Silva" }, { "field_id": "email_contato", "field_value": "fulano@exemplo.com" }, { "field_id": "telefone", "field_value": "+55 11 99999-0000" }, { "field_id": "descricao", "field_value": "Texto livre aqui" } Porém sem sucesso.Conseguem me ajudar?
É possível fazer o download dos arquivos anexos em um pipe! 😃Para realizar obter os links dos anexo dos cards de um pipe por API, essas serão as queries que você vai precisar:◾Anexo dos cards no pipe{ cards(pipe_id:XXX){ pageInfo{ hasNextPage endCursor } edges{ node{ id title attachments{ url } } } }}◾Anexos de um card{ card(id:XXXX) { attachments { createdAt path url } }}
Criei um workflow para receber dados de um card movido do pipefy, faço a extração desses dados inclusive usando a documentação da API para gerar o link ou então atualizar um expirado.Utilizo basicamente a função abaixo:{ card(id: 123456789) { attachments { url createdAt createdBy { id } } }}A mutation retorna a URL, consigo baixar o arquivo via navegador tanto pelo pc quanto dispositivo móvel. Porém, quando vou fazer um http request com get e passo a mesma url válida e ainda não expirada, retorna erro 401.Alguém já passou por isso também?
Quando vamos criar uma automação dentro do Pipefy, existe um atributo muito útil chamado "A última fase em que o card estava", para evitar que uma automação dispare quando o card volta uma fase, por exemplo.Porém na documentação API do Pipefy não encontrei nenhuma função para retornar essa informação já filtrada, somente tem o histórico completo de todas as fases com as datas de entrada e última atualização de cada, levando a uma complexidade maior de conseguir filtrar essas informações para descobrir qual é a última, mais recente de onde o card veio. Gostaria de confirmar com a comunidade e os devs se realmente não tem esse atalho na API para usarmos?
Bom dia Pessoal, todos bem? Gostaria de ajuda para saber qual é o campo do currence_phase_age (esse campo é para saber quando o cartão foi criado dentro daquela fase) preciso saber o campo que representa a idade da ultima mensagem que está vinculada nesse cartão?Desde já agradeço pela atenção.
Estou usando o GraphQl pelo Make(Integromat) para atualizar vários campos ao mesmo tempo de um CARD. Mas coincidentemente, dois campos que são do tipo número estão retornando com mensagens de Field not found. Já mudei o nome da campo colocando a inicial maiúscula mas a mesma mensagem persiste.Entrei em contato com o suporte do MAKE e me disseram que o problema é no Pipefy.Será que estou fazendo algo errado? Abaixo o Código:mutation {updateFieldsValues(input: {nodeId: 1097512534values: [{ fieldId: “nome” value: “Gilberto” },{ fieldId: “telefone” value: “65999730296” },{ fieldId: “data_de_nascimento” value: “20/02/1983” },{ fieldId: “nome_contato_emergencia” value: “Ana” },{ fieldId: “telefone_contato_emergencia” value: “65999834949” },{ fieldId: “vinculo_contato_emergencia” value: “Outros” },]}) {successuserErrors { field message }updatedNode {… on Card {idfields {namevalue}}}}} O suporte do Make me pediu pra compartilhar com o Pipefy o API Request e API Response: { "response": {
Bom dia pessoal, Alguém já teve a necessidade de extrair o histórico de atividades do card? Se sim, conseguiu resolver essa questão de alguma forma? Via API ou outra forma Estava precisando para ter um relatório de envolvidos nos processos que já foram desligados da organização e não são mais usuários, porém nas atividades do card eu tenho a informação de quem foi responsável e estava envolvido.
Estou tentando de todas maneiras enviar os e-mails de um card para um destinatario espeifico, mas nada funciona, de forma automatizada via API. Alguma sugestão?
Qual o sentido de existir o Field Type Due Date se eu não consigo ter um gatilho para todos os campos que eu criar desse tipo?Quando eu tenho mais de 1 campo do tipo Due Date, o Fixed Field Due Date sempre fica com o vencimento mais longo por padrão. Se eu deixo o Due Date vazio, apesar de todos os campos Due Date estarem preenchidos, nenhum gatilho é disparado, nem pelo Automation e nem pelo Webhook.Do meu ponto de vista, parece não existir nenhuma diferença significativa entre o campo Due Date e Datetime.
Olá! Como atualizar as fases que um card pode ser movido via API?Algo como:mutation {updatePhase(input: {id: "1", cards_can_be_moved_to_phases: [{id:"2", name:"Perdido"}, {id:"3", name:"Apresentação"}]}) { phase { name } }} Obrigado
Estou usando uma integração para realizar o download de anexos de um card quando ele chegar em uma determinada fase, estou usando a automação do próprio pipe para enviar a URL do arquivo para a minha API via requisição HTTP, porem quando eu recebo o link do arquivo para realizar o download passo para uma chamada de API usando o GET, mas sempre da o erro 401 de não autorizado, tentei passar o token no header mas está indicando a mesma coisa, testei usando o próprio python e uma automação no power automate, ambas indicando a mesma coisa, mas quando pego essa URL e adiciono no navegador o download é realizado com sucesso, existe algum tratamento a mais que preciso realizar para conseguir realizar o download do anexo?
mutation { exportPipeReport(input: {pipeId: 301163145, pipeReportId: 300241456}) { pipeReportExport { id } }}Hoje via API GraphQL é possível exrair relatórios de pipes via exportPipeReport, porém necessito extrair um relatório da empresa que não fica dentro de nenhum pipe, fica somente na organização, mas está rota exige o preeenhcimento do pipeId.Como posso fazer para extrair este relatório? Ou teria uma previsão para está funcionalidade?
Bom dia pessoal. Tudo bem com vocês?Gostaria de saber se existe a possibilidade de fazer um consulta de card’s utilizando GraphQL, seja com o allCard ou findCards, com mais de um campo no filtro. Agradeço.Obs: é necessário a utilização do GraphQL
É possível criar um checklist de card através da API? Não me refiro ao checklist de fase (conforme explicado neste tópico), e sim ao checklist de card, conforme na imagem abaixo:
Neste vídeo abaixo você vai aprender como fazer o upload de arquivos para um campo anexo do seu card através da API!🎥Assista aqui > https://pipefy.screencasthost.com/watch/c01uYyVglQ9
Bom dia, gostaria de saber qual a query correta a se usar, para o seguinte cenarioQuando um card é criado no pipe A, eu tenho uma automaçao que cria um Card no Pipe B, com isso tenho os ID do card no PIPE A e no PIPE B, ai eu quero saber qual a query que se usa para vincular o card do PIPE B, no PIPE A, detalhe q eu quero q esse card fique sendo exebido ali no pipefy perto das labels, irei deixar um print do local esse print é do PIPE A. ai eu quero fazer com que o card q foi criado no PIPE B, seja exibido aqui, eu queria fazer isso sem ter q criar um novo campo de conexao no pipe A, pq acredito q esse campo ja seria de conexao
Dei uma pesquisada nos tópicos e acabei não encontrando.Estou fazendo uns testes aqui, tentando criar uma CARD via api. Primeiro rodeio o:{ "query": "query { pipe(id: 304813545) { start_form_fields { internal_id label } } }"}Me retornou o id dos campos:[ { "data": { "pipe": { "start_form_fields": [ { "internal_id": "383884294", "label": "Nome" }, { "internal_id": "383884295", "label": "email" }, { "internal_id": "383884296", "label": "Nome da empresa" }, { "internal_id": "383884297", "label": "Telefone para contato" }, { "internal_id": "383884298", "label": "Função na empresa" }, { "internal_id": "383884299", "label": "Tamanho da empresa" } ] } } }]Dai tento criar o card usando o codigo:{ "query": "mutation createCar
Estamos enfrentando alguns problemas ao tentar anexar múltiplos arquivos em um campo no Pipefy usando a API. Quando fazemos o upload do primeiro arquivo, ele é anexado normalmente, mas ao tentar adicionar um segundo arquivo, recebemos um erro de "Dado fornecido inválido". Parece que o campo não está configurado para aceitar mais de um arquivo ou o formato que estamos enviando não está correto. Além disso, percebemos que, em vez de aceitar múltiplos arquivos, o campo acaba substituindo o arquivo anterior.Estamos buscando orientação sobre como configurar adequadamente um campo no Pipefy para aceitar múltiplos arquivos via API. Caso o campo deva aceitar múltiplos anexos, seria útil esclarecer o formato correto de envio dos dados. Além disso, gostaríamos de saber se existe alguma limitação ou restrição em campos de anexo no Pipefy que esteja causando esses erros.
Estou precisando de TODOS os dados de TODOS os cards de um Pipe específico. Não consegui encontrar na documentação um atalho para isso que não selecionando todos os campos no simulador de Query (o que está gerando um código enorme). Existe alguma forma de fazer isso de uma maneira mais simples?
Boa tarde!Estou tentando atualizar um campo do formulário de fase que é do tipo “conexão de database”, mas sempre retorna informando que o valor não é permitido. Estou usando o “value” retornado do campo, conforme imagem abaixo: Para atualizar um campo do tipo de conexão de database, como seguir? Podem em ajudar, por favor?
Uso bastante o GraphiQL para atualização de dados, deletar campos e etc, mas sempre esbarrei com um problema:Se eu quiser atualizar um campo de conexão de pipe ou de database com mais de um registro, não funciona mutation{ n1: updateCardField(input:{ card_id: 869034203 field_id: "parte_adversa" new_value: 807902371&807902370 }) Tentei colocar “&” entre os IDs dos registros que gostaria de conectar com o card nesse exemplo e não funciona.Se não tiver como e for uma limitação do sistema mesmo, é um grande problema, pois o campo comporta múltiplos registros conectados no mesmo campo e quando vamos atualizar em massa, só conseguimos conectar 1 só, o resto tempo que ser manual. Se alguém souber a forma correta de fazer isso ou se realmente não tem jeito, agradeço a ajuda pois já pesquisei bastante
Como limpar a data de vencimento do card via API, por exemplo eu consigo atribuir o valor do due_date, porem e em casos onde eu preciso remover o valor deste campo e deixar em branco como q é feito via api, tentei deixar em branco mas fica dando erro informando que o campo é de date que precisa d um valor
Gostaria de saber como faço para atualizar campos específicos de uma Database. Tentei seguir o mesmo caminho de adicionar um registro mas não deu certo.
Estimado Time, Estou em busca de como criar uma condicional de campo para criador no formulário inicial. Essa opção existe para criação, mas não funciona para formulário inicial. No meu caso, tenho um formulário inicial que é preenchido entre os campos nome e contato do cliente. Essas informações são salvas em uma Database, de forma que ao criar outro card para o mesmo cliente, basta buscá-lo pela conexão. No entanto, o mesmo formulário é preenchido por uma empresa parceira com o link do formulário, e não podemos deixar aberto para essa empresa as informações do cliente. Logo, tento colocar uma condicional de campo para o criador, como anexo da imagem.
Already have an account? Login
No account yet? Create an account
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.