Comparison Intermediate · 4 min read

Built-in tools vs custom tools comparison

Quick answer
Use built-in tools for quick, standardized integrations with pre-defined capabilities, while custom tools offer flexibility to define specific functions and parameters tailored to your application. Both leverage the tools parameter in OpenAI chat completions but differ in control and complexity.

VERDICT

Use built-in tools for rapid deployment of common functionalities; choose custom tools when you need precise control over tool behavior and parameters.
Tool typeKey strengthPricingAPI accessBest for
Built-in toolsPredefined, ready-to-use capabilitiesIncluded in API usageDirect via tools paramStandard tasks like calculator, browser
Custom toolsFully customizable functions and parametersIncluded in API usageDefined via tools JSON schemaUnique app-specific integrations
Function calling (deprecated)Simpler function calls with limited controlIncluded in API usageLegacy functions paramLegacy codebases
Third-party pluginsEcosystem integrations with external servicesVaries by pluginVia plugin marketplaceExtended capabilities beyond API

Key differences

Built-in tools are predefined by the API provider with fixed capabilities, enabling quick integration without extra setup. Custom tools require you to define the tool schema, including name, description, and JSON parameters, giving you full control over the tool's behavior. Built-in tools simplify common tasks, while custom tools enable complex, domain-specific workflows.

Side-by-side example

Using a built-in calculator tool to perform a math operation:

python
from openai import OpenAI
import os

client = OpenAI(api_key=os.environ["OPENAI_API_KEY"])

# Built-in calculator tool usage
response = client.chat.completions.create(
    model="gpt-4o-mini",
    tools=[{"type": "calculator"}],
    messages=[{"role": "user", "content": "Calculate 12 * 15"}]
)
print(response.choices[0].message.content)
output
The result of 12 * 15 is 180.

Custom tool equivalent

Defining and using a custom tool for a weather query with explicit parameters:

python
from openai import OpenAI
import os
import json

client = OpenAI(api_key=os.environ["OPENAI_API_KEY"])

weather_tool = [{
    "type": "function",
    "function": {
        "name": "get_weather",
        "description": "Get weather for a location",
        "parameters": {
            "type": "object",
            "properties": {
                "location": {"type": "string"}
            },
            "required": ["location"]
        }
    }
}]

response = client.chat.completions.create(
    model="gpt-4o-mini",
    tools=weather_tool,
    messages=[{"role": "user", "content": "What's the weather in NYC?"}]
)

if response.choices[0].finish_reason == "tool_calls":
    tool_call = response.choices[0].message.tool_calls[0]
    args = json.loads(tool_call.function.arguments)
    print(f"Tool called: {tool_call.function.name} with args: {args}")
else:
    print(response.choices[0].message.content)
output
Tool called: get_weather with args: {'location': 'NYC'}

When to use each

Use built-in tools when you need fast, reliable access to common functionalities without extra development. Opt for custom tools when your application requires specific inputs, outputs, or workflows not covered by built-in options. Custom tools are essential for integrating proprietary APIs or complex logic.

Use caseRecommended tool typeReason
Quick math or calculatorBuilt-in toolsPredefined and optimized for speed
Domain-specific API integrationCustom toolsFull control over parameters and behavior
Standardized browsing or searchBuilt-in toolsReady-made and maintained by provider
Unique business logic or workflowsCustom toolsTailored to exact application needs

Pricing and access

OptionFreePaidAPI access
Built-in toolsYes (included)Billed as normal API usageDirect via tools param
Custom toolsYes (included)Billed as normal API usageDefined via tools JSON schema
Function calling (deprecated)YesBilled as normal API usageLegacy functions param
Third-party pluginsVariesVaries by pluginVia plugin marketplace

Key Takeaways

  • Built-in tools provide fast, standardized capabilities with minimal setup.
  • Custom tools offer full control for complex or unique application needs.
  • Use the tools parameter in OpenAI chat completions for both types.
  • Function calling is deprecated; migrate to tools for new integrations.
  • Pricing for both built-in and custom tools is included in standard API usage.
Verified 2026-04 · gpt-4o-mini
Verify ↗