This update introduces robust organization reporting features, allowing you to create, manage, and export detailed reports. We've also added enhanced controls for AI behavior, giving you more precise configuration options. Finally, this release brings improved tag management capabilities, including bulk operations and visibility controls, while streamlining our API by removing some legacy embedding interfaces.

New:

  • Types Added:

    • AiBehaviorActionAttributes
    • AiBehaviorMetadata
    • AiBehaviorParams
    • BulkTagsInput
    • BulkTagsPayload
    • CreateOrganizationReportInput
    • CreateOrganizationReportPayload
    • DeleteOrganizationReportInput
    • DeleteOrganizationReportPayload
    • ExportOrganizationReportInput
    • ExportOrganizationReportPayload
    • OrganizationReport
    • OrganizationReportConnection
    • OrganizationReportEdge
    • OrganizationReportExport
    • UpdateOrganizationReportInput
    • UpdateOrganizationReportPayload
    • UpdateTagInput
    • UpdateTagPayload
    • UpdateTagsVisibilityByCategoryInput
    • UpdateTagsVisibilityByCategoryPayload
  • Fields Added:

    • aiBehaviorParams to AutomationActionParams
    • createOrganizationReport, createTagsInBulk, deleteOrganizationReport, exportOrganizationReport, updateOrganizationReport, updateTag, and updateTagsVisibilityByCategory to mutations in Mutation type.
    • organizationReport, organizationReportExport, and organizationReports to queries in Query type.
    • teamMembers to Phase
    • visibleToMembers to both Tag and TagsByCategory

Removed:

  • Types Removed:

    • InterfaceEmbedCreateMutationInput
    • InterfaceEmbedCreateMutationPayload
  • Fields Removed:

    • interfaceEmbedCreate from Mutation
    • type and actionAttributes from AiBehaviorActionAttributesInput and AiBehaviorParamsInput, respectively.

Changed:

  • Field Updates:
    • actionType was added as a required input field to AiBehaviorActionAttributesInput.
    • actionsAttributes was added as a required input field to AiBehaviorParamsInput.

This API update focuses on improving assistant and dependency management. For assistants, the assistantId fields were removed from AppInterface and InterfaceType, replaced by a new, standardized assistant field in those same types, alongside the introduction of the InterfaceAssistant type. Regarding dependencies, the DependentConnection, DependentConnectionConnection, and DependentConnectionEdge types were added, and the dependentConnections field was included in the FieldDependency type for more robust dependency connection management.

👉 You can explore these updates in more detail directly in our GraphQL Page

New:

  • Field assistant was added to the object type AppInterface. This field is a new way to reference assistants.
  • Field assistant was added to the interface InterfaceType. This enables a standardized way to work with assistants across different implementations.
  • Type DependentConnection was introduced. This type likely pertains to handling dependencies.
  • Type DependentConnectionConnection was added. It's part of the new types dealing with dependencies.
  • Type DependentConnectionEdge was added to support the DependentConnection type.
  • Field dependentConnections was added to the object type FieldDependency. This field helps in managing dependency connections.
  • Type InterfaceAssistant was introduced to facilitate operations pertaining to assistants.

Removed:

  • Field assistantId was removed from the object type AppInterface. Use the new assistant field instead.
  • Field assistantId was removed from the interface InterfaceType. The new assistant field should be used as its replacement.

This changelog introduces new queries and mutations for managing field dependencies and AI settings. Key additions include the dependentEmailTemplates query and the updateAiSettings mutation, along with their associated types. Additionally, the dependentConditionals query has been updated to enforce a non-null return type.

New:

  • Query dependentEmailTemplates was added to the FieldDependency type. This allows you to retrieve email templates that have dependencies on certain fields.
  • Mutation updateAiSettings was added. This mutation can be used to update settings related to AI.
  • DependentEmailTemplate, DependentEmailTemplateConnection, and DependentEmailTemplateEdge types were added. These are used to manage email templates that have specific dependencies.
  • UpdateAiSettingsInput and UpdateAiSettingsPayload types were added to support the updateAiSettings mutation.

Changed:

  • The query dependentConditionals in the FieldDependency type now always requires a non-null return type, changing from FieldConditionConnection to FieldConditionConnection!. This means a valid result will always be expected.

This update introduces new queries, mutations, and types focused on three key areas: automation, AI integration, and notification management. It includes features for exporting automation jobs, running automation simulations, controlling AI preferences, and handling notifications with advanced filtering options.

