List All LLM Providers by Pipe

Retrieve every LLM provider the AI agents of a pipe can use: Pipefy-managed (system) providers and the custom providers of the pipe organization.

Before You Begin

🔗 Use the GraphQL Playground to execute the queries in this guide.

➡️ New to GraphQL? Learn how to navigate the Playground with our Playground Basics Guide.

Prerequisites

  1. Authentication: Use a Service Account token.
  2. Permissions: You must be able to manage AI agents in the pipe, which is granted to the pipe admin role.
  3. Pipe UUID: The UUID of the pipe whose AI agents will use the providers.

Step 1: Execute the Query

This query returns the LLM providers available when configuring the AI agents of a pipe: the system providers (managed by Pipefy) and the custom providers configured by the organization that owns the pipe. Unlike List All LLM Providers by Organization, it only requires permission on the pipe, not on the organization's AI provider settings.

Each node is an LlmProviderUnion. Use inline fragments (... on LlmProvider / ... on SystemLlmProvider) to select the fields of each type, and __typename to tell them apart.

query {
  allLlmProvidersByPipe(pipeUuid: "pipe-uuid-example", onlyActiveProviders: true) {
    edges {
      cursor
      node {
        __typename
        ... on LlmProvider {
          id
          name
          configuration
          active
          organizationDefault
        }
        ... on SystemLlmProvider {
          id
          name
          configuration
          state
          deprecationDate
          organizationDefault
        }
      }
    }
    pageInfo {
      hasNextPage
      endCursor
    }
  }
}

Arguments

  • pipeUuid (ID, required): The UUID of the pipe.
  • onlyActiveProviders (Boolean, optional, default false): When true, filters out disabled custom providers. System providers are always returned.

Response Fields

The response has the same shape as List All LLM Providers by Organization:

  • allLlmProvidersByPipe: A connection object whose nodes are an LlmProviderUnion.
    • edges.node: Either a LlmProvider (custom) or a SystemLlmProvider (Pipefy-managed), identified by __typename.
    • pageInfo: Pagination details (hasNextPage, endCursor).

Example Response

{
  "data": {
    "allLlmProvidersByPipe": {
      "edges": [
        {
          "cursor": "MQ",
          "node": {
            "__typename": "SystemLlmProvider",
            "id": "1",
            "name": "Pipefy AI",
            "configuration": {
              "provider": "pipefyai",
              "model": "gpt-4o"
            },
            "state": "active",
            "deprecationDate": null,
            "organizationDefault": true
          }
        },
        {
          "cursor": "Mg",
          "node": {
            "__typename": "LlmProvider",
            "id": "27",
            "name": "OpenAI GPT-4o",
            "configuration": {
              "provider": "openai",
              "model_name": "gpt-4o"
            },
            "active": true,
            "organizationDefault": false
          }
        }
      ],
      "pageInfo": {
        "hasNextPage": false,
        "endCursor": "Mg"
      }
    }
  }
}

Key Notes

  • The providers listed are those of the organization that owns the pipe.
  • The query returns a RESOURCE_NOT_FOUND error when no pipe matches pipeUuid (including the UUID of a database table), and PERMISSION_DENIED when you cannot manage the pipe's AI agents (pipe members, for example).
  • Sensitive information like API keys is never exposed in the configuration object.