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