Back to notes
Tool designGuide5 min

Decide when to use built-in tools vs custom tools

A decision guide for choosing between OpenAI-provided tools and product-specific functions.

Open source doc
Real example

Example: combine built-in document search with custom account actions

A customer success assistant needs to answer questions from product docs and create a renewal-risk task when a customer is blocked.

Use OpenAI-provided or platform-level retrieval for general documentation, then use a custom tool for create_renewal_risk_task because that action depends on account ownership, workspace policy, and audit logging.

The system avoids rebuilding generic capabilities while keeping product-specific actions under your authorization model.

Tutorial path

How to implement it

Step 01
Write the exact job the model must complete and mark which steps require your private data.
Step 02
Use built-in tools for generic capabilities that do not need product-specific authorization.
Step 03
Use custom tools for business actions, tenant-scoped data, approvals, and workflow transitions.
Step 04
Keep the orchestration layer responsible for permissions, retries, and final writes.
Step 05
Review logs after launch to see which tool decisions need tighter descriptions.
Checklist

Ready when these are true

Capability mapped to risk
Private data stays behind custom tools
Tool descriptions are unambiguous
Retries are bounded
Audit log captures tool choice
Field notes

What matters in practice

01
Built-in tools are strongest when the capability is generic and well-defined.
02
Custom tools are better when the model must operate on your business rules and private workflow state.
03
A mixed approach works when retrieval, browsing, files, or product actions need different controls.
Avoid these mistakes

Common failure modes

01
Do not use custom tools for generic work that an existing OpenAI tool already solves well.
02
Do not use built-in tools for business actions that require tenant-specific permissions.
03
Do not let the model choose tools without logging which one it used and why.
Practical tip
Ask one question for each capability: would I trust a generic assistant with this, or does it need my product's permission model?
Apply this to a build
Contact
Bring the workflow, deadline, and constraints.
Send the desired outcome, current bottleneck, users, and timeline. I will respond with a practical path for the build.