Skip to main content
Pipefy is a workflow management and process automation platform that helps organizations streamline their business processes. It provides tools for creating custom workflows, managing tasks, and automating repetitive processes to improve efficiency and productivity.

Configuring Pipefy as a Source

In the Sources tab, click on the “Add source” button located on the top right of your screen. Then, select the Pipefy option from the list of connectors. Click Next and you’ll be prompted to add your access.

1. Add account access

You can authenticate with Pipefy using either a Service Account (recommended) or a Personal Access Token (deprecated). The following configurations are available:
  • Organization ID: The unique identifier (ID) associated with your Pipefy organization. This can be extracted from the URL at https://app.pipefy.com/organizations/{YourOrganizationID}).
  • Authentication mode: The authentication mode to use. Choose between Service Account and Personal Access Token.
  • Service Account Credentials: (If Service Account is selected) Create a service account in Pipefy (Members and Permissions > Service Accounts) and provide the credentials here.
    • Client ID: The Client ID from the Pipefy service account.
    • Client Secret: The Client Secret from the Pipefy service account.
  • Personal Access Token: (If Personal Access Token is selected) Personal Access Tokens are deprecated. Use a service account instead for new integrations.
    • Auth Token: The Personal Access Token to authenticate against the Pipefy API.
  • Page Size: (Default: 50) Number of records per page for paginated GraphQL queries. Lower it (e.g., 25 or 10) if Pipefy returns 408 Request Timeout on heavy pipes.
  • Enable card attachments streams: (Default: false) When enabled, the source adds one all_cards_{pipeId}_attachments stream per pipe that downloads every card’s attachments and uploads them to a Nekt volume. This makes extractions significantly slower and heavier: each attachment is downloaded from Pipefy and re-uploaded to Nekt, and a card’s attachments are re-uploaded whenever the card changes. Only enable this if you need the card files stored in a Nekt volume.
  • Attachments Volume: Nekt volume to upload card attachments to. Required when card attachments streams are enabled.
Once you are done, click Next.

2. Select streams

Choose which data streams you want to sync - you can select all streams or pick specific ones that matter most to you. The available streams are dynamically discovered based on the pipes and tables in your organization.
Tip: The stream can be found more easily by typing its name.
Select the streams and click Next.

3. Configure data streams

Customize how you want your data to appear in your catalog. Select the desired layer where the data will be placed, a folder to organize it inside the layer, a name for each table (which will effectively contain the fetched data) and the type of sync.
  • Layer: choose between the existing layers on your catalog. This is where you will find your new extracted tables as the extraction runs successfully.
  • Folder: a folder can be created inside the selected layer to group all tables being created from this new data source.
  • Table name: we suggest a name, but feel free to customize it. You have the option to add a prefix to all tables at once and make this process faster!
  • Sync Type: you can choose between INCREMENTAL and FULL_TABLE.
    • Incremental: every time the extraction happens, we’ll get only the new data - which is good if, for example, you want to keep every record ever fetched.
    • Full table: every time the extraction happens, we’ll get the current state of the data - which is good if, for example, you don’t want to have deleted data in your catalog.
Once you are done configuring, click Next.

4. Configure data source

Describe your data source for easy identification within your organization, not exceeding 140 characters. To define your Trigger, consider how often you want data to be extracted from this source. This decision usually depends on how frequently you need the new table data updated (every day, once a week, or only at specific times). Optionally, you can define some additional settings:
  • Configure Delta Log Retention and determine for how long we should store old states of this table as it gets updated. Read more about this resource here.
  • Determine when to execute an Additional Full Sync. This will complement the incremental data extractions, ensuring that your data is completely synchronized with your source every once in a while.
Once you are ready, click Next to finalize the setup.

5. Check your new source

You can view your new source on the Sources page. If needed, manually trigger the source extraction by clicking on the arrow button. Once executed, your data will appear in your Catalog.
For you to be able to see it on your Catalog, you need at least one successful source run.

Streams and Fields

