Tool object model
A project tool includes:- A title and icon for the library.
- A description for humans.
- A function definition for the model.
- A JSON parameter schema.
- Project ownership metadata.
- Folder position.
Create a tool
Name the function
Use a stable function name that describes the action. Function names should be short, readable, and safe to keep over time.
Write the model-facing description
Describe when the model should call the tool, what the tool returns, and any important limits.
Define parameters
Add a JSON schema for the tool input. Mark required properties and use enums when values are constrained.
Function schema guidance
The model sees the function schema, so the schema is part of the prompt.| Schema part | Guidance |
|---|---|
| Name | Use an action-oriented name such as search_policies, get_order_status, or create_support_ticket. |
| Description | Tell the model when to call the tool and what not to use it for. |
| Parameters | Use explicit fields and simple types. Avoid a single large payload field unless the backend requires it. |
| Required fields | Require the minimum data needed for a valid call. |
| Enums | Use enums for known values such as region, product, language, or priority. |
| Descriptions | Add field descriptions when the model could confuse two fields. |
Link tools to prompts
After creating a tool, attach it to every prompt that should be allowed to call it. A tool in the project library is not automatically available to every prompt. When linking a tool, review the prompt instructions:- Explain when the tool should be used.
- Explain what to do when the tool returns no result.
- Explain whether the assistant should cite or summarize tool data.
- Explain whether the assistant can answer without the tool.
- Add evaluator coverage for the tool-use behavior if it is important.
Keep references healthy
Deleting a project tool can leave prompts with broken project-tool references. Before deleting a tool:- Search the Tools library for linked prompts.
- Open each linked prompt and remove or replace the tool.
- Review deployment snapshots that still depend on the tool.
- Confirm production traces no longer show calls to the old tool.
Tool library triage
Use the Tools library to find:- Tools with missing descriptions.
- Tools with unclear function names.
- Tools linked to many prompts.
- Tools that have not been updated recently.
- Tools that are good candidates for consolidation.
Next steps
Test and debug tools
Use playground runs, traces, and behaviors to debug tool calls.
Build prompts
Attach project tools to prompt drafts.
Traces
Inspect tool call spans and responses.
Behaviors
Find repeated tool-use patterns in production.