Update Knowledge Base Plain Text

Update a pipe-scoped knowledge base plain text for use with AI agents

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 (Personal Access Tokens are deprecated).
  2. Permissions: You must be admin of the pipe that owns the plain text.
  3. Plain Text ID: Identify the UUID of the plain text to update. This is returned when creating the plain text.

See our Get resource IDs page for how to find these values.

Update a Knowledge Base Plain Text

Use the updateAiKnowledgeBasePlainText mutation to modify the name, description, or content of an existing plain text knowledge base.

All content fields are optional — only the fields you include will be updated.

Inputs

  • pipeUuid: UUID of the pipe that owns this plain text (required).
  • plainTextId: UUID of the plain text to update (required).
  • name: New display name for the plain text (optional).
  • description: New description of what this plain text contains (optional).
  • content: New text content to replace the existing content (optional).

Example: update name and content

mutation {
  updateAiKnowledgeBasePlainText(
    input: {
      pipeUuid: "pipe-uuid-123"
      plainTextId: "f27e4cac-1724-4879-a575-28ccdee4c022"
      name: "Company FAQ - Updated"
      content: "Q: What is Pipefy? A: An enterprise workflow and process management platform."
    }
  ) {
    knowledgeBasePlainText {
      id
      name
      description
      content
      updatedAt
    }
    errors
  }
}

Response:

{
  "data": {
    "updateAiKnowledgeBasePlainText": {
      "knowledgeBasePlainText": {
        "id": "f27e4cac-1724-4879-a575-28ccdee4c022",
        "name": "Company FAQ - Updated",
        "description": "Frequently asked questions about the company",
        "content": "Q: What is Pipefy? A: An enterprise workflow and process management platform.",
        "updatedAt": "2025-01-21T09:30:00Z"
      },
      "errors": []
    }
  }
}

Response explained

  • knowledgeBasePlainText.id: UUID of the updated plain text.
  • knowledgeBasePlainText.name: Updated display name.
  • knowledgeBasePlainText.description: Updated description (unchanged fields retain their previous values).
  • knowledgeBasePlainText.content: Updated text content.
  • knowledgeBasePlainText.updatedAt: Timestamp of the most recent update.

Error handling

If the update fails (e.g., plain text not found, permission denied), you'll receive an error response:

{
  "data": {
    "updateAiKnowledgeBasePlainText": null
  },
  "errors": [
    {
      "message": "Record not found",
      "locations": [
        {
          "line": 2,
          "column": 3
        }
      ],
      "path": ["updateAiKnowledgeBasePlainText"]
    }
  ]
}

Error response explained

  • data.updateAiKnowledgeBasePlainText: Returns null when the operation fails.
  • errors[].message: Human-readable error description. Common messages:
    • "Permission denied" — the authenticated user is not an admin of the pipe.
    • "Pipe not found with id: <uuid>" — the pipeUuid does not match an existing pipe.
    • "Record not found" — the plainTextId does not match an existing plain text.

Tips

  • Partial updates: Only include fields you want to change. Omitted fields are not modified.
  • Content replacement: Updating content replaces the entire stored text — there is no partial/append mode.