Pipefy, recognized as one of the Market Shapers by Gartner®
Build, extend, and integrate with Pipefy. Connect with other developers and explore what's possible.
Recently active
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)
I created a webhook in a pipe in order for it to export data to a Google Cloud Function that will, in turn, send it to a Google Cloud Pub/Sub topic.The Cloud function is all set up and tested, surely working when I do a POST request using curl with the same token.I set up the webhook using https://app.pipefy.com/graphiql with the following piece of code:mutation{ createWebhook(input:{ actions:"card.move" name:"Webhook-Test" url:"https://MY_CLOUD_FUNCTION_URL" email:"MY_EMAIL@MY_COMPANY.com" pipe_id:302214108 headers: "[{\"Authorization\":\"Bearer MY_VERY_LONG_TOKEN\"}]" }) { clientMutationId }}And it actually does create a webhook, as I could verify with the following piece of code:{pipe(id:302214108){id webhooks{id url headers actions}}}However, when I move some cards to test it, I don’t see any invocation in the cloud function dashboard. Is there a way to test and monitor the webhook? Any ideas that could help solve this? I’m totally lost with this, since I
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"]))
Hi everyone, I would like to add a card button on every card and when the button is clicked load some sort of a form to be completed and submitted. I don’t know how to. I’ve browsed through the developer documentation but I’m still unable to implement such functionalities. I need some help on the steps to follow and implement this functionalities. Please help.Thanks guys.
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. =(
Hi guys, how can i change the index_name of a field, when i create a new field in app.pipefy, the "index_name" is "field_1_date", i need to change this to “due_date” instead of “field_1_date”, in order to integrate with my backend via graphql, that’s possible?Thanks
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
I have this code butPipefyApp.initCall({"card-buttons": function (p, pipe) {return [{icon: "./assets/sicronize.png",text: "Buscar informações",callback: openModal,},];},}); var openModal = function (p) {p.modal({url: "https://react-expensify-sample-app.herokuapp.com/",height: "70%",width: "70%",});}; My problem is: The modal keep loading forever. When I inspect the network traffic I can see the response code 200 and the ‘hello world’ content inside the iframe, as expected! but the modal keep loading and does not show the iframe content.
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
This is one more article about one more language and I am one more person trying to convince you that this way is better, right? Not necessarily, but give me time to explain. I am a regular person without a usual background in Computer Sciences. I studied Psychology for years before realizing what I wanted to do for a living was code and I believe that everyone who wants to experiment with this should have at least a chance to try. Development can be fun and it’s for everyone and that’s why I’m writing this: to all the people who want to start over and don’t know how, to all beginners who don’t have a usual career path, to people on different backgrounds who wants to give a technology a chance and change their lives but don’t know if they really can because they are used to listen “this is not for you” or even for those who already work with technology but want to work with another language and are kind of afraid. This is for you. Technology is for everyone.So, how can Ruby help you w
Hey everyone, today I'd like to share another great article produced by one of our developers, @tania.zuniga , about Docker! Here's a small excerpt:I’d like to start with a disclaimer: I’m a newbie in the Docker universe and the goal of this article is to help those at the same level that may have the same difficulty I had understanding these two concepts, which at first may look the same. Once we dig a little deeper, though, we understand the difference between one form and the other, making it easier for us to choose the best one to improve our containerized app.To make it easier to explain the differences and similarities, I’ll use a simple use case to compare both and at the end we’ll be more informed about the advantages each one offers. Want to learn all about it? Click here to access the article and feel free to let us know if you'd love to know more about it!
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?
It would be great is we could see which users moved a ticket into a phase via the GraphQL API.At present we can see information regarding a phase movement via phases_history in the API but not who undertook this action. This would be extremely useful for auditing and training purposes. The activity history appears to present this information via the UI. Thanks
We would like to see who has moved a card into a phase, through a graphql query. This information is visible through Activity History in the UI but we can’t seem to get it via the API.(We have tried to use the phase_history field in graphql but it lacks the user id.) Is there a way to do this? Thanks
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.