A step in the interaction.
type
Union type
thought
object (ThoughtStep)
toolCall
object (ToolCallStep)
toolResult
object (ToolResultStep)
userInput
object (UserInputStep)
DO NOT USE -- These are for 3P JSON only
modelOutput
object (ModelOutputStep)
text
(deprecated)
object (LegacyTextContent)
image
(deprecated)
object (LegacyImageContent)
audio
(deprecated)
object (LegacyAudioContent)
document
(deprecated)
object (LegacyDocumentContent)
video
(deprecated)
object (LegacyVideoContent)
| JSON representation |
|---|
{ // type "thought": { object ( |
ThoughtStep
A thought step.
signature
string (bytes format)
A signature hash for backend validation.
A base64-encoded string.
summary[]
object (Content)
A summary of the thought.
| JSON representation |
|---|
{
"signature": string,
"summary": [
{
object ( |
ToolCallStep
Tool call step.
id
string
Required. A unique id for this specific tool call.
signature
string (bytes format)
A signature hash for backend validation.
A base64-encoded string.
type
Union type
functionCall
object (FunctionCallStep)
codeExecutionCall
object (CodeExecutionCallStep)
urlContextCall
object (UrlContextCallStep)
mcpServerToolCall
object (McpServerToolCallStep)
googleSearchCall
object (GoogleSearchCallStep)
fileSearchCall
object (FileSearchCallStep)
googleMapsCall
object (GoogleMapsCallStep)
retrievalCall
object (RetrievalCallStep)
| JSON representation |
|---|
{ "id": string, "signature": string, // type "functionCall": { object ( |
FunctionCallStep
A function tool call step.
name
string
Required. The name of the tool to call.
arguments
object (Struct)
Required. The arguments to pass to the function.
| JSON representation |
|---|
{
"name": string,
"arguments": {
object ( |
CodeExecutionCallStep
code execution call step.
arguments
object (CodeExecutionCallStepArguments)
Required. The arguments to pass to the code execution.
| JSON representation |
|---|
{
"arguments": {
object ( |
CodeExecutionCallStepArguments
The arguments to pass to the code execution.
language
enum (Language)
Programming language of the code.
code
string
The code to be executed.
| JSON representation |
|---|
{
"language": enum ( |
Language
Supported programming languages for the generated code.
| Enums | |
|---|---|
LANGUAGE_UNSPECIFIED |
Unspecified language. This value should not be used. |
PYTHON |
Python >= 3.10, with numpy and simpy available. |
UrlContextCallStep
URL context call step.
arguments
object (UrlContextCallStepArguments)
Required. The arguments to pass to the URL context.
| JSON representation |
|---|
{
"arguments": {
object ( |
UrlContextCallStepArguments
The arguments to pass to the URL context.
urls[]
string
The URLs to fetch.
| JSON representation |
|---|
{ "urls": [ string ] } |
McpServerToolCallStep
MCPServer tool call step.
name
string
Required. The name of the tool which was called.
serverName
string
Required. The name of the used MCP server.
arguments
object (Struct)
Required. The JSON object of arguments for the function.
| JSON representation |
|---|
{
"name": string,
"serverName": string,
"arguments": {
object ( |
GoogleSearchCallStep
Google Search call step.
arguments
object (GoogleSearchCallStepArguments)
Required. The arguments to pass to Google Search.
searchType
enum (SearchType)
The type of search grounding enabled.
| JSON representation |
|---|
{ "arguments": { object ( |
GoogleSearchCallStepArguments
The arguments to pass to Google Search.
queries[]
string
Web search queries for the following-up web search.
| JSON representation |
|---|
{ "queries": [ string ] } |
FileSearchCallStep
This type has no fields.
File Search call step.
GoogleMapsCallStep
Google Maps call step.
arguments
object (GoogleMapsCallStepArguments)
The arguments to pass to the Google Maps tool.
| JSON representation |
|---|
{
"arguments": {
object ( |
GoogleMapsCallStepArguments
The arguments to pass to the Google Maps tool.
queries[]
string
The queries to be executed.
| JSON representation |
|---|
{ "queries": [ string ] } |
RetrievalCallStep
Retrieval call step. Used by Vertex Retrieval tools such as Parallel AI, Exa AI, Agent Platform Search, etc. RetrievalType decides which tool is used.
arguments
object (RetrievalStepArguments)
Required. The arguments to pass to the retrieval tool.
retrievalType
enum (RetrievalType)
The type of retrieval tools.
| JSON representation |
|---|
{ "arguments": { object ( |
ToolResultStep
Tool result step.
callId
string
Required. id to match the id from the function call block.
signature
string (bytes format)
A signature hash for backend validation.
A base64-encoded string.
type
Union type
functionResult
object (FunctionResultStep)
codeExecutionResult
object (CodeExecutionResultStep)
urlContextResult
object (UrlContextResultStep)
googleSearchResult
object (GoogleSearchResultStep)
mcpServerToolResult
object (McpServerToolResultStep)
fileSearchResult
object (FileSearchResultStep)
googleMapsResult
object (GoogleMapsResultStep)
retrievalResult
object (RetrievalResultStep)
| JSON representation |
|---|
{ "callId": string, "signature": string, // type "functionResult": { object ( |
FunctionResultStep
result of a function tool call.
name
string
The name of the tool that was called.
isError
boolean
Whether the tool call resulted in an error.
result
object (Value)
Required. The result of the tool call.
| JSON representation |
|---|
{
"name": string,
"isError": boolean,
"result": {
object ( |
CodeExecutionResultStep
code execution result step.
result
string
Required. The output of the code execution.
isError
boolean
Whether the code execution resulted in an error.
| JSON representation |
|---|
{ "result": string, "isError": boolean } |
UrlContextResultStep
URL context result step.
result[]
object (UrlContextResultItem)
Required. The results of the URL context.
isError
boolean
Whether the URL context resulted in an error.
| JSON representation |
|---|
{
"result": [
{
object ( |
UrlContextResultItem
The result of the URL context.
url
string
The URL that was fetched.
status
enum (Status)
The status of the URL retrieval.
| JSON representation |
|---|
{
"url": string,
"status": enum ( |
Status
The status of the URL retrieval.
| Enums | |
|---|---|
STATUS_UNSPECIFIED |
|
SUCCESS |
|
ERROR |
|
PAYWALL |
|
UNSAFE |
|
GoogleSearchResultStep
Google Search result step.
result[]
object (GoogleSearchResultItem)
Required. The results of the Google Search.
isError
boolean
Whether the Google Search resulted in an error.
| JSON representation |
|---|
{
"result": [
{
object ( |
GoogleSearchResultItem
The result of the Google Search.
searchSuggestions
string
Web content snippet that can be embedded in a web page or an app webview.
| JSON representation |
|---|
{ "searchSuggestions": string } |
McpServerToolResultStep
MCPServer tool result step.
name
string
name of the tool which is called for this specific tool call.
serverName
string
The name of the used MCP server.
result
object (Value)
Required. The output from the MCP server call. Can be simple text or rich content.
| JSON representation |
|---|
{
"name": string,
"serverName": string,
"result": {
object ( |
FileSearchResultStep
This type has no fields.
File Search result step.
GoogleMapsResultStep
Google Maps result step.
result[]
object (GoogleMapsResultItem)
| JSON representation |
|---|
{
"result": [
{
object ( |
GoogleMapsResultItem
The result of the Google Maps.
places[]
object (GoogleMapsResultPlaces)
widgetContextToken
string
| JSON representation |
|---|
{
"places": [
{
object ( |
GoogleMapsResultPlaces
placeId
string
name
string
url
string
reviewSnippets[]
object (ReviewSnippet)
| JSON representation |
|---|
{
"placeId": string,
"name": string,
"url": string,
"reviewSnippets": [
{
object ( |
RetrievalResultStep
Vertex Retrieval result step. Used by Vertex Retrieval tools such as Parallel AI, Exa AI, Agent Platform Search, etc.
isError
boolean
Whether the retrieval resulted in an error.
| JSON representation |
|---|
{ "isError": boolean } |
UserInputStep
Input provided by the user.
content
Union type
contentList
object (ContentList)
The content of the step. An array of Content objects.
contentString
string
The content of the step. A single string.
| JSON representation |
|---|
{
// content
"contentList": {
object ( |