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
Do you need help with your API queries and/or mutation?Here are a few that might help you!😉🔎Queries 📍LIST CARDS{ cards(pipe_id: XXXX, first: 10, search: {title: "XXXXX"}) { edges { node { id title assignees { id } comments { text } comments_count current_phase { name } done due_date fields { name value } labels { name } phases_history { phase { name } firstTimeIn lastTimeOut } url } } }}⚠This query has a limit of 50 cards/records per page, so it is necessary to use pagination, you can find this information here. 📍SHOW CARD{ card(id: XXXX) { title assignees { id } comments { text } comments_count current_phase { name } done due_date fields { name value } labels { name } phases_history { phase { name } firstTimeIn lastTimeOut } url }} 🛠Mutations 📍CREATE CARDmutation{ createCard( input: { pipe_id: XXXX fields_attributes: [ {field_id: "assignee", field_value:[00000, 00001]} {field_id: "checklist_vertical", field_value: ["a", "b"]} {field_id: "checklist_horizontal", field_value: ["b"
Do you need help with your API queries and/or mutation?Here are a few that might help you!😉 🔎Queries📍 GET TABLE RECORDS WITH PAGINATION - TABLE ID{ table_records(first: 10, table_id: "XXXXXXX") { edges { cursor node { id title url } } pageInfo { endCursor hasNextPage hasPreviousPage startCursor } }}📍 GET TABLE RECORDS - TABLE RECORD ID{ table_record(id: XXX) { assignees { id name } created_at created_by { id name } due_date finished_at id labels { id name } parent_relations { name source_type } record_fields { array_value date_value datetime_value filled_at float_value name required updated_at value } summary { title value } table { id } title updated_at url }}📍 FIND TABLE RECORDS - FIELD ID | FIELD VALUE{ findRecords(tableId:"xxxx", first: 50,
Do you need help with your API queries and/or mutation?Here are a few that might help you!😉🔎Queries📍LIST PIPES{pipes(ids: [ID1, ID2]) { id name phases { name cards (first: x) { edges { node { id title } } } } }} 📍SHOW PIPE{ pipe(id: 123456) { id name start_form_fields { label id } labels { name id} phases { name fields { label id } cards(first: X) { edges { node { id title } } } } }} 📍SHOW ALL FIELDS FROM PIPE{ pipe(id: XXXXX) { start_form_fields { id internal_id label type options } phases { fields { label internal_id type options } } }}🛠Mutations📍CREATE PIPEmutation { createPipe( input: { organization_id: XXXX name: "XXXX" labels: [ {name: "Label 01", color: "#FF0042"} ] members: [ {user_id: 00000, role_name: "admin"} {user_id: 00001, role_name: "member"} ] phases: [ {name: "First Step"} {name: "Finished", done: true} ] start_form_fields: [ {typ
Do you need help with your API queries and/or mutation?Here are a few that might help you!😉 🛠Mutations📍CREATE LABELmutation { createLabel( input: { pipe_id: XXXX name: "Important!" color: "#FF0000" } ) { label { id name } }} 📍UPDATE LABELmutation { updateLabel( input: { id: XXXXX name: "Very Important!" color: "#FF6347" } ) { label { id name } }}📍DELETE LABELmutation { deleteLabel(input: { id: XXXX }) { success }}
API queries to dense databases could potentially return millions, if not billions, of results. Pagination thus helps to limit the number of results. It’s a process used to divide a large dataset into smaller chunks (pages).⚠ Pipefy API endpoint supports pagination with a limit of 50 cards/records per pipe or 30 cards per phase.👉🏼Here are two examples of how to use pagination:🔹Example 1 > query allCards { allCards(pipeId: xxxx, first: 50) { pageInfo { hasNextPage endCursor } edges { node { id } } }}You will set the pageInfo attribute and it will return the "endcursor", with the endcursor you can see the other cards within that phase, putting it as an argument in the "after" command. And hasNextPage will show you if there are more pages. You can then use the ID returned by the endCursor to get to the next page: {allCards(pipeId:XXXXX, first:50, after:"WyIyLjI1IiwiMTg1LjAiLDI2ODc1OTNd"){pageInfo {hasNextPageendCursor}edges {node {id}}}}🔹E
First you need to have a report already defined, with the filters you want.Then you can run the following mutation:mutation {exportPipeReport(input: { pipeId: X, pipeReportId: X}) {pipeReportExport {id}}}The answer to this call will contain a numeric ID. Using this ID obtained in the previous call, you can execute the following query:{pipeReportExport(id: XX) {fileURLstatestartedAtrequestedBy {id}}}The result of this second call will generate a link, which you can copy and paste into your browser and the file will be generated!⚠Important: Requests are counted from the last request the client made before taking the request limit and not when the day ends.You have 24 hours to make a new request after receiving the daily request limit message, but not from 00:00 to 00:00 but from the last request the client made. In this case, if you made the last request before receiving the message, for example, at 9 a.m., you can only redo the request at 9 a.m. the next day.
Do you need help with your API queries and/or mutation?Here are a few that might help you!😉🔎Queries📍SHOW PHASE{ phase(id: XXX) { id name cards_count cards { edges { node { id title } } } fields { id } }}📍SHOW ALL PHASES FROM PIPE{pipe(id:XXXXX){phases{idnamecards_count}}}🛠Mutations📍CREATE PHASEmutation { createPhase( input: { pipe_id: XXXX name: "First Phase" done: false lateness_time: 172800 description: "XXXXXXXXXX" can_receive_card_directly_from_draft: true } ) { phase { id name } }}📍UPDATE PHASEmutation { updatePhase( input: { id: XXXXXXX name: "New name" done: true description: "New phase description" can_receive_card_directly_from_draft: false } ) { phase { id name } }}📍DELETE PHASEmutation { deletePhase( input: { id: XXXX }) { success }} 📍CREATE PHASE FIELDmutation { createPhaseField( input: { phase_id: XXXXX type: "radio_horizontal" label: "Did you finish the task?" options: ["Yes", "No"] description: "XXXX" required: true editable: false } ) { phase_field { id label }
You can download the attached files in a pipe!😃 To get the links to the card attachments from a pipe via API, these are the queries you will need: ◾Attachments to cards on the pipe{ cards(pipe_id:XXX){ pageInfo{ hasNextPage endCursor } edges{ node{ id title attachments{ url } } } }}◾Card attachments{ card(id:XXXX) { attachments { createdAt path url } }}
Do you need help with your API queries and/or mutation?Here are a few that might help you!😉 🔎Queries 📍LIST COMMENTS FROM A CARD{ card(id:xxxxxxxx) { title comments { id author_name created_at text } }}🛠Mutations 📍CREATE COMMENTmutation {createComment(input: {card_id: XXXXXXXtext: "Life is like a box of chocolates.."}) {comment {idtext}}}📍UPDATE COMMENTmutation {updateComment(input: {id: XXXXXtext: "Let me explain something to you."}) {comment {idtext}}}📍DELETE COMMENTmutation {deleteComment(input:{id: XXXX}) {success}}
Welcome to the Pipefy Developers ! Here you can find documentation on how to develop your own Pipefy App and on how to use GraphQL API query language to extend Pipefy capabilities.Pipefy is a process platform designed to standardize and advance business workflow processes. Users can create custom workflows, generate reports to find process bottlenecks, centralize communications, and improve overall productivity by using Pipefy.The Pipefy Developers is an open space where developers can build powerful products on Pipefy’s platform. Create game-changing process advancements for your team or for managers in +15k companies around the world.What you can do on the Pipefy Developers:
Hello, Pipefy Community, We have great news: now, you can integrate Pipefy with your reports tool, such as PowerBI or DataStudio, through API! Here’s how: With Reports, you can filter data from your processes in real time, organize them into columns and export them as a spreadsheet to analyze the information you want. If your team needs to export reports frequently and within a certain period of time, you can automate that process! Configure an API Scheduler routine to automate report extraction using a mutation. The report will be exported in the time period you set in your scheduler. To extract the report, two calls are needed, the first is a mutation that will obtain an ID in the response to be used in the extraction, and the second is a query, which will use the response obtained in the first to obtain the download URL of the report. The initial call, as follows, must inform the ID of the Pipe where the report is saved and the ID of the report already formatted with all the columns
Hello,Could you please assist me understanding why I am getting a 400 Bad Request response when trying to use createCard using graphql?Ex: $client = new \GuzzleHttp\Client();$response = $client->request('POST', 'https://api.pipefy.com/graphql', [ 'body' => '{"query":"mutation { createCard( input: { pipe_id: '.$pipe_id.', phase_id: '.$phase_id.', title: "LOREM IPSUM", fields_attributes: [ { field_id: "title", field_value: "LOREM IPSUM1" }, { field_id: "email", field_value: "my-email@email.com" } ] }) { clientMutationId card { id title } } } ', 'headers' => $headers,]);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?
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
Hello,I'm trying to send a file to a card. Executing createPresignedUrl and PUT for S3 works perfectly, I can even access the download of the file that was sent.My problem is with the updateFieldsValues mutation. When I send it I get an error, can you help me with that? My mutation:mutation { updateFieldsValues( input: { nodeId: CARD-ID, values: { fieldId: "foto_do_cnpj_cpf", value: ["uploads/7c3b7885-16d5-44c0-9e23-8570f261b20a/1633126573430.png"], operation: ADD } } ) { clientMutationId, updatedNode }} The returned error: { "data": { "updateFieldsValues": null }, "errors": [ { "message": "Invalid input: foto_do_cnpj_cpf ([\"uploads/7c3b7885-16d5-44c0-9e23-8570f261b20a/1633126573430.png\"])", "locations": [ { "line": 3, "column": 7 } ], "path": [ "updateFieldsValues" ], "code": 30000, "type": "PipefyRuntimeError" } ]} Do you know what it can be? I'
Hello, I used to use Zapier to conect pipefy and other services that we use here, but since yesterday i cant reconect my pipefy acc through Zapier, keeps showing me the error unauthorized message. Anyone else with this kind of problem??
I’m sending the task e-mail via integration with make, i want to send the task e-mail and the notification to pop up on the “tasks & requests” interface, is there any way to do this?i already did the mutation to get the publicphaseform:configurePublicPhaseFormLink(input: {cardId: XXXX, enable: true}) {url}But it does not make a notification of task pending on the “tasks & requests” interface :c
When I create a card with start form, it’s generate a card.create event and sent it to my webhook. But when I create cards with card importer that event don’t be generated.
In a scenario where a Card in "Pipe A" is connected to a Card in "Pipe B" (ie Pipe A has the connect field), is there an API query which, for a Card on Pipe B, will give all of the Cards which are connected to that Pipe B Card? Thanks for any help
Has anyone be able to create a card using make.com?I’m getting an error:RuntimeErrorError Argument 'field_id' on InputObject 'FieldValueInput' is required. Expected type ID!OriginPipefyAutomatic error handlerIf you want to handle this error automatically, choose one of the following options. This will create a new error-handler route in your scenario. You can then expand the route in any way you like. Has anyone be able to create a card using make.com? I think there is something wrong in make since the options I get for “card fields” are the same as in “start form field”. I don't know if you are somehow responsible for make’s integration or...
Hi Pipefy community, I was hoping to get some direction on how to build an application with Python on the developer platform. I have flows running through the api on my own machine, as well as webhooks that call cloud functions because the graphQL and webhook documentation was more than sufficient. But, the developer platform documentation is lacking, and I found it to be no help. Any advice on where to start? Are there any tutorials, topics to learn, or forums that you would recommend that can provide me with some scope on the matter?
Developing your own Pipefy app is simple. We built the framework in a way that allows you use intuitive Javascript APIs to build powerful products or integrations on Pipefy’s platform. Display or update external data, add feature buttons to your Pipe, create new tabs on cards, attach data to cards, and open modals or sidebars to display customized views.The Apps run in iframes in the product, so you can build Apps with any technology you like, including server-side technologies. The framework also gives your Apps access to various product resources by using consistent APIs. Getting StartedHere we will describe how to get started on building Apps. Our framework is intuitive and easy to learn so you’ll be able to quickly pick our sample projects, remix on Glitch, and activate Apps inside your organization.You will need to be an admin for the Pipefy team where you want to add your App. It doesn't matter whether the team is free or paid. We'll need your App Name and an HTTPS based manifes
I’m creating a CRM Pipe and it is so important to have the lead source. I was thinking to get the information from URL parameters, since all my campaigns URL has parameters.Anyone know how to solve this problem? The HTTP automation can help with that?
Hello Doers! We have some exciting news to share with you! Later this year we’ll officially launch a new way to integrate Pipefy with other tools. This will empower our users to ensure the transmission of information between different parties is automatic and error-proof and be confident that the entire operation is visible and controlled in a single place. I’m talking about things like: Updating employee personal information, posting job openings to job boards and collecting signatures Optimizing reconciliation, synchronizing purchase information, controlling cash flow and updating balance sheets Managing NPS, churn requests, updating directories, customer documents and support tickets’ statuses Sending automatic SMS texts to requesters and stakeholders The sky is the limit. And the great news is: new customers will only get access to Custom Integrations depending on their contract. But we are making this add-on available to all of our current customer base as a way to thank
👆Emoji AppThis is a sample app that show all capabilities that apps could explore. 👆appear.in AppOfficial Pipefy appear.in app 👆 Google Hangouts AppOfficial Pipefy Google Hangouts app 👆 Sample React App with Pipe ViewsPipe views is a new Apps feature under development mode.
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.