Pipefy, recognized as one of the Market Shapers by Gartner®
Documentation, tips, and real examples to integrate and automate Pipefy through our API.
Recently active
We released a new API mutation called updateFieldsValues that will allow users to update up to 30 fields in a single API call. This new mutation will improve the overall developer experience when handling batch updates and will significantly improve the speed of batch updates, by reducing the number of API calls. 📌 Incremental updatesThis new API mutation also allows developers to update fields that contain multiple data by just adding a new value or removing an existing value.For example, to add a label to a label field, previously developers would need to do two API calls, an API call to get all existing labels, use this list to append the new label and then send to Pipefy in another API call the new list of all the labels. With the new mutation updateFieldsValues, developers can send an API mutation telling Pipefy to only add a new label to the existing list of labels in a field, the same applies to assignees, connections and checklists fields. Sample GraphQL mutationUpdating two
Hello, I need to use APi to pull the phase of the card, or rather its name, gives the following error:No query string was presentWhat exactly do I need to enter for the call to be correct?Using this Body:query { card(id: 513360781) { title current_phase { name } id updated_at }}
Hello everyoneI have a query to filter set of cards using CardSearch as example: above, has the query and the search result, the pagination parameters returned inform that I have more pages to be seen when I update the query to bring up the next page, I get the following return the curious thing is that there are card titles where pagination works normally, for example:for cards with title = "Almir Mario Bitto" the pagination does not work.for cards with title = "Filipe Gomes de Lima" pagination works normally Are there any details to be adjusted in the query?I appreciate any help
Hello everyone,I am developing a simple application that will be integrated with Pipefy, and I will need to allow cards to be moved between phases with calls to the GraphQL API. The issue I am having is that there are certain fields that need to be updated before a card can move to a particular phase. When those fields are not set and the API call is made, the error that returns is very general: “Card could not be moved to phase id: <ID>”Is there anyway to make this error message more specific so that I could display to the user why it is failing? I thought I was able to do it when experimenting through Postman but now I cannot seem to find the call I madeAny help on this would be greatly appreciatedThanks!
I see that “clientMutationId” is always needed as part of the GraphQL payload. But What is this for??In the result from GraphQL always come back as NULL. In the Dev Docs says “A unique identifier for the client performing the mutation.” Can I register a Client for the miutation? Thanks!
English Hello, I am trying to connect Pipefy and PBI, with the power Query and a GraphQL API, but i cant find the right URL to put in. It keep me returning the error 400 or 404.May someone help me? Português Olá,Estou tentando conectar o Pipefy e o PowerBI através do Power Query e uma API de GraphQL, porém as URLs sempre dão erro 404 ou 400.Alguém sabe me ajudar?
Hey everyone! Pipefy GraphQL API Reference documentation https://api-docs.pipefy.com is now updated!In this new version we fixed some broken links and also all latest mutations, queries or any other changes in our GraphQL API are now available. This is way of improving even more Pipefy integrations capabilities and deliver better documentation to our customers and developers community.But it's important to remember that our official documentation page is https://developers.pipefy.comThis is the home page where developers can have access to other documentation features like code examples, articles about GraphQL and many more.When it’s necessary a more in depth documentation, then the GraphQL API Reference is the place for it! It's a reference containing all possibilities to work with the Pipefy API explaining the concepts of Card, Pipe, Table, etc. and also available fields, required fields and their data types.We hope you like it and feel free to give us feedbacks and ideas.
I can’t get information about the child/parent pipes in Pipe query. I make a query like this one below:{ pipe(id: "form id here") { childrenRelations { child { __typename } } }}And the only property I can get from the child/parent is __typename and the result is this:{ "data": { "pipe": { "childrenRelations": [ { "child": { "__typename": "Pipe" } } ] } }}I want to know at least the child pipe ID. I tried the pipe_relations query, but it has the same limitations. The only way I could get some information about the pipes in the relations was in card query, but I need that information before a card is created.
Hi everyone! It’s Marcos from Pipefy Engineering team. Pipefy has released a new set of functionalities in our GraphQL API to enable user management in Organizations (a company’s account in Pipefy), Pipes (processes) and Tables (databases). New mutations, queries and webhooks were created in order to manage users and their roles through API, enabling many possibilities of integrations between Pipefy and Active Directory or any other user provisioning application and helping administrators to have more control, governance and security over organization users. Here some more details about these new possibilities in our API documentation Changelogs: User Management Mutations User Management Webhooks For more information, please refer to Pipefy Developers page. Hope you like it and if you have any questions or suggestions, please let us know!
I don’t think it’s possible to directly get a pipe report via API, since I haven’t find anything related in the docs. Anyway, I’d be happy if I’m wrong on that.However, I can directly pull tables - from the “database” feature - via API. So a workaround on pulling reports would be to connect the pipe to a table and then pull this table using the API. To be more precise on what I mean to connect pipe and table: create some kind of automation that would, for example, save to a table every cards’ id, title and current phase. Is there a way to do something similar?
I identified 3 ways to update tags through GraphiQL. You should use the most appropriate format for your process. Scenario A) Updating a single tag. Solution 1: This is the simplest scenario and should only be used if your Pipe has only one label field. mutation{ updateCardField(input: { card_id: XXXXXXXX field_id:"label_1" new_value:"XXXXXXXX" }) { clientMutationId success } }In this format, as the update is from a field to a label, there is no problem. Scenario B) Updating multiple labels in different fields. For this scenario, there are several solutions, as simply updating the label fields does not guarantee that the card labels are properly updated / synchronized with the Card labels. Solution 2: Update more than one tag field, each field with a tag.mutation{ m1: updateCardField(input:{ card_id:XXXXXXXX field_id:"label_1",new_value:"XXXXXXXX" } ) { card { id } }m2: updateCardField(inp
Hi, I was wondering what API to use for updating databases based on their connected cards e.g. Data gets updated so I need to auto update the database OR a card gets moved to archive so I want to remove the Data I am someone with very little coding knowledge (But I am learning, currently with html but moving onto python)
Hello,I am attempting to create a db record on the GraphQL API. The table (called “Assessments”) has a database connection field called “Candidate”. From the API, as I attempt to set the field values, I add a valid identifier for “Candidate” (candidate exists and the “Candidates” table, the value I’m setting is the title field). IF the same candidate has not been added to another assessment, the mutation is successful. IF the same candidate is already present on another assessment, the mutation fails with the following error: “Error on field "Candidate": Value You don't have permission to connect these cards/table records.” I’d like to stress that THIS QUERY WORKS as long as the Assessments table does not already contain an assessment with the same candidate that I’m attempting to add. So, I don’t personally believe the problem is in the query. I believe the problem might come from my own understanding of how Pipefy works. On the other hand, I definitely expect Pipefy to ALLOW what I’m
I’m trying to get data from a pipe using Google Apps Script and keep getting the error:Info {"errors":[{"message":"Unexpected end of document","locations":[]}]}I don’t think the problem is with the general script’s structure, since it works when I run another query.Also, I’m new to GRAPHQL - this is the first time I use it, for instance - so that’s another reason why I believe the problem might be in the query.A piece of the script I used to try is: const query = `{ allCards(pipe_id:${pipe_id}){ edges{ node { title current_phase { name } createdBy { name } createdAt fields { value name } } } }`; const graphql = JSON.stringify({ query: query, variables: null, }); const params = { method: "GET", payload: graphql, headers: { "Content-Type": "application/json", Authorization: `Bearer ${TOKEN}`, }, }; var response = UrlFetchApp.fetch(url, params);pi
Hi, I'm using node, and I got the example in the documentation, but when I run it, it gives me this error, and on the site where the example is executed, it's running normally.Thanks.Link example: https://developers.pipefy.com/reference/graphql-endpoint Code:sdk['graphql-endpoint']({ query: '{allCards(pipeId: 302194528){edges{node{id}}}}'}, { Authorization: 'Bearer *token*'}) .then(res => console.log(res)) .catch(err => console.error(err)) Response:{> '0': {> instancePath: '/paths',> schemaPath: '#/additionalProperties',> keyword: 'additionalProperties',> params: { additionalProperty: '' },> message: 'must NOT have additional properties',> isIdentifierLocation: true> },> stack: 'SyntaxError: OpenAPI schema validation failed.\n' +> '\n' +> 'ADDITIONAL PROPERTY must NOT have additional properties\n' +> '\n' +> ' 24 | ],\n' +> ' 25 | "paths": {\n' +> '> 26
I have a situation and I can't find a solution.I need to make a query to filter a pipe, but in it, I need my client's ID that is filled in it in the databases.That is, I need the pipe query to bring the ID filled in it in the databases.Has anyone been through something like that?
Hi!I'm trying to get all records from a table, but using table_records isn't giving me all of them.Running the following code in Python I get 50 records, but my table has 94. Any ideas of how I can get all of them?import requestsimport jsonpayload = {"query": "{ table_records(table_id:\"TABLE_ID\") {edges {node {id }}}}"}headers = { "authorization": f"Bearer {pipefy_token}", "content-type": "application/json"}response = requests.request("POST", url, json=payload, headers=headers)json_data = json.loads(response.text)print(len(json_data["data"]["table_records"]["edges"]))
Team,When I execute a graphql api for few case the api is success and it returns the data.But if we make any mistakes in constructing the query or some other error then that time in the response it has errors but it gives us 200 as API Status code. How can we distinguish success and failure APIs. Can‘t we find this from the API status code ?
Hey guys! I have a list of 500 options to a select field.When i do it through software screen, i have no trouble: when i do it through API, if i send about 10 options, all good, but if i send about 20 options, my response is 200 but the options on pipe do not update. =(
Have you heard the expressions "single tenant" or "multi tenant" before? As a rule, companies in Pipefy are hosted in a multi-tenant environment, which means that they all coexist and run their processes, automations, integrations and so on in a single, unified cloud.However, some companies opt for the "single tenant" option:In a single tenant scenario, a company “purchases” its own cloud and, therefore, will no longer divide resources and processing queues with other companies, ensuring greater stability and lesser risk of slowness or latency caused by other companies in the same environment.In single-tenancy, a single instance of the software and supporting infrastructure serve a single customer. Each customer has his or her own independent database and instance of the software. Essentially, there is no sharing happening with this option. The separation is physical. Click here to check the new Single Tenant Documentation to learn all about it and whether it's an option your company s
Hey everyone! Bel from Pipefy's Dev Rel team here. We've recently had some great pieces of content produced by our engineering team members and I'm here today to share one of them with you. Here's a sneak peek of this very informative piece by @Marcos Carvalho:To begin with, we’d like to make it clear that this article is intended for those who are new to programming and are interested in starting to know more about APIs. If you’re already a developer and you’re searching for in-depth content Pipefy API documentations, please go to https://developers.pipefy.comYou’ve probably seen these letters in websites, blogs and applications and have wondered what they mean, right? If you’re new to the term, don’t worry, after a couple of minutes of reading you’ll understand more about it.APIs are not exclusive to the internet world, they’ve always been used in software development, including your computer’s operational system, for example.Have you ever thought about these three letters: A – P – I
Hey everyone! We’ve been working on a series of articles intended for those who are new to programming and are interested in starting to know more about APIs. Here the second one on How to use APIs and why they are so important to the digital market nowadays. Hope you all like it and let’s start some discussions about, I’d love to know your impressions and ideas
Hello, I’m trying to upload files using api (application/pdf), and I have several problems but focus on current. I’m making an api call using graphql api as it is said there, but my response.body is always ReadableStream and when I tried to read that stream a got the Uint8Array. Am I doing something wrong or it is what it sould be and I just can’t figure out how to get that url
I have a question field selection option and 100 option values (my clients).How can send an update via API to change the values in the pipe so new cards have new options?
Hi! I’m trying to update the Status Field of a Table Record through integromat. My quesiton is: I couldn’t find the name of this field, what is it’s name. And also, wich values can be used to update it: Ativo e Concluído?
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.