Please contact a Glean representative if you are interested in partnering with Glean and building tools on Glean’s platform.
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.
|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:
|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.
|enable_preview||Boolean||Valid only for
|action_type||Boolean||The type of the action tool. Can take one of the following Enum values:
|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=
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