Tool Calling
Beta API
This API is in beta stage and may have breaking changes.
The Responses API Beta supports comprehensive tool calling capabilities, allowing models to call functions, execute tools in parallel, and handle complex multi-step workflows.
Basic Tool Definition
Define tools using the OpenAI function calling format:
Tool Choice Options
Control when and how tools are called:
Force Specific Tool
Disable Tool Calling
Multiple Tools
Define multiple tools for complex workflows:
Parallel Tool Calls
The API supports parallel execution of multiple tools:
Tool Call Response
When tools are called, the response includes function call information:
Tool Responses in Conversation
Include tool responses in follow-up requests:
Optional Field
The id field is optional for function_call_output objects. Only type, call_id, and output are required — call_id is what pairs the output with its originating function_call. The examples above include id for completeness, but you can safely omit it.
Multimodal tool outputs
function_call_output.output accepts either a string or an array of input content parts (input_text, input_image, input_file) — the same shape as user-message content. Use the array form to return images or files from a tool; the non-text parts are only forwarded to supported multimodal models.
Streaming Tool Calls
Monitor tool calls in real-time with streaming:
Tool Validation
Ensure tool calls have proper structure:
Required fields:
type: Always “function_call”id: Unique identifier for the function call objectname: Function name matching tool definitionarguments: Valid JSON string with function parameterscall_id: Unique identifier for the call
Best Practices
- Clear descriptions: Provide detailed function descriptions and parameter explanations
- Proper schemas: Use valid JSON Schema for parameters
- Error handling: Handle cases where tools might not be called
- Parallel execution: Design tools to work independently when possible
- Conversation flow: Include tool responses in follow-up requests for context
Next Steps
- Learn about Web Search integration
- Explore Reasoning with tools
- Review Basic Usage fundamentals