👉 You can explore these updates in more detail directly in our GraphQL Page

New:

  • Queries:

    • automationJobsExport: A new query to export automation jobs.
    • notifications: A new query to retrieve notifications.
    • templateAgents: A new query to get template agents.
  • Mutations:

    • createAutomationJobsExport: A new mutation for creating automation jobs exports.
    • createAutomationSimulation: A new mutation for creating automation simulation.
  • Fields:

    • assistantId was added to AppInterface and InterfaceType, enhancing the interface with assistant identification capabilities.
    • skillId was added to ElementInterface and InterfacePageElement, allowing integration of specific skills.
    • aiAgentsEnabled and aiCopilotEnabled were added to RepoPreference for better AI functionality control.
  • Types:

    • AiBehaviorActionAttributesInput, AiBehaviorMetadataInput, AiBehaviorParamsInput: New input types supporting AI behavior settings.
    • AutomationActionParamsInput, AutomationAiParamsInput, AutomationEventParamsInput, AutomationJobsExport, AutomationSimulationActions, AutomationSlaRulesHolidayInput, AutomationSlaRulesHoursInput, AutomationSlaRulesParamsInput, AutomationTaskParamsInput, CreateAutomationJobsExportInput, CreateAutomationJobsExportPayload, CreateAutomationSimulationInput, CreateAutomationSimulationPayload: New types related to automation configurations and processes.
    • CronInput, ExportStatus: New types for cron jobs and export status tracking.
    • InternalError: A new type for handling internal errors.
    • Notification, NotificationConnection, NotificationEdge, NotificationEvent, Notifications: New types focusing on notification handling.
    • PeriodFilter, SearchConditionInput, TemplateAgent: New types for advanced filtering, search conditions, and templated agents.

These updates bring significant improvements in automation, AI integration, and notification management across the API.

This week, we introduced new features to the GraphQL API, including support for tag categories with the addition of the tagCategories query and updateTagCategory mutation, as well as new related types. We also enhanced file upload capabilities by adding new fields to the CreatePresignedUrlInput input object.

👉 You can explore these updates in more detail directly in our GraphQL Page

New:

  • Query: tagCategories field was added. This allows you to query the new TagCategory type.

  • Mutation: updateTagCategory field was added. Use this to update existing tag categories using the new UpdateTagCategoryInput and receive results in the UpdateTagCategoryPayload type.

  • Types: The following new types were introduced:

    • TagCategory: A new type representing categories of tags.
    • UpdateTagCategoryInput: This type allows you to provide input data for updating a tag category.
    • UpdateTagCategoryPayload: This type provides the payload results from the updateTagCategory mutation.
  • Input Object Fields:

    • contentChecksum, contentLength, and customFilePath fields were added to the CreatePresignedUrlInput input object type. These fields offer more control and specification when creating a presigned URL.

This changelog introduces new queries and types primarily focused on automation features, including logs, simulations, and event handling. Additionally, it adds new capabilities for retrieving user suggestions.

👉 You can explore these updates in more detail directly in our GraphQL Page

New:

  • Queries:

    • automatedFormulaOperations: Added a new query to assist in retrieving automated formula operations.
    • automationEventAttributes: Added a new query to get details about automation event attributes.
    • automationInitialValues: Introduced a query for fetching initial values required for automation processes.
    • automationLogs: New query added for accessing automation logs by automation.
    • automationLogsByRepo: Allows querying of automation logs by repo ID.
    • automationSimulation: Added a query to retrive the automation simulation result by ID.
    • usersSuggestions: This new query provides the users suggestion by organization UUID.
  • Types:

    • AutomatedFormulaOperation: Added as a new type to define operations on automated formulas.
    • AutomationEventAttribute: Introduced as a new type for attributes related to automation events.
    • AutomationEventAttributes: Added to store a collection of automation event attributes.
    • AutomationLog: A new type that records the details of automation logs.
    • AutomationLogConnection: Helps in connecting various automation logs.
    • AutomationLogDetails: Provides detailed insights within an automation log.
    • AutomationLogEdge: Added to define edges between automation logs.
    • AutomationLogStatus: Represents the status of an automation log.
    • AutomationSimulation: A type for running simulations of automation workflows.
    • UsersSuggestions: A new type to represent user suggestions.
    • UsersSuggestionsConnection: Connects user suggestions data.
    • UsersSuggestionsEdge: Defines edges within user suggestions.

