Welcome to understanding how GPT-5 responds when it decides to use your tools! In the previous lesson, you learned how to create tool schemas that describe your functions to GPT-5. Now, you'll discover how to include these tools in your API requests and, more importantly, how to interpret GPT-5's responses when it wants to use them.
In this lesson, you'll learn how to configure your requests to enable tool use, understand the different types of responses GPT-5 can provide, and extract the specific information you need to execute the tools GPT-5 requests. By the end, you'll be able to recognize when GPT-5 wants to use a tool and gather all the details needed to make that happen.
While GPT-5 will automatically see and can use any tools you provide in your request, mentioning tools in your instructions can help ensure more consistent behavior and guide GPT-5 toward using them appropriately.
Here's an example of how you can improve your instructions:
This guidance helps GPT-5 understand your preferences for when and how to use tools, but it's not required for tool functionality. GPT-5 can still recognize and use tools based solely on their availability in the request.
The tools parameter is the essential component that makes your functions available to GPT-5. This parameter accepts the JSON array of schemas you created in the previous lesson:
GPT-5 will recognize the available tools from the tools parameter alone. The instructions guidance can be helpful for encouraging consistent tool usage patterns, but GPT-5 will still be able to see and use your tools even without explicit instructions.
When GPT-5 decides to use a tool, the response structure contains specific items that indicate function calls. Let's examine what a complete tool use response looks like by printing the entire response structure:
This will output a detailed JSON structure showing all the components of GPT-5's response. Looking at the output, you'll see a structure like this:
Notice that this response does not include any message content for the user. Instead, the output array contains a function_call item (and possibly a reasoning item). This is how GPT-5 requests to use a tool—it cannot execute the function itself. When you see a function_call item, it means GPT-5 is asking your code to run the specified tool on its behalf. It’s your responsibility to extract the name, arguments, and call_id, execute the function, and then send the result back to so it can continue the conversation or provide a final answer to the user.
The output array is where GPT-5 communicates its tool use intentions. Each item in this array has a type field that tells you how to handle it. When GPT-5 wants to execute a function, you'll encounter items with type: "function_call".
Let's iterate through the output array to examine each item:
Running this code will show you the structure of each output item:
Each function call item contains three essential pieces of information that your system needs to execute the requested function:
name: The function name that matches your tool schema (e.g.,"sum_numbers")arguments: A JSON string containing the parameters to pass to your function, with keys matching your schema's parameter namescall_id: A unique identifier for this specific function call request, which you'll need when sending results back to GPT-5
These fields work together to provide everything you need to execute the tool and maintain proper conversation flow. Note that is provided as a JSON string, so you'll need to parse it (using ) before passing the values to your actual function.
You now understand how GPT-5 communicates its tool use intentions through structured API responses. When GPT-5 decides to use tools, it provides function call items within the output array, each containing the function name, arguments, and a unique call ID.
The key to working with GPT-5's tool use responses is:
- Iterate through the
response.outputarray. - Check each item's
typefield to identify function calls. - Extract the
name,arguments, andcall_idfrom function call items. - Use this information to execute the appropriate functions.
In the upcoming practice exercises, you'll work with these response structures hands-on, learning to parse function call requests and prepare for the next step: actually executing the requested tools and sending results back to GPT-5 to complete the conversation flow.
