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
Bom dia! Atualmente temos a possibilidade de criar um card via API, em qualquer fase do processo, desde que esteja configurado para que crie cards na fase. Para criação de card utilizamos: mutation { createCard(input: { pipe_id: 123, title: "New card", fields_attributes:[ {field_id: "field_1", field_value: "Value 1"}, {field_id: "field_2", field_value: "Value 2"} ]} ) { card { title } } } Quando entro no graphiQL e tento iniciar a mutation para criar card relacionado, encontro “createCardRelation”, mas não sei como continuar para de fato criar o card conectado. Podem me ajudar, por favor?
Olá,Pessoal, estou passando por algumas dificuldades, que começaram a ocorrer a cerda de 2h atrás. Tentei achar uma solução, mas sigo sem sucesso.Recebi vários emails de erro das automações do make. Tem alguns módulos do pipefy que não estão funcionando, dentro o (Get a Card Info). Mesmo crianco um Cenário novo, colocando somente 1 módulo, e insrindo o ID de um card, ele retorna com esse erro:Alguém já passou por isso? Alguma ideia de como resolver?Alguns webhook também estão com erro, como Watch Done Cards.
Atualmente é possível listar cards etiquetados com uma label específica?Consigo usar a seguinte request para listar todos os cards cujo campo_X (exemplo: um campo do tipo short text) possui o valor_Y:query MyQuery { findCards(pipeId: "302926544", search: {fieldId: "campo_X", fieldValue: "valor_Y"}) { edges { node { id } } } } Existe alguma request semelhante que utilize o campo “labels” ?
Olá, Estou fazendo uma automação e eu preciso, que me retorne todos os cards de um pipe, que foram atualizados nos últimos X tempo.Eu achei uma query que me atende muito bem:query allCardUpdatedYesterday { allCards(first: 20, pipeId: 123,filter: { field: "updated_at", operator: gt, value: "2018-08-01T23:50:11-03:00"}) { edges { node { id title } } } }Porém, descobri que ela tem um limite. Ela retorna um máximo de 50 resultados. Mas se nesse meio tempo, entre uma execução e outra, se mais que 50 cards furam atualizados, alguns serão perdidos no processo. Eu sei que o módulo LIST CARDS, não tem esse limite. Pelo menos, ja fiz com mais de 2000 resultados. Há alguma forma de remover esse limite? Agradeço quem souber. Obrigado.
É 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 } }}
Olá, pessoalEstou tentando conectar o make ao pipefy, mas recebo essa mensagem de erro no Make ao inserir a API KEYwrite EPROTO 139810707130304:error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure:../deps/openssl/openssl/ssl/record/rec_layer_s3.c:1565:SSL alert number 40Alguem ja passou por esse erro?
Para obter todos os email enviados e recebidos de um card, basta rodar essa query a seguir:query{ card(id: XXXXX) { title comments { id author_name created_at text } inbox_emails { from fromName subject to cc bcc body sent_via_automation state } }}
Para atualizar o status de um registro através da API, basta seguir os passo abaixo.👉🏼Primeiro você precisa saber o ID do Status. Com a query a seguir você vai obter essa informação:{ table(id: "XXXXXXXXXX") { statuses { name id } }}👉🏼Em seguida, você vai utilizar o ID do Status obtido para atualizar atualização do campo de um registro executando a seguinte mutation:mutation { updateTableRecord(input: {statusId: XXXXX, id: XXXXXXXX}) { table_record { title status { name } } }}⚠Para saber o ID do registro, basta acessar o database e ao abrir o registro identificar a numeração final que aparece na barra de endereço do navegador. Ou através da API rodando a query abaixo:{ table_records(table_id: "XXXXXXXXX") { edges { cursor node { id title } } pageInfo { endCursor hasNextPage hasPreviousPage startCursor } }}
Primeiramente é preciso ter um relatório já definido, com os filtros que você deseja.Em seguida você pode rodar a seguinte mutation: mutation {exportPipeReport(input: { pipeId: X, pipeReportId: X}) {pipeReportExport {id}}} A resposta a esta chamada conterá uma identificação numérica (ID). Usando esta identificação obtida na chamada anterior, você pode executar a seguinte query:{pipeReportExport(id: XX) {fileURLstatestartedAtrequestedBy {id}}}O resultado dessa segunda chamada, vai gerar um link, você pode copiar e colar no seu navegador e o arquivo será gerado! ⚠Importante: Os requests são contados a partir do último request que que o cliente fez antes de tomar o limite request e não quando acaba o dia.São 24hrs para realizar um novo request após receber a mensagem de limite de request diária, mas não de 00:00 até 00:00 e sim da ultima requisição que o cliente fez. No caso se você fez a última requisição antes de receber a mensagem por exemplo, às 9 da manhã, você só poderá refazer o re
Atualmente estou utilizando a seguinte estrutura para atualizar um card, porem como são muitas requisições em tão pouco tempo estou tendo problemas com o tempo de resposta da api, existiria algum modo de juntar todas elas? payloads = [ {'field_id': 'tipo_de_pessoa', 'value': info_cliente['Tipo Pessoa']}, {'field_id': 'cpf', 'value': info_cliente['CPF Representante']}, {'field_id': 'cnpj', 'value': info_cliente['CNPJ']}, {'field_id': 'nome_da_empresa', 'value': info_cliente['Nome']}, {'field_id': 'nome_do_contato', 'value': info_cliente['Nome']}, {'field_id': '1_n_telefone_do_contato', 'value': info_cliente['Telefone']}, {'field_id': 'e_mail_do_contato', 'value': info_cliente['Email']}, {'field_id': 'valor_da_fatura_r', 'value': info_cliente['Valor Conta']}, {'field_id': 'm_dia_de_consumo_kwh', 'value': info_cliente['Consumo Medio']}, {'field_id': 'soma_do_consumo_kwh', 'value':
Gostaria de construir uma API que retornasse para mim o "LastTime Exit” e o "FirtTime Enter” de um card em uma fase ID XAlguém tem a ideia de uma query?
Bom dia! Criei um código que faz chamadas na API do pipefy e busca todos os cards de um determinado pipe.No total eu tenho um pouco mais de 1000 cards nesse pipe, pela lógica, sendo 50 registros por página, seriam aproximadamente 20 chamadas na API. Acredito que as chamadas não estão sendo contabilizadas corretamente, já que no último mês nosso consumo passou de 100k. No dia 01/09 o consumo estava em 2k, sendo que não havia feito nenhuma chamada. Existe alguma maneira de contabilizar as chamadas por aqui? Quero saber porque esse consumo está tão alto.Segue trecho do código que faz as chamadas: def get_all_cards(pipe_id, page_size): all_cards = [] after = None has_next_page = True while has_next_page: query = ''' query GetCards($pipeId: ID!, $pageSize: Int!, $after: String) { cards(pipe_id: $pipeId, first: $pageSize, after: $after) { edges { node { id fields { date_value date
Olá.Estou tentando criar um card em um pipe, via API, sendo que o form inicial só tem um campo que é uma conexão com um database. A idéia é criar um card para cada linha do database, conforme uma determinada condição.No postman estou usando a seguinte mutation query:mutation { createCard(input: { pipe_id: 303443432, title: "teste api", fields_attributes: {field_id: "estagi_rio", field_value: { table_records:{ edges:{ node:{ id: "746422898", title: "Julia Cazarim" } } } } }, } ) { card { title } }} O payload que retorna é: "data": { "createCard": null }, "errors": [ { "message": "Invalid input: estagi_rio ([{\"table_records\"=>{\"edges\"=>{\"node\"=>{\"id\"=>\"746422898\", \"title\"=>\"Julia Cazarim\"}}}}])", "locations": [ {
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
Atualmente no pipefy possuimos a possibilidade de criar um card conectado por meio de um campo de conexão com outro pipe e via automação, minha dúvida é: seria possível criar um card conectado (card filho) via API?
Qual o limite de pipes, tenho mais de 28 pipes, mas não consigo puxar informações do pipe acima de 28. No site https://developers.pipefy.com/ eu consigo puxar os dados, como as conditions mas através de requisição local, tenho limite até 28, possui algum limite por plano, algo assim?
Estou com uma dúvida, é possível fazer paginação ao puxar os pipes pela api ?
Olá,Como fazer, via integração (make), pra criar um card e anexar arquivos nesse card? Estou tentando várias formas, mas ainda sem sucesso.
Bom dia. Estou trabalhando com ‘cards’ que possuem muitos campos (+30) e na API não retorna todos os campos do ‘card’. Gostaria de saber como faço para recuperar todos os campos ou selecionar apenas os necessários?Consulta utilizada:query MyQuery { allCards(pipeId: ####) { edges { node { fields { field { id } name value } id title } } pageInfo { endCursor hasNextPage hasPreviousPage startCursor } }}
Pessoal, como atualizo vários campos de registros de um database do tipo select pelo https://app.pipefy.com/graphiql? Para campos tipo texto faço assim: mutation{ :setTableRecordFieldValue(inupt:{table_record_id: xx field_id: "x" value: "x" }) } Porém não funciona para esse tipo de campo. Quero atualizar de um campo vazio para a opção “sim” ou “não”. Podem me ajudar?
Boa tarde pessoal!Estou com a necessidade de consultar os dados de um card que são originados de uma tabela, onde na criação do card os dados dessa tabela são vinculados.No caso é o cadastro de contatos em que eu preciso pegar o email dessa contato, para ajudar no entendimento tenho o print de como é o card abaixo, onde eu preciso pegar o email campo pessoa no canal, mas se eu consulto o card via GraphQL só tenho o retorno: "field": { "help": "", "description": "", "id": "pessoa_no_canal", "index_name": "field_3_connector", "label": "Pessoa no canal", "type": "connector" }
Oi, pessoal. Tudo bem? Estou tentando entender como preencher um campo de múltipla escolha dentro do Pipefy usando o Make/Integromat: No webhook, que recebe os dados no Make/Integromat, eu recebo um texto que as opções que foram selecionadas (no programa que envia os dados para o Make/Integromat) são separadas por vírgula: Eu tentei 3 formas até o momento e nenhuma funcionou. São as seguintes: A última tentativa cria um array e eu tentei, em um segundo momento, varrer o mesmo e atualizar o campo em um outro módulo (um módulo para criar o cartão e outro ódulo para atualizar apenas o campo dificuldade), mas não funciounou porque fica apenas com a i-ésima opção selecionada (no exemplo que eu enviei ficou apenas com a opção “Vender para os interessados”) porque toda vez que atualiza, a opção i-1 é sobreposta pela opção i.Imagino que talvez tenha que usar a chamada genérica e escrever a query, mas não consegui entender como fazer pela documentação.Toda sugestão é valida! Já agradeço pe
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
Para realizar essa tarefa por API esse material abaixo irá te ajudar!O site que vai utilizar para fazer essa ação é o https://app.pipefy.com/graphiqlLembrando que é necessário estar logado em sua conta no Pipefy (para que haja a autentificação) e ter a permissão que possibilite a adição de usuários.Para isso será necessário obter o ID da organização e o email das pessoas que deseja adicionar.Em anexo você vai encontrar um arquivo para te auxiliar na localização destes itens e na execução desta ação!São 6 passos para realizar essa tarefa. Assista o vídeo com o passo a passo aqui. Mais informações sobre API você encontra aqui. Até mais!😉
Para realizar essa tarefa por API esse material abaixo irá te ajudar!O site que vai utilizar para fazer essa ação é o https://app.pipefy.com/graphiqlLembrando que é necessário estar logado em sua conta no Pipefy (para que haja a autentificação) e ter a permissão que possibilite a edição dos card.Para isso será necessário obter o ID do card e o ID do campo que será atualizado.Em anexo você vai encontrar um arquivo para te auxiliar na localização destes itens e na execução desta ação!Assista o vídeo com o passo a passo aqui. Documentação sobre nossa API você encontra aqui. Até mais!😉
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.