What type of API does Pipefy provide?
Pipefy uses a GraphQL API.
Key points:
-
Pipefy's API is based on GraphQL, not REST or SOAP.
-
GraphQL is a data query and manipulation language for APIs created by Facebook.
-
It allows clients to request exactly the data they need in a single API call.
-
Pipefy provides a GraphQL playground/IDE for testing queries.
-
Authentication is done via OAuth2 Bearer tokens, either through Service Accounts or Personal Access Tokens.
Benefits of Pipefy's GraphQL API:
- Flexible querying - clients can request only the data they need
- Single endpoint - all data can be fetched in one request
- Strongly typed schema - improves discoverability and error handling
- No versioning required - the API can evolve without breaking existing queries
- Detailed error messages
- Fits well with graph-like data structures
Usage considerations:
- There are API call limits based on the Pipefy plan level
- GraphQL has a learning curve compared to REST
- Caching can be more challenging with GraphQL
- Best suited for applications with complex or flexible data requirements
In summary, Pipefy's GraphQL API provides a powerful and flexible way to integrate with the platform, though it may require some learning for developers more familiar with REST APIs. The GraphQL approach aligns well with Pipefy's workflow and process management use cases.
Does the Pipefy API have webhooks?
Webhook Availability
Yes, the official Pipefy API does have webhooks.
Types of Events
Pipefy offers webhooks for different domains, including:
- User Management Webhooks
- Card/Table Record Management Webhooks
Specific Events You Can Subscribe To
The following events can be subscribed to via webhooks:
- card.create
- card.done
- card.expired
- card.late
- card.move
- card.overdue
- card.field_update
- card.delete
- card.comment_create
- card.email_received
- user.invitation_sent
- user.invitation_acceptance
- user.role_set
- user.removal_from_org
How to Use Webhooks
To use webhooks in Pipefy, you need to create a webhook using a GraphQL mutation. The required arguments for creating a webhook are:
- actions: [String]! (the events you want to subscribe to)
- name: String!
- url: String! (the endpoint where you want to receive the webhook payload)
- pipe_id: ID! OR table_id: ID!
- filters: JSON (optional, to filter the events)
Key Points to Consider
-
Webhooks work as triggers between two applications, alerting other APIs or software about events in Pipefy.
-
Webhooks are more efficient than constantly polling the API for changes.
-
For tables, records are considered cards in the context of webhooks. For example, use 'card.create' to get webhook alerts when a table record is created.
-
Lateness and Expiration type webhooks will not trigger for tables, as these SLA configurations are not available at the table level.
-
The Pipe ID shown in the response payloads are SUIDs (a unique alphanumeric ID).
In conclusion, the Pipefy API offers a robust webhook system that allows you to subscribe to a wide range of events related to cards, table records, and user management. This enables real-time integration and automation with other systems and applications.
Rate Limits and other limitations
Based on the search results provided, here are the key points regarding the API Rate Limits of the Pipefy API:
API Call Limits
- Each Pipefy plan has different monthly API call limits:
- Starter plan: up to 20 API calls per month
- Business plan: up to 500 API calls per month
- Enterprise plan: up to 10,000 API calls per month
- Unlimited plan: customized API call limit
Request Rate Limits
- The number of subsequent queries allowed is 500 requests every 30 seconds
- If this limit is exceeded, the user will not be able to request the API for 5 minutes
Other Limits
- Webhook configurations: Recommended not to exceed 30 webhooks per pipe, but this can vary based on process size and subscription
- Inputs/outputs: Each request generally returns only 50 records, requiring pagination
- Attached file size limit: 512MB per file
- Generated file links are only available for 15 minutes
Additional Notes
- For Pipe Reports Export specifically, there is a rate limit of 25 requests in 24 hours, for each pipe
- If the Pipe Reports Export rate limit is reached, you must wait 24 hours from the last request before making new requests
- Enterprise clients can hire custom integrations, which is not available for Starter and Business clients
Best Practices
- Be aware of the limits for your specific plan
- Implement proper error handling to deal with rate limit errors
- Use pagination when retrieving large datasets
- Consider upgrading your plan or purchasing add-ons if you consistently hit limits
In summary, the Pipefy API has various rate limits and restrictions in place depending on the subscription plan and specific API functionality being used. It's important to be aware of these limits and design your integrations accordingly to avoid disruptions.
Latest API Version
Based on the search results provided, there is no specific mention of the most recent version of the Pipefy API. However, I can provide some key information about Pipefy's API:
API Type and Access
Pipefy uses a GraphQL API [1][4]. Users can access the API through:
- A public IDE or GraphQL playground for testing queries and mutations.
- An endpoint for making requests and building custom integrations [3].
Authentication
Authentication for the Pipefy GraphQL API requires an OAuth2 Bearer token. There are two authentication methods:
- Service Accounts (recommended for production environments)
- Personal Access Tokens (ideal for testing or making calls to your own pipes) [3]
Key Points to Consider
-
API call limits vary based on the Pipefy plan:
- Starter plan: up to 20 API calls per month
- Business plan: up to 500 API calls per month
- Enterprise plan: up to 10,000 API calls per month
- Unlimited: customized API call limit [3]
-
There are request limits:
- 500 subsequent queries allowed every 30 seconds
- Webhook configurations depend on the process size and organization's subscription
- Each request typically returns 50 records, requiring pagination for larger datasets [3]
-
File size limit for attachments is 512MB per file [3].
-
Generated file links are only available for 15 minutes for security reasons [3].
Best Practices
-
Use Service Accounts for production environments due to their security and organization management capabilities [3].
-
Familiarize yourself with GraphQL queries and mutations for data consultation and manipulation [3].
-
Consider using the allCards
query with appropriate filters for retrieving card data, including the ability to filter by updated_at
[2][5].
-
For large data exports, consider using the exportPipeReport
mutation and pipeReportExport
query to download reports [5].
While the search results don't provide information on the most recent version of the Pipefy API, they do offer valuable insights into its functionality and usage. For the most up-to-date information on API versions and changes, it's recommended to check the official Pipefy Developers documentation or contact Pipefy support directly.
How to get a Pipefy developer account and API Keys?
To get a developer account for Pipefy and create an API integration, you can follow these steps:
-
Access to Pipefy's API:
- Pipefy offers two options for using their API:
- Public IDE or GraphQL playground: This allows you to test commands and make changes that will reflect in your pipe. No authorization code setup is needed as it's synced with your Pipefy user authentication.
- Endpoint: This allows you to make requests from the API and build custom integrations.
-
Authentication:
- Pipefy uses OAuth2 Bearer tokens for GraphQL authentication. There are two forms of authentication:
- Service Accounts: Recommended for production environments due to security and organization management.
- Personal Access Token: Ideal for testing the API or making calls to your own pipes.
-
Obtaining authentication:
-
API call limits:
- Be aware that there are API call limits, though the specific limits are not mentioned in the provided information.
-
Developer resources:
- Pipefy offers a Developers Page with comprehensive guides and documentation.
- They also provide a basic API and Integrations online free course for beginners.
-
Important considerations:
- Only admin or super admin users can use Pipefy's API.
- Pipefy's API can integrate with internal or third-party systems if they have a public API that accepts CORS requests.
-
Custom integrations:
- For Enterprise clients, Pipefy offers custom integrations for specific needs.
- You can use Pipefy Connector to connect Pipefy to other software like Salesforce, DocuSign, or Google Sheets.
What can you do with the Pipefy API?
Here are the key data models you can interact with using the Pipefy API, along with what is possible for each:
Organizations
- Retrieve organization details like ID, name, creation date
- Get list of pipes associated with an organization
Pipes
- Create new pipes
- Retrieve pipe details like ID, name
- Get list of phases, fields, cards associated with a pipe
- Update pipe details
Cards
- Create new cards in a pipe
- Retrieve card details like ID, title, due date, current phase
- Update card fields and attributes
- Move cards between phases
- Delete cards
Phases
- Retrieve phase details like ID, name
- Get cards in a specific phase
- Move cards between phases
Fields
- Create custom fields for pipes/cards
- Retrieve field details and values
- Update field values on cards
Tables
- Create database tables
- Add/update/delete table records
- Retrieve table data
Users
- Get current authenticated user details
- Retrieve user information
Labels
- Create and manage labels
- Add/remove labels from cards
- Add comments to cards
- Retrieve comments on cards
Attachments
- Upload file attachments to cards
- Retrieve attachment details
The API allows performing CRUD (Create, Read, Update, Delete) operations on most of these data models, enabling comprehensive interaction with Pipefy data programmatically.