Early access

Please contact a Glean representative if you are interested in partnering with Glean and building tools on Glean’s platform.

Getting Started

There are two files that a developer needs to provide to describe the tool.

  • Manifest : Describes the tool with various metadata associated with it.
  • API spec : An openAPI spec how the tool can be invoked.

Manifest

FIELD TYPE DESCRIPTION
schema_version String Manifest schema version
name String Unique identifier. Name should be understandable by the LLM, and will be used to invoke a tool (no spaces allowed, only letters and numbers). 50 character max.
display_name String Human understandable name of the tool. 50 character max.
description String Description tailored to an LLM describing how to use the tool, how to interpret results, etc. 8,000 character max.
type String Can take one of the following Enum values: RETRIEVAL, ACTION
api Object OpenAPI specification: A single endpoint for retrieval / action tools. Any arbitrary API will be supported, but in case of multiple paths in the openapi spec, only the first one will be used. ACTION tools may use Glean’s built-in types to hint the LLM.
enable_preview Boolean Valid only for ACTION tools. If true, enable default preview and confirmation flow. If false, directly execute the action. Default: true
action_type Boolean The type of the action tool. Can take one of the following Enum values: REDIRECT (User is redirected to a URL where the action can be completed), EXECUTION (Action execution can be done by the assistant on confirmation by the user directly)
logo_url String URL used to fetch the logo. Suggested size: 512 x 512. Transparent backgrounds are supported. Must be an image, no GIFs are allowed. Optional.
object_name String Name of the object generated. Example: “HR ticket”, “Email”, “Chat message”. This will be used to indicate to the end user what the generated action using the tool contains. Optional. Can be added if type=RETRIEVAL

OpenAPI Spec

A .yaml file describing the openAPI spec. The following are specifications on the openapi spec of the tool:

  • Should contain a single endpoint defined in /paths (Example: /execute)
  • Fields can be added either in requestBody.content or parameters. All fields in the requestBody.content and parameters should follow the following format:
    • Fields should not be nested (i.e., can only be of type string / number / integer / boolean , or an array of one of these types; or one of Glean’s built-in types)
    • To specify a fixed value use enum with a single value
    • All values which are not fixed can be guessed by the assistant
    • Fields can be marked required using regular openapi specifications