{
  "service": "browse_ai",
  "displayName": "Browse AI",
  "categories": [
    "Data",
    "Developer Tools"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Key",
      "placeholder": "YOUR_SECRET_API_KEY",
      "description": "Browse AI secret API key passed in the Authorization Bearer header. Create it in the API tab of your Browse AI dashboard: https://help.browse.ai/en/articles/12683249-api-guide-getting-started."
    }
  ],
  "homepageUrl": "https://www.browse.ai",
  "actions": [
    {
      "id": "browse_ai.get_robot",
      "service": "browse_ai",
      "name": "get_robot",
      "description": "Retrieve one Browse AI robot and its input parameter definitions by robot ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "robotId": {
            "type": "string",
            "minLength": 1,
            "description": "The Browse AI robot ID."
          }
        },
        "additionalProperties": false,
        "required": [
          "robotId"
        ],
        "description": "The input for retrieving one Browse AI robot."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "robot": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "minLength": 1,
                "description": "The Browse AI robot ID."
              },
              "name": {
                "type": "string",
                "description": "The Browse AI robot name."
              },
              "createdAt": {
                "type": "integer",
                "description": "A Unix timestamp in milliseconds."
              },
              "inputParameters": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "type": {
                      "type": "string",
                      "minLength": 1,
                      "description": "The Browse AI input parameter type."
                    },
                    "name": {
                      "type": "string",
                      "minLength": 1,
                      "description": "The parameter name used in task inputParameters."
                    },
                    "label": {
                      "type": "string",
                      "minLength": 1,
                      "description": "The human-readable parameter label."
                    },
                    "required": {
                      "type": "boolean",
                      "description": "Whether the parameter is required when running the robot."
                    },
                    "encrypted": {
                      "type": "boolean",
                      "description": "Whether the parameter value is masked by Browse AI."
                    },
                    "defaultValue": {
                      "anyOf": [
                        {
                          "anyOf": [
                            {
                              "type": "string",
                              "description": "A string input parameter value."
                            },
                            {
                              "type": "number",
                              "description": "A numeric input parameter value."
                            },
                            {
                              "type": "array",
                              "items": {
                                "type": "string",
                                "minLength": 1,
                                "description": "One selected string value."
                              },
                              "description": "A list of selected string values."
                            }
                          ],
                          "description": "A Browse AI input parameter value."
                        },
                        {
                          "type": "null",
                          "description": "A null parameter value."
                        }
                      ],
                      "description": "A Browse AI input parameter value or null."
                    },
                    "value": {
                      "anyOf": [
                        {
                          "anyOf": [
                            {
                              "type": "string",
                              "description": "A string input parameter value."
                            },
                            {
                              "type": "number",
                              "description": "A numeric input parameter value."
                            },
                            {
                              "type": "array",
                              "items": {
                                "type": "string",
                                "minLength": 1,
                                "description": "One selected string value."
                              },
                              "description": "A list of selected string values."
                            }
                          ],
                          "description": "A Browse AI input parameter value."
                        },
                        {
                          "type": "null",
                          "description": "A null parameter value."
                        }
                      ],
                      "description": "A Browse AI input parameter value or null."
                    },
                    "min": {
                      "type": "number",
                      "description": "The minimum numeric value accepted by the parameter."
                    },
                    "max": {
                      "type": "number",
                      "description": "The maximum numeric value accepted by the parameter."
                    },
                    "options": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "label": {
                            "type": "string",
                            "minLength": 1,
                            "description": "The display label of the select option."
                          },
                          "value": {
                            "type": "string",
                            "minLength": 1,
                            "description": "The submitted value of the select option."
                          }
                        },
                        "additionalProperties": false,
                        "description": "One select option supported by a Browse AI robot input parameter."
                      },
                      "description": "The select options available for this parameter."
                    }
                  },
                  "additionalProperties": true,
                  "required": [
                    "type",
                    "name",
                    "label",
                    "required"
                  ],
                  "description": "One Browse AI robot input parameter definition."
                },
                "description": "The input parameters supported by the Browse AI robot."
              }
            },
            "additionalProperties": false,
            "description": "A Browse AI robot."
          }
        },
        "additionalProperties": false,
        "required": [
          "robot"
        ],
        "description": "The Browse AI robot lookup response."
      },
      "followUpActions": [
        "browse_ai.run_robot_task"
      ]
    },
    {
      "id": "browse_ai.get_robot_task",
      "service": "browse_ai",
      "name": "get_robot_task",
      "description": "Retrieve one Browse AI robot task and its captured data by robot and task IDs.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "robotId": {
            "type": "string",
            "minLength": 1,
            "description": "The Browse AI robot ID."
          },
          "taskId": {
            "type": "string",
            "minLength": 1,
            "description": "The Browse AI task ID."
          }
        },
        "additionalProperties": false,
        "required": [
          "robotId",
          "taskId"
        ],
        "description": "The input for retrieving one Browse AI robot task."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "task": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "minLength": 1,
                "description": "The Browse AI task ID."
              },
              "inputParameters": {
                "type": "object",
                "additionalProperties": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "A string input parameter value."
                    },
                    {
                      "type": "number",
                      "description": "A numeric input parameter value."
                    },
                    {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "minLength": 1,
                        "description": "One selected string value."
                      },
                      "description": "A list of selected string values."
                    }
                  ],
                  "description": "A Browse AI input parameter value."
                },
                "description": "The inputParameters object accepted by a Browse AI robot task."
              },
              "robotId": {
                "type": "string",
                "minLength": 1,
                "description": "The Browse AI robot ID that owns the task."
              },
              "status": {
                "type": "string",
                "minLength": 1,
                "description": "The normalized Browse AI task status."
              },
              "runByUserId": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The Browse AI user ID that started the task from the dashboard."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "robotBulkRunId": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The Browse AI bulk run ID associated with the task."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "runByTaskMonitorId": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The Browse AI monitor ID that started the task."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "runByAPI": {
                "type": "boolean",
                "description": "Whether the task was started through the API."
              },
              "createdAt": {
                "type": "integer",
                "description": "A Unix timestamp in milliseconds."
              },
              "startedAt": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "A Unix timestamp in milliseconds, or null when the value is unavailable."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "finishedAt": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "A Unix timestamp in milliseconds, or null when the value is unavailable."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "userFriendlyError": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The human-readable error returned when the task fails."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "triedRecordingVideo": {
                "type": "boolean",
                "description": "Whether Browse AI attempted to record a video for the task."
              },
              "videoUrl": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The Browse AI task video URL."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "videoRemovedAt": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "A Unix timestamp in milliseconds, or null when the value is unavailable."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "retriedOriginalTaskId": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The original failed task ID that Browse AI retried."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "retriedByTaskId": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The retry task ID created by Browse AI for this task."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "capturedDataTemporaryUrl": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The temporary Browse AI URL for downloading large captured data."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "capturedTexts": {
                "type": "object",
                "additionalProperties": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "A captured text value, or null when Browse AI captured an empty field."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "description": "Captured text fields keyed by the Browse AI capture name."
              },
              "capturedScreenshots": {
                "type": "object",
                "additionalProperties": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 1,
                      "description": "The Browse AI screenshot ID."
                    },
                    "name": {
                      "anyOf": [
                        {
                          "type": "string",
                          "description": "The screenshot name."
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "src": {
                      "type": "string",
                      "minLength": 1,
                      "description": "The screenshot image URL."
                    },
                    "width": {
                      "type": "number",
                      "description": "The screenshot width in pixels."
                    },
                    "height": {
                      "type": "number",
                      "description": "The screenshot height in pixels."
                    },
                    "x": {
                      "type": "number",
                      "description": "The screenshot X offset in pixels."
                    },
                    "y": {
                      "type": "number",
                      "description": "The screenshot Y offset in pixels."
                    },
                    "deviceScaleFactor": {
                      "type": "number",
                      "description": "The device scale factor used to capture the screenshot."
                    },
                    "full": {
                      "anyOf": [
                        {
                          "type": "string",
                          "description": "The screenshot coverage mode, such as page or viewport."
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "comparedToScreenshotId": {
                      "anyOf": [
                        {
                          "type": "string",
                          "description": "The screenshot ID used for Browse AI diff comparisons."
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "diffImageSrc": {
                      "anyOf": [
                        {
                          "type": "string",
                          "description": "The diff image URL highlighting screenshot changes."
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "changePercentage": {
                      "type": "number",
                      "description": "The percentage of changed pixels compared with the previous screenshot."
                    },
                    "diffThreshold": {
                      "type": "number",
                      "description": "The configured screenshot change threshold percentage."
                    },
                    "fileRemovedAt": {
                      "anyOf": [
                        {
                          "type": "integer",
                          "description": "A Unix timestamp in milliseconds, or null when the value is unavailable."
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "additionalProperties": true,
                  "required": [
                    "id",
                    "src"
                  ],
                  "description": "One captured screenshot returned by Browse AI."
                },
                "description": "Captured screenshots keyed by the Browse AI screenshot capture name."
              },
              "capturedLists": {
                "type": "object",
                "additionalProperties": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "additionalProperties": {
                      "anyOf": [
                        {
                          "type": "string",
                          "description": "A captured text value, or null when Browse AI captured an empty field."
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "description": "One captured Browse AI list row keyed by column name."
                  },
                  "description": "The rows captured for a Browse AI list."
                },
                "description": "Captured lists keyed by the Browse AI list name."
              }
            },
            "additionalProperties": false,
            "required": [
              "id",
              "inputParameters",
              "robotId",
              "status",
              "createdAt",
              "capturedTexts",
              "capturedScreenshots",
              "capturedLists"
            ],
            "description": "A Browse AI robot task."
          }
        },
        "additionalProperties": false,
        "required": [
          "task"
        ],
        "description": "The Browse AI robot task lookup response."
      }
    },
    {
      "id": "browse_ai.list_robot_tasks",
      "service": "browse_ai",
      "name": "list_robot_tasks",
      "description": "List Browse AI robot tasks with pagination and status filters.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "robotId": {
            "type": "string",
            "minLength": 1,
            "description": "The Browse AI robot ID."
          },
          "page": {
            "type": "integer",
            "minimum": 1,
            "description": "The Browse AI task list page number."
          },
          "pageSize": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "The number of tasks to return per page."
          },
          "status": {
            "type": "string",
            "enum": [
              "failed",
              "successful",
              "in-progress"
            ],
            "description": "The Browse AI task status filter."
          },
          "robotBulkRunId": {
            "type": "string",
            "description": "The Browse AI bulk run ID used to filter tasks."
          },
          "sort": {
            "type": "string",
            "description": "The Browse AI sort expression, such as -createdAt,finishedAt."
          },
          "includeRetried": {
            "type": "boolean",
            "description": "Whether retried tasks should be included in the result."
          },
          "fromDate": {
            "type": "integer",
            "description": "A Unix timestamp in milliseconds."
          },
          "toDate": {
            "type": "integer",
            "description": "A Unix timestamp in milliseconds."
          }
        },
        "additionalProperties": false,
        "required": [
          "robotId"
        ],
        "description": "The input for listing Browse AI robot tasks."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "tasks": {
            "type": "object",
            "properties": {
              "totalCount": {
                "type": "integer",
                "description": "The total number of Browse AI tasks."
              },
              "pageNumber": {
                "type": "integer",
                "description": "The current Browse AI task page number."
              },
              "hasMore": {
                "type": "boolean",
                "description": "Whether another Browse AI task page is available."
              },
              "items": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 1,
                      "description": "The Browse AI task ID."
                    },
                    "inputParameters": {
                      "type": "object",
                      "additionalProperties": {
                        "anyOf": [
                          {
                            "type": "string",
                            "description": "A string input parameter value."
                          },
                          {
                            "type": "number",
                            "description": "A numeric input parameter value."
                          },
                          {
                            "type": "array",
                            "items": {
                              "type": "string",
                              "minLength": 1,
                              "description": "One selected string value."
                            },
                            "description": "A list of selected string values."
                          }
                        ],
                        "description": "A Browse AI input parameter value."
                      },
                      "description": "The inputParameters object accepted by a Browse AI robot task."
                    },
                    "robotId": {
                      "type": "string",
                      "minLength": 1,
                      "description": "The Browse AI robot ID that owns the task."
                    },
                    "status": {
                      "type": "string",
                      "minLength": 1,
                      "description": "The normalized Browse AI task status."
                    },
                    "runByUserId": {
                      "anyOf": [
                        {
                          "type": "string",
                          "description": "The Browse AI user ID that started the task from the dashboard."
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "robotBulkRunId": {
                      "anyOf": [
                        {
                          "type": "string",
                          "description": "The Browse AI bulk run ID associated with the task."
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "runByTaskMonitorId": {
                      "anyOf": [
                        {
                          "type": "string",
                          "description": "The Browse AI monitor ID that started the task."
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "runByAPI": {
                      "type": "boolean",
                      "description": "Whether the task was started through the API."
                    },
                    "createdAt": {
                      "type": "integer",
                      "description": "A Unix timestamp in milliseconds."
                    },
                    "startedAt": {
                      "anyOf": [
                        {
                          "type": "integer",
                          "description": "A Unix timestamp in milliseconds, or null when the value is unavailable."
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "finishedAt": {
                      "anyOf": [
                        {
                          "type": "integer",
                          "description": "A Unix timestamp in milliseconds, or null when the value is unavailable."
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "userFriendlyError": {
                      "anyOf": [
                        {
                          "type": "string",
                          "description": "The human-readable error returned when the task fails."
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "triedRecordingVideo": {
                      "type": "boolean",
                      "description": "Whether Browse AI attempted to record a video for the task."
                    },
                    "videoUrl": {
                      "anyOf": [
                        {
                          "type": "string",
                          "description": "The Browse AI task video URL."
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "videoRemovedAt": {
                      "anyOf": [
                        {
                          "type": "integer",
                          "description": "A Unix timestamp in milliseconds, or null when the value is unavailable."
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "retriedOriginalTaskId": {
                      "anyOf": [
                        {
                          "type": "string",
                          "description": "The original failed task ID that Browse AI retried."
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "retriedByTaskId": {
                      "anyOf": [
                        {
                          "type": "string",
                          "description": "The retry task ID created by Browse AI for this task."
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "capturedDataTemporaryUrl": {
                      "anyOf": [
                        {
                          "type": "string",
                          "description": "The temporary Browse AI URL for downloading large captured data."
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "capturedTexts": {
                      "type": "object",
                      "additionalProperties": {
                        "anyOf": [
                          {
                            "type": "string",
                            "description": "A captured text value, or null when Browse AI captured an empty field."
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "description": "Captured text fields keyed by the Browse AI capture name."
                    },
                    "capturedScreenshots": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string",
                            "minLength": 1,
                            "description": "The Browse AI screenshot ID."
                          },
                          "name": {
                            "anyOf": [
                              {
                                "type": "string",
                                "description": "The screenshot name."
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "src": {
                            "type": "string",
                            "minLength": 1,
                            "description": "The screenshot image URL."
                          },
                          "width": {
                            "type": "number",
                            "description": "The screenshot width in pixels."
                          },
                          "height": {
                            "type": "number",
                            "description": "The screenshot height in pixels."
                          },
                          "x": {
                            "type": "number",
                            "description": "The screenshot X offset in pixels."
                          },
                          "y": {
                            "type": "number",
                            "description": "The screenshot Y offset in pixels."
                          },
                          "deviceScaleFactor": {
                            "type": "number",
                            "description": "The device scale factor used to capture the screenshot."
                          },
                          "full": {
                            "anyOf": [
                              {
                                "type": "string",
                                "description": "The screenshot coverage mode, such as page or viewport."
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "comparedToScreenshotId": {
                            "anyOf": [
                              {
                                "type": "string",
                                "description": "The screenshot ID used for Browse AI diff comparisons."
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "diffImageSrc": {
                            "anyOf": [
                              {
                                "type": "string",
                                "description": "The diff image URL highlighting screenshot changes."
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "changePercentage": {
                            "type": "number",
                            "description": "The percentage of changed pixels compared with the previous screenshot."
                          },
                          "diffThreshold": {
                            "type": "number",
                            "description": "The configured screenshot change threshold percentage."
                          },
                          "fileRemovedAt": {
                            "anyOf": [
                              {
                                "type": "integer",
                                "description": "A Unix timestamp in milliseconds, or null when the value is unavailable."
                              },
                              {
                                "type": "null"
                              }
                            ]
                          }
                        },
                        "additionalProperties": true,
                        "required": [
                          "id",
                          "src"
                        ],
                        "description": "One captured screenshot returned by Browse AI."
                      },
                      "description": "Captured screenshots keyed by the Browse AI screenshot capture name."
                    },
                    "capturedLists": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "additionalProperties": {
                            "anyOf": [
                              {
                                "type": "string",
                                "description": "A captured text value, or null when Browse AI captured an empty field."
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "description": "One captured Browse AI list row keyed by column name."
                        },
                        "description": "The rows captured for a Browse AI list."
                      },
                      "description": "Captured lists keyed by the Browse AI list name."
                    }
                  },
                  "additionalProperties": false,
                  "required": [
                    "id",
                    "inputParameters",
                    "robotId",
                    "status",
                    "createdAt",
                    "capturedTexts",
                    "capturedScreenshots",
                    "capturedLists"
                  ],
                  "description": "A Browse AI robot task."
                },
                "description": "The Browse AI tasks returned on the current page."
              }
            },
            "additionalProperties": false,
            "description": "The Browse AI task collection."
          }
        },
        "additionalProperties": false,
        "required": [
          "tasks"
        ],
        "description": "The Browse AI task list response."
      }
    },
    {
      "id": "browse_ai.list_robots",
      "service": "browse_ai",
      "name": "list_robots",
      "description": "List the Browse AI robots available to the connected API key.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "The input for listing Browse AI robots."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "robots": {
            "type": "object",
            "properties": {
              "totalCount": {
                "type": "integer",
                "description": "The total number of Browse AI robots."
              },
              "items": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 1,
                      "description": "The Browse AI robot ID."
                    },
                    "name": {
                      "type": "string",
                      "description": "The Browse AI robot name."
                    },
                    "createdAt": {
                      "type": "integer",
                      "description": "A Unix timestamp in milliseconds."
                    },
                    "inputParameters": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "type": {
                            "type": "string",
                            "minLength": 1,
                            "description": "The Browse AI input parameter type."
                          },
                          "name": {
                            "type": "string",
                            "minLength": 1,
                            "description": "The parameter name used in task inputParameters."
                          },
                          "label": {
                            "type": "string",
                            "minLength": 1,
                            "description": "The human-readable parameter label."
                          },
                          "required": {
                            "type": "boolean",
                            "description": "Whether the parameter is required when running the robot."
                          },
                          "encrypted": {
                            "type": "boolean",
                            "description": "Whether the parameter value is masked by Browse AI."
                          },
                          "defaultValue": {
                            "anyOf": [
                              {
                                "anyOf": [
                                  {
                                    "type": "string",
                                    "description": "A string input parameter value."
                                  },
                                  {
                                    "type": "number",
                                    "description": "A numeric input parameter value."
                                  },
                                  {
                                    "type": "array",
                                    "items": {
                                      "type": "string",
                                      "minLength": 1,
                                      "description": "One selected string value."
                                    },
                                    "description": "A list of selected string values."
                                  }
                                ],
                                "description": "A Browse AI input parameter value."
                              },
                              {
                                "type": "null",
                                "description": "A null parameter value."
                              }
                            ],
                            "description": "A Browse AI input parameter value or null."
                          },
                          "value": {
                            "anyOf": [
                              {
                                "anyOf": [
                                  {
                                    "type": "string",
                                    "description": "A string input parameter value."
                                  },
                                  {
                                    "type": "number",
                                    "description": "A numeric input parameter value."
                                  },
                                  {
                                    "type": "array",
                                    "items": {
                                      "type": "string",
                                      "minLength": 1,
                                      "description": "One selected string value."
                                    },
                                    "description": "A list of selected string values."
                                  }
                                ],
                                "description": "A Browse AI input parameter value."
                              },
                              {
                                "type": "null",
                                "description": "A null parameter value."
                              }
                            ],
                            "description": "A Browse AI input parameter value or null."
                          },
                          "min": {
                            "type": "number",
                            "description": "The minimum numeric value accepted by the parameter."
                          },
                          "max": {
                            "type": "number",
                            "description": "The maximum numeric value accepted by the parameter."
                          },
                          "options": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "label": {
                                  "type": "string",
                                  "minLength": 1,
                                  "description": "The display label of the select option."
                                },
                                "value": {
                                  "type": "string",
                                  "minLength": 1,
                                  "description": "The submitted value of the select option."
                                }
                              },
                              "additionalProperties": false,
                              "description": "One select option supported by a Browse AI robot input parameter."
                            },
                            "description": "The select options available for this parameter."
                          }
                        },
                        "additionalProperties": true,
                        "required": [
                          "type",
                          "name",
                          "label",
                          "required"
                        ],
                        "description": "One Browse AI robot input parameter definition."
                      },
                      "description": "The input parameters supported by the Browse AI robot."
                    }
                  },
                  "additionalProperties": false,
                  "description": "A Browse AI robot."
                },
                "description": "The Browse AI robots returned for the API key."
              }
            },
            "additionalProperties": false,
            "description": "The Browse AI robot collection."
          }
        },
        "additionalProperties": false,
        "required": [
          "robots"
        ],
        "description": "The Browse AI robot list response."
      }
    },
    {
      "id": "browse_ai.run_robot_task",
      "service": "browse_ai",
      "name": "run_robot_task",
      "description": "Start one Browse AI robot task with optional inputParameters overrides.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "robotId": {
            "type": "string",
            "minLength": 1,
            "description": "The Browse AI robot ID."
          },
          "recordVideo": {
            "type": "boolean",
            "description": "Whether Browse AI should attempt to record a task video."
          },
          "inputParameters": {
            "type": "object",
            "additionalProperties": {
              "anyOf": [
                {
                  "type": "string",
                  "description": "A string input parameter value."
                },
                {
                  "type": "number",
                  "description": "A numeric input parameter value."
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "minLength": 1,
                    "description": "One selected string value."
                  },
                  "description": "A list of selected string values."
                }
              ],
              "description": "A Browse AI input parameter value."
            },
            "description": "The inputParameters object accepted by a Browse AI robot task."
          }
        },
        "additionalProperties": false,
        "required": [
          "robotId"
        ],
        "description": "The input for starting one Browse AI robot task."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "task": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "minLength": 1,
                "description": "The Browse AI task ID."
              },
              "inputParameters": {
                "type": "object",
                "additionalProperties": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "A string input parameter value."
                    },
                    {
                      "type": "number",
                      "description": "A numeric input parameter value."
                    },
                    {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "minLength": 1,
                        "description": "One selected string value."
                      },
                      "description": "A list of selected string values."
                    }
                  ],
                  "description": "A Browse AI input parameter value."
                },
                "description": "The inputParameters object accepted by a Browse AI robot task."
              },
              "robotId": {
                "type": "string",
                "minLength": 1,
                "description": "The Browse AI robot ID that owns the task."
              },
              "status": {
                "type": "string",
                "minLength": 1,
                "description": "The normalized Browse AI task status."
              },
              "runByUserId": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The Browse AI user ID that started the task from the dashboard."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "robotBulkRunId": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The Browse AI bulk run ID associated with the task."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "runByTaskMonitorId": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The Browse AI monitor ID that started the task."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "runByAPI": {
                "type": "boolean",
                "description": "Whether the task was started through the API."
              },
              "createdAt": {
                "type": "integer",
                "description": "A Unix timestamp in milliseconds."
              },
              "startedAt": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "A Unix timestamp in milliseconds, or null when the value is unavailable."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "finishedAt": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "A Unix timestamp in milliseconds, or null when the value is unavailable."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "userFriendlyError": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The human-readable error returned when the task fails."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "triedRecordingVideo": {
                "type": "boolean",
                "description": "Whether Browse AI attempted to record a video for the task."
              },
              "videoUrl": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The Browse AI task video URL."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "videoRemovedAt": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "A Unix timestamp in milliseconds, or null when the value is unavailable."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "retriedOriginalTaskId": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The original failed task ID that Browse AI retried."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "retriedByTaskId": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The retry task ID created by Browse AI for this task."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "capturedDataTemporaryUrl": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The temporary Browse AI URL for downloading large captured data."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "capturedTexts": {
                "type": "object",
                "additionalProperties": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "A captured text value, or null when Browse AI captured an empty field."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "description": "Captured text fields keyed by the Browse AI capture name."
              },
              "capturedScreenshots": {
                "type": "object",
                "additionalProperties": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 1,
                      "description": "The Browse AI screenshot ID."
                    },
                    "name": {
                      "anyOf": [
                        {
                          "type": "string",
                          "description": "The screenshot name."
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "src": {
                      "type": "string",
                      "minLength": 1,
                      "description": "The screenshot image URL."
                    },
                    "width": {
                      "type": "number",
                      "description": "The screenshot width in pixels."
                    },
                    "height": {
                      "type": "number",
                      "description": "The screenshot height in pixels."
                    },
                    "x": {
                      "type": "number",
                      "description": "The screenshot X offset in pixels."
                    },
                    "y": {
                      "type": "number",
                      "description": "The screenshot Y offset in pixels."
                    },
                    "deviceScaleFactor": {
                      "type": "number",
                      "description": "The device scale factor used to capture the screenshot."
                    },
                    "full": {
                      "anyOf": [
                        {
                          "type": "string",
                          "description": "The screenshot coverage mode, such as page or viewport."
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "comparedToScreenshotId": {
                      "anyOf": [
                        {
                          "type": "string",
                          "description": "The screenshot ID used for Browse AI diff comparisons."
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "diffImageSrc": {
                      "anyOf": [
                        {
                          "type": "string",
                          "description": "The diff image URL highlighting screenshot changes."
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "changePercentage": {
                      "type": "number",
                      "description": "The percentage of changed pixels compared with the previous screenshot."
                    },
                    "diffThreshold": {
                      "type": "number",
                      "description": "The configured screenshot change threshold percentage."
                    },
                    "fileRemovedAt": {
                      "anyOf": [
                        {
                          "type": "integer",
                          "description": "A Unix timestamp in milliseconds, or null when the value is unavailable."
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "additionalProperties": true,
                  "required": [
                    "id",
                    "src"
                  ],
                  "description": "One captured screenshot returned by Browse AI."
                },
                "description": "Captured screenshots keyed by the Browse AI screenshot capture name."
              },
              "capturedLists": {
                "type": "object",
                "additionalProperties": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "additionalProperties": {
                      "anyOf": [
                        {
                          "type": "string",
                          "description": "A captured text value, or null when Browse AI captured an empty field."
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "description": "One captured Browse AI list row keyed by column name."
                  },
                  "description": "The rows captured for a Browse AI list."
                },
                "description": "Captured lists keyed by the Browse AI list name."
              }
            },
            "additionalProperties": false,
            "required": [
              "id",
              "inputParameters",
              "robotId",
              "status",
              "createdAt",
              "capturedTexts",
              "capturedScreenshots",
              "capturedLists"
            ],
            "description": "A Browse AI robot task."
          }
        },
        "additionalProperties": false,
        "required": [
          "task"
        ],
        "description": "The Browse AI task creation response."
      },
      "followUpActions": [
        "browse_ai.get_robot_task"
      ]
    },
    {
      "id": "browse_ai.update_robot_cookies",
      "service": "browse_ai",
      "name": "update_robot_cookies",
      "description": "Update the cookies stored on one Browse AI robot.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "robotId": {
            "type": "string",
            "minLength": 1,
            "description": "The Browse AI robot ID."
          },
          "cookies": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The cookie name."
                },
                "value": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The cookie value as a string."
                    },
                    {
                      "type": "number",
                      "description": "The cookie value as a number that will be serialized as a string."
                    }
                  ],
                  "description": "The cookie value."
                },
                "domain": {
                  "type": "string",
                  "description": "The cookie domain."
                },
                "expirationDate": {
                  "type": "integer",
                  "description": "The cookie expiration time as a Unix timestamp in seconds."
                },
                "path": {
                  "type": "string",
                  "description": "The cookie path."
                },
                "secure": {
                  "type": "boolean",
                  "description": "Whether the cookie requires HTTPS."
                },
                "httpOnly": {
                  "type": "boolean",
                  "description": "Whether the cookie is HTTP-only."
                },
                "hostOnly": {
                  "type": "boolean",
                  "description": "Whether the cookie is restricted to the exact host."
                }
              },
              "additionalProperties": false,
              "required": [
                "name",
                "value"
              ],
              "description": "One Browse AI robot cookie update payload."
            },
            "description": "The cookies that should be stored on the Browse AI robot."
          }
        },
        "additionalProperties": false,
        "required": [
          "robotId",
          "cookies"
        ],
        "description": "The input for updating Browse AI robot cookies."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "cookies": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The cookie name."
                },
                "value": {
                  "type": "string",
                  "description": "The cookie value."
                },
                "domain": {
                  "type": "string",
                  "description": "The cookie domain."
                },
                "expirationDate": {
                  "type": "integer",
                  "description": "The cookie expiration time as a Unix timestamp in seconds."
                },
                "path": {
                  "type": "string",
                  "description": "The cookie path."
                },
                "secure": {
                  "type": "boolean",
                  "description": "Whether the cookie requires HTTPS."
                },
                "httpOnly": {
                  "type": "boolean",
                  "description": "Whether the cookie is HTTP-only."
                },
                "hostOnly": {
                  "type": "boolean",
                  "description": "Whether the cookie is restricted to the exact host."
                }
              },
              "additionalProperties": false,
              "required": [
                "name",
                "value"
              ],
              "description": "One Browse AI robot cookie."
            },
            "description": "The cookies returned by Browse AI after the update."
          }
        },
        "additionalProperties": false,
        "required": [
          "cookies"
        ],
        "description": "The Browse AI robot cookie update response."
      }
    }
  ]
}