This update includes several enhancements and simplifications to improve the efficiency and usability of our API. Please review the changes, especially if they affect areas you are using, to ensure a smooth transition.

👉 You can explore these updates in more detail directly in our GraphQL Page

New

  • Enum value: Added document to InterfacePageElementType.
  • Mutation: Added addTagsToResource to manage resource tagging.
  • Mutation: Added phaseSettings to configure phase settings.
  • Mutation: Added setFavoritePipes to manage favorite pipes.
  • Query: Added agentsUsageDetails to provide details on agent usage.
  • Query: Added automation for retrieving automation details.
  • Query: Added automationActions to list automation actions.
  • Query: Added automationEvents for event management within automations.
  • Query: Added automationEventsByPhase for phased automation events.
  • Query: Added automations to handle multiple automation tasks.
  • Query: Added automationsUsageDetails to provide usage statistics for automations.
  • Query: Added field for field data retrieval.
  • Query: Added organizationSettings for accessing organization settings.
  • Query: Added tagsByCategory to categorize tags.
  • Query: Added tagsByCategoryOnResource to manage tags by category on resources.
  • Query: Added ticket for ticket management.
  • Query: Added troubleshootLlmError for troubleshooting errors.
  • Field: Added overridePreviousWithSameUrl as a Boolean input to CreateWebhookInput.
  • Field: Added url to FieldCondition.
  • Field: Added preferences to Organization and OrganizationInterface for user preferences management.
  • Field: Added canBeTagged to ConnectedTable, Pipe, Repo, Table to manage tag availability.
  • Field: Added tags to Table for tagging functionality.
  • Field: Added billable, canBeRemoved, and openNestedStartForm to InterfacesMember and User for user management.
  • Type Added: Expanded schema with new types such as ActiveProvider, AddTagsResourceInput, AddTagsResourcePayload, AgentsDetails, AiAutomationSuggestion, AiProvider, AiProviders, Automation, and many more.

Deprecated

No items have been deprecated in this update.

Removed

  • Type: OrganizationPermissionsInternalGQL has been completely removed.

Changed

  • Field Update: Organization.permissions changed from OrganizationPermissionsInternalGQL to OrganizationPermissions.
  • Field Update: OrganizationInterface.permissions changed from OrganizationPermissionsInternalGQL to OrganizationPermissions.
  • Field Update: OrganizationMember.groups changed from GroupConnection to BasicGroupConnection.

We're excited to introduce a significant update in how we handle errors in our GraphQL API! This change aims to enhance the development experience by providing a clearer and more consistent framework for dealing with error scenarios.

What Changed:

  1. Introduction of the "extensions" Key: Now, each error object in the "errors" array features an additional key called "extensions". This addition allows for including extra information about the error, beyond the basic data like "message", "locations", and "path".
  2. Standardization of the "code" Field: Within the "extensions" key, we've implemented the "code" field. This field provides a standardized error code for each type of error, making it easier to identify and handle encountered issues.
  3. New "correlation_id" Field: In addition to the error code, we've added the "correlation_id" field within "extensions". This unique correlation identifier aids in tracking and diagnosing problems.

Why It Matters:

  1. Clarity and Consistency: The new format offers a clearer and more consistent structure for error handling, making it easier for developers to understand and troubleshoot issues.
  2. Ease of Error Identification: With the standardization of the "code" field, developers can efficiently identify and handle different types of errors.
  3. Improved Tracking and Diagnostics: The "correlation_id" field provides a unique way to track and diagnose problems.

Old response:

{
 "data": {
   "deleteCard": null
 },
 "errors": [
   {
     "message": "Card not found with id: 00000000",
     "locations": [
       {
         "line": 32,
         "column": 3
       }
     ],
     "path": [
       "deleteCard"
     ],
     "code": 30003,
     "type": "ResourceNotFoundError"
   }
 ]
}

New response:

{
 "data": {
   "deleteCard": null
 },
 "errors": [
   {
     "message": "Card not found with id: 00000000",
     "locations": [
       {
         "line": 32,
         "column": 3
       }
     ],
     "path": [
       "deleteCard"
     ],
     "extensions": {
       "code": "RESOURCE_NOT_FOUND",
       "correlation_id": "fcc162735121ac9f71ceba9fb58a639e"
     }
   }
 ]
}

📘

See possible error codes in the documentation

We're confident that these enhancements will make the development experience with our GraphQL API even smoother and more efficient. If you have any questions or need further information on how to adapt to these changes, feel free to consult our updated documentation or reach out to our technical support team. We're here to assist you!