Below you’ll find all available data streams from Pipefy and their corresponding fields:
Stream for fetching cards information within a specific pipe. A stream is created for each pipe in your organization (e.g., all_cards_PIPE_ID).Key Fields:
FieldTypeDescription
idStringUnique identifier for the card
titleStringTitle of the card
created_atDateTimeWhen the card was created
updated_atDateTimeWhen the card was last updated
finished_atDateTimeWhen the card was finished
doneBooleanWhether the card is completed
ageIntegerAge of the card in days
assigneesArrayUsers assigned to the card
created_byObjectUser who created the card
commentsArrayComments added to the card
comments_countIntegerTotal number of comments on the card
current_phaseObjectThe current phase of the card
current_phase_ageIntegerTime elapsed in the current phase
due_dateDateTimeDue date defined for the card
expiredBooleanIndicates whether the due date has expired
fieldsArrayField values associated with the card
phases_historyArrayHistory of phase transitions for the card
child_relationsArrayChild cards related to this card
parent_relationsArrayParent cards related to this card
labelsArrayLabels on the card
lateBooleanWhether the card is late
overdueBooleanWhether the card is overdue
started_current_phase_atDateTimeWhen the card started its current phase
urlStringURL of the card
uuidStringUUID of the card
Stream for fetching card attachments and uploading them to a Nekt volume. A stream is created for each pipe (e.g., all_cards_PIPE_ID_attachments).
This stream makes extractions significantly slower and heavier. Each attachment is downloaded from Pipefy and re-uploaded to Nekt, and a card’s attachments are re-uploaded whenever the card changes.
Key Fields:
FieldTypeDescription
card_idStringThe ID of the card this attachment belongs to
card_updated_atDateTimeTimestamp when the card was last updated
pathStringThe path/URL of the attachment in Pipefy
created_atDateTimeTimestamp when the attachment was created
file_nameStringFile name derived from the attachment path
file_sizeIntegerSize of the uploaded file in bytes
mime_typeStringMIME type of the uploaded file
_nekt_file_idStringID of the file created in the Nekt volume
_nekt_uploaded_atDateTimeTimestamp when the file was uploaded to Nekt
Stream for managing the phases of your pipes.Key Fields:
FieldTypeDescription
pipe_idStringID of the pipe this phase belongs to
idStringUnique identifier for the phase
nameStringName of the phase
descriptionStringDescription of the phase
created_atDateTimeWhen the phase was created
Stream for managing the fields within each phase of your pipes.Key Fields:
FieldTypeDescription
phase_idStringID of the phase this field belongs to
idStringUnique identifier for the field
labelStringLabel of the field
descriptionStringDescription of the field
is_multipleBooleanWhether the field can have multiple values
optionsArrayOptions for the field (if applicable)
requiredBooleanWhether the field is required
settingsObjectField-specific settings
typeStringType of the field
Stream containing members of your Pipefy organization.Key Fields:
FieldTypeDescription
idStringUnique identifier for the member user
nameStringMember user name
emailStringMember user email
usernameStringMember username
uuidStringMember UUID
avatarUrlStringAvatar URL
confirmedBooleanWhether the user account is confirmed
createdAtDateTimeWhen the user account was created
invitedBooleanWhether the member is invited
localeStringMember locale
phoneStringMember phone number
timezoneStringMember timezone
Stream containing information about the tables in your organization.Key Fields:
FieldTypeDescription
idStringUnique identifier for the table
nameStringName of the table
internal_idStringInternal ID of the table
descriptionStringDescription of the table
publicBooleanWhether the table is public
table_records_countIntegerNumber of records in the table
users_countIntegerNumber of users with access to the table
typeStringType of the table
statusesArrayStatuses defined for the table
labelsArrayLabels defined for the table
membersArrayMembers with access to the table
table_fieldsArrayFields in the table
Stream for managing records within a specific table. A stream is created for each table in your organization (e.g., table_records_TABLE_ID).Key Fields:
FieldTypeDescription
idStringUnique identifier for the record
titleStringTitle of the record
created_atDateTimeWhen the record was created
updated_atDateTimeWhen the record was last updated
created_byObjectUser who created the record
tableObjectThe table this record belongs to
record_fieldsArrayFields in the record

Implementation Notes

Dynamic Stream Discovery

  • The Pipefy connector dynamically discovers streams based on the pipes and tables available in your organization.
  • The connector is designed to be resilient to changes in your Pipefy environment. If a new Pipe or Table is added after your initial setup, the connector will safely handle the discovery of these new streams during subsequent syncs without failing on stale catalog references.

Skills for agents

Download Pipefy skills file

Pipefy connector documentation as plain markdown, for use in AI agent contexts.