Pipefy released a new set of functionalities in our GraphQL API to enable user management in Organizations, Pipes and Tables.

We’ve created a new level of webhooks under organizations. It will listen to events in organizations like when inviting a user, accepting invitations, changing roles or if the user was removed from organization.

All webhook creation must be executed by organization Admin users.

createOrganizationWebhook

New actions:


  • user.invitation_sent
  • user.invitation_accepted
  • user.removal_from_org
  • user.role_set
mutation {
  createOrganizationWebhook(input: {
    organization_id: 22,
    actions: [
      "user.invitation_sent", "user.invitation_accepted", "user.removal_from_org", "user.role_set"
    ],
    name: "new webhook",
    url:"https://endpoint.com"
  }) {
    clientMutationId
  }
}

👍

You can check the GraphQL specification of the new mutation here:

https://api-docs.pipefy.com/reference/mutations/createOrganizationWebhook/

createWebhook

New actions:


  • user.removal_from_pipe
  • user.removal_from_table
  • user.role_set

- For Pipe


mutation {
  createWebhook(input: {
   	pipe_id: 22,
    actions: [
      "user.removal_from_pipe", "user.role_set"
    ],
    name: "new webhook",
    url:"https://endpoint.com"
  }) {
    clientMutationId
  }
}

- For Table

mutation {
  createWebhook(input: {
   	table_id: "ZdeRdE",
    actions: [
      "user.removal_from_table", "user.role_set"
    ],
    name: "new webhook",
    url:"https://endpoint.com"
  }) {
    clientMutationId
  }
}

👍

You can check the GraphQL specification of the new mutation here:

https://api-docs.pipefy.com/reference/mutations/createWebhook/

How to consult your webhooks

You can list all your webhooks using a query.

- For organizations:

{
  organization(id: 300623467) {
    id
    webhooks {
      id
      actions
      headers
      name
      url
    }
  }
}

- For pipes:

{
  pipe(id: 301858363){
    id
    webhooks {
      id
      name
      headers
      actions
      url
    }
  }
}

- For Tables:

{
  table(id: 301858363) {
    id
    webhooks{
      id
      name
      headers
      actions
      url
    }
  }
}

📘

Check also:

updateWebhook: https://api-docs.pipefy.com/reference/mutations/updateWebhook/
deleteWebhook: https://api-docs.pipefy.com/reference/mutations/deleteWebhook/
deleteOrganizationWebhook: https://api-docs.pipefy.com/reference/mutations/createOrganizationWebhook/

User Management Mutations

by João Nicolete

Pipefy 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.

All mutations must be executed by organization Admin users.

inviteMembers

This mutation allows the invitation of users to organizations, pipes and tables.

On organizations:

mutation {
  inviteMembers(input: {organization_id: 13,emails: { email: "[email protected]", role_name: "admin"}){
    clientMutationId
  }
}

For Pipes:

mutation {
  inviteMembers(input: {pipe_id: 13, emails:  { email: "[email protected]", role_name: "admin"}}){
    clientMutationId
  }
}

For tables:

mutation {
  inviteMembers(input: {table_id: 13, emails:  { email: "[email protected]", role_name: "admin"}}){
    clientMutationId
  }
}

👍

You can check the GraphQL specification of the new mutation here:

https://api-docs.pipefy.com/reference/mutations/inviteMembers/

removeUserFromOrg

This mutation allows the removal of a user from a org.

mutation {
  removeUserFromOrg(input: {organization_id: 44, email: "[email protected]"}) {
    clientMutationId
  }
}

👍

You can check the GraphQL specification of the new mutation here:

https://api-docs.pipefy.com/reference/mutations/removeUserFromOrg/

removeUserFromPipe

This mutation allow the removal of a user from a pipe.

mutation {
  removeUserFromRepo(input: {pipe_id: 44, email: "[email protected]"}) {
    clientMutationId
  }
}

👍

You can check the GraphQL specification of the new mutation here:

https://api-docs.pipefy.com/reference/mutations/removeUserFromPipe/

removeUserFromTable

This mutation allows the removal of a user from a table.

mutation {
  removeUserFromTable(input: {table_id: 44, email: "[email protected]"}) {
    clientMutationId
  }
}

👍

You can check the GraphQL specification of the new mutation here:

https://api-docs.pipefy.com/reference/mutations/removeUserFromTable/