curl --request PUT \
--url https://api.superglue.ai/v1/tools/{toolId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "Web Search v2",
"steps": [
{
"id": "1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
"config": {
"url": "https://api.example.com/search",
"method": "GET",
"type": "request",
"queryParams": {
"q": "<<(sourceData) => sourceData.query>>",
"limit": 10
},
"headers": {
"Content-Type": "application/json",
"Authorization": "Bearer <<(sourceData) => sourceData.credentials.apiKey>>"
},
"body": "{\"query\": \"<<(sourceData) => sourceData.query>>\"}",
"systemId": "3f7c8d9e-1a2b-4c5d-8e9f-0a1b2c3d4e5f"
},
"instruction": "Fetch user details from the API",
"modify": false,
"dataSelector": "(sourceData) => sourceData.data.items",
"failureBehavior": "fail"
}
],
"instruction": "<string>",
"inputSchema": {},
"outputSchema": {},
"outputTransform": "<string>",
"folder": "<string>",
"archived": true
}
'import requests
url = "https://api.superglue.ai/v1/tools/{toolId}"
payload = {
"name": "Web Search v2",
"steps": [
{
"id": "1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
"config": {
"url": "https://api.example.com/search",
"method": "GET",
"type": "request",
"queryParams": {
"q": "<<(sourceData) => sourceData.query>>",
"limit": 10
},
"headers": {
"Content-Type": "application/json",
"Authorization": "Bearer <<(sourceData) => sourceData.credentials.apiKey>>"
},
"body": "{\"query\": \"<<(sourceData) => sourceData.query>>\"}",
"systemId": "3f7c8d9e-1a2b-4c5d-8e9f-0a1b2c3d4e5f"
},
"instruction": "Fetch user details from the API",
"modify": False,
"dataSelector": "(sourceData) => sourceData.data.items",
"failureBehavior": "fail"
}
],
"instruction": "<string>",
"inputSchema": {},
"outputSchema": {},
"outputTransform": "<string>",
"folder": "<string>",
"archived": True
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: 'Web Search v2',
steps: [
{
id: '1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d',
config: {
url: 'https://api.example.com/search',
method: 'GET',
type: 'request',
queryParams: {q: '<<(sourceData) => sourceData.query>>', limit: 10},
headers: {
'Content-Type': 'application/json',
Authorization: 'Bearer <<(sourceData) => sourceData.credentials.apiKey>>'
},
body: JSON.stringify('{"query": "<<(sourceData) => sourceData.query>>"}'),
systemId: '3f7c8d9e-1a2b-4c5d-8e9f-0a1b2c3d4e5f'
},
instruction: 'Fetch user details from the API',
modify: false,
dataSelector: '(sourceData) => sourceData.data.items',
failureBehavior: 'fail'
}
],
instruction: '<string>',
inputSchema: {},
outputSchema: {},
outputTransform: '<string>',
folder: '<string>',
archived: true
})
};
fetch('https://api.superglue.ai/v1/tools/{toolId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.superglue.ai/v1/tools/{toolId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'Web Search v2',
'steps' => [
[
'id' => '1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d',
'config' => [
'url' => 'https://api.example.com/search',
'method' => 'GET',
'type' => 'request',
'queryParams' => [
'q' => '<<(sourceData) => sourceData.query>>',
'limit' => 10
],
'headers' => [
'Content-Type' => 'application/json',
'Authorization' => 'Bearer <<(sourceData) => sourceData.credentials.apiKey>>'
],
'body' => '{"query": "<<(sourceData) => sourceData.query>>"}',
'systemId' => '3f7c8d9e-1a2b-4c5d-8e9f-0a1b2c3d4e5f'
],
'instruction' => 'Fetch user details from the API',
'modify' => false,
'dataSelector' => '(sourceData) => sourceData.data.items',
'failureBehavior' => 'fail'
]
],
'instruction' => '<string>',
'inputSchema' => [
],
'outputSchema' => [
],
'outputTransform' => '<string>',
'folder' => '<string>',
'archived' => true
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.superglue.ai/v1/tools/{toolId}"
payload := strings.NewReader("{\n \"name\": \"Web Search v2\",\n \"steps\": [\n {\n \"id\": \"1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d\",\n \"config\": {\n \"url\": \"https://api.example.com/search\",\n \"method\": \"GET\",\n \"type\": \"request\",\n \"queryParams\": {\n \"q\": \"<<(sourceData) => sourceData.query>>\",\n \"limit\": 10\n },\n \"headers\": {\n \"Content-Type\": \"application/json\",\n \"Authorization\": \"Bearer <<(sourceData) => sourceData.credentials.apiKey>>\"\n },\n \"body\": \"{\\\"query\\\": \\\"<<(sourceData) => sourceData.query>>\\\"}\",\n \"systemId\": \"3f7c8d9e-1a2b-4c5d-8e9f-0a1b2c3d4e5f\"\n },\n \"instruction\": \"Fetch user details from the API\",\n \"modify\": false,\n \"dataSelector\": \"(sourceData) => sourceData.data.items\",\n \"failureBehavior\": \"fail\"\n }\n ],\n \"instruction\": \"<string>\",\n \"inputSchema\": {},\n \"outputSchema\": {},\n \"outputTransform\": \"<string>\",\n \"folder\": \"<string>\",\n \"archived\": true\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://api.superglue.ai/v1/tools/{toolId}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Web Search v2\",\n \"steps\": [\n {\n \"id\": \"1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d\",\n \"config\": {\n \"url\": \"https://api.example.com/search\",\n \"method\": \"GET\",\n \"type\": \"request\",\n \"queryParams\": {\n \"q\": \"<<(sourceData) => sourceData.query>>\",\n \"limit\": 10\n },\n \"headers\": {\n \"Content-Type\": \"application/json\",\n \"Authorization\": \"Bearer <<(sourceData) => sourceData.credentials.apiKey>>\"\n },\n \"body\": \"{\\\"query\\\": \\\"<<(sourceData) => sourceData.query>>\\\"}\",\n \"systemId\": \"3f7c8d9e-1a2b-4c5d-8e9f-0a1b2c3d4e5f\"\n },\n \"instruction\": \"Fetch user details from the API\",\n \"modify\": false,\n \"dataSelector\": \"(sourceData) => sourceData.data.items\",\n \"failureBehavior\": \"fail\"\n }\n ],\n \"instruction\": \"<string>\",\n \"inputSchema\": {},\n \"outputSchema\": {},\n \"outputTransform\": \"<string>\",\n \"folder\": \"<string>\",\n \"archived\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.superglue.ai/v1/tools/{toolId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"Web Search v2\",\n \"steps\": [\n {\n \"id\": \"1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d\",\n \"config\": {\n \"url\": \"https://api.example.com/search\",\n \"method\": \"GET\",\n \"type\": \"request\",\n \"queryParams\": {\n \"q\": \"<<(sourceData) => sourceData.query>>\",\n \"limit\": 10\n },\n \"headers\": {\n \"Content-Type\": \"application/json\",\n \"Authorization\": \"Bearer <<(sourceData) => sourceData.credentials.apiKey>>\"\n },\n \"body\": \"{\\\"query\\\": \\\"<<(sourceData) => sourceData.query>>\\\"}\",\n \"systemId\": \"3f7c8d9e-1a2b-4c5d-8e9f-0a1b2c3d4e5f\"\n },\n \"instruction\": \"Fetch user details from the API\",\n \"modify\": false,\n \"dataSelector\": \"(sourceData) => sourceData.data.items\",\n \"failureBehavior\": \"fail\"\n }\n ],\n \"instruction\": \"<string>\",\n \"inputSchema\": {},\n \"outputSchema\": {},\n \"outputTransform\": \"<string>\",\n \"folder\": \"<string>\",\n \"archived\": true\n}"
response = http.request(request)
puts response.read_body{
"id": "550e8400-e29b-41d4-a716-446655440000",
"steps": [
{
"id": "1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
"config": {
"url": "https://api.example.com/search",
"method": "GET",
"type": "request",
"queryParams": {
"q": "<<(sourceData) => sourceData.query>>",
"limit": 10
},
"headers": {
"Content-Type": "application/json",
"Authorization": "Bearer <<(sourceData) => sourceData.credentials.apiKey>>"
},
"body": "{\"query\": \"<<(sourceData) => sourceData.query>>\"}",
"pagination": {
"type": "cursorBased",
"pageSize": "50",
"cursorPath": "meta.next_cursor",
"stopCondition": "(response, pageInfo, sourceData) => !response.data.pagination.has_more || pageInfo.totalFetched >= sourceData.maxResults"
},
"systemId": "3f7c8d9e-1a2b-4c5d-8e9f-0a1b2c3d4e5f"
},
"instruction": "Fetch user details from the API",
"modify": false,
"dataSelector": "(sourceData) => sourceData.data.items",
"failureBehavior": "fail"
}
],
"name": "Web Search",
"version": "2.1.0",
"instruction": "Search the web for the given query and return relevant results",
"inputSchema": {
"type": "object",
"properties": {
"query": {
"type": "string"
},
"maxResults": {
"type": "integer",
"default": 10
}
},
"required": [
"query"
]
},
"outputSchema": {},
"outputTransform": "(sourceData) => sourceData.map(item => ({ id: item.id, title: item.name }))",
"folder": "integrations/payments",
"archived": false,
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
}{
"error": {
"message": "Invalid input parameters"
}
}{
"error": {
"message": "Invalid input parameters"
}
}Update a tool
curl --request PUT \
--url https://api.superglue.ai/v1/tools/{toolId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "Web Search v2",
"steps": [
{
"id": "1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
"config": {
"url": "https://api.example.com/search",
"method": "GET",
"type": "request",
"queryParams": {
"q": "<<(sourceData) => sourceData.query>>",
"limit": 10
},
"headers": {
"Content-Type": "application/json",
"Authorization": "Bearer <<(sourceData) => sourceData.credentials.apiKey>>"
},
"body": "{\"query\": \"<<(sourceData) => sourceData.query>>\"}",
"systemId": "3f7c8d9e-1a2b-4c5d-8e9f-0a1b2c3d4e5f"
},
"instruction": "Fetch user details from the API",
"modify": false,
"dataSelector": "(sourceData) => sourceData.data.items",
"failureBehavior": "fail"
}
],
"instruction": "<string>",
"inputSchema": {},
"outputSchema": {},
"outputTransform": "<string>",
"folder": "<string>",
"archived": true
}
'import requests
url = "https://api.superglue.ai/v1/tools/{toolId}"
payload = {
"name": "Web Search v2",
"steps": [
{
"id": "1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
"config": {
"url": "https://api.example.com/search",
"method": "GET",
"type": "request",
"queryParams": {
"q": "<<(sourceData) => sourceData.query>>",
"limit": 10
},
"headers": {
"Content-Type": "application/json",
"Authorization": "Bearer <<(sourceData) => sourceData.credentials.apiKey>>"
},
"body": "{\"query\": \"<<(sourceData) => sourceData.query>>\"}",
"systemId": "3f7c8d9e-1a2b-4c5d-8e9f-0a1b2c3d4e5f"
},
"instruction": "Fetch user details from the API",
"modify": False,
"dataSelector": "(sourceData) => sourceData.data.items",
"failureBehavior": "fail"
}
],
"instruction": "<string>",
"inputSchema": {},
"outputSchema": {},
"outputTransform": "<string>",
"folder": "<string>",
"archived": True
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: 'Web Search v2',
steps: [
{
id: '1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d',
config: {
url: 'https://api.example.com/search',
method: 'GET',
type: 'request',
queryParams: {q: '<<(sourceData) => sourceData.query>>', limit: 10},
headers: {
'Content-Type': 'application/json',
Authorization: 'Bearer <<(sourceData) => sourceData.credentials.apiKey>>'
},
body: JSON.stringify('{"query": "<<(sourceData) => sourceData.query>>"}'),
systemId: '3f7c8d9e-1a2b-4c5d-8e9f-0a1b2c3d4e5f'
},
instruction: 'Fetch user details from the API',
modify: false,
dataSelector: '(sourceData) => sourceData.data.items',
failureBehavior: 'fail'
}
],
instruction: '<string>',
inputSchema: {},
outputSchema: {},
outputTransform: '<string>',
folder: '<string>',
archived: true
})
};
fetch('https://api.superglue.ai/v1/tools/{toolId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.superglue.ai/v1/tools/{toolId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'Web Search v2',
'steps' => [
[
'id' => '1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d',
'config' => [
'url' => 'https://api.example.com/search',
'method' => 'GET',
'type' => 'request',
'queryParams' => [
'q' => '<<(sourceData) => sourceData.query>>',
'limit' => 10
],
'headers' => [
'Content-Type' => 'application/json',
'Authorization' => 'Bearer <<(sourceData) => sourceData.credentials.apiKey>>'
],
'body' => '{"query": "<<(sourceData) => sourceData.query>>"}',
'systemId' => '3f7c8d9e-1a2b-4c5d-8e9f-0a1b2c3d4e5f'
],
'instruction' => 'Fetch user details from the API',
'modify' => false,
'dataSelector' => '(sourceData) => sourceData.data.items',
'failureBehavior' => 'fail'
]
],
'instruction' => '<string>',
'inputSchema' => [
],
'outputSchema' => [
],
'outputTransform' => '<string>',
'folder' => '<string>',
'archived' => true
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.superglue.ai/v1/tools/{toolId}"
payload := strings.NewReader("{\n \"name\": \"Web Search v2\",\n \"steps\": [\n {\n \"id\": \"1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d\",\n \"config\": {\n \"url\": \"https://api.example.com/search\",\n \"method\": \"GET\",\n \"type\": \"request\",\n \"queryParams\": {\n \"q\": \"<<(sourceData) => sourceData.query>>\",\n \"limit\": 10\n },\n \"headers\": {\n \"Content-Type\": \"application/json\",\n \"Authorization\": \"Bearer <<(sourceData) => sourceData.credentials.apiKey>>\"\n },\n \"body\": \"{\\\"query\\\": \\\"<<(sourceData) => sourceData.query>>\\\"}\",\n \"systemId\": \"3f7c8d9e-1a2b-4c5d-8e9f-0a1b2c3d4e5f\"\n },\n \"instruction\": \"Fetch user details from the API\",\n \"modify\": false,\n \"dataSelector\": \"(sourceData) => sourceData.data.items\",\n \"failureBehavior\": \"fail\"\n }\n ],\n \"instruction\": \"<string>\",\n \"inputSchema\": {},\n \"outputSchema\": {},\n \"outputTransform\": \"<string>\",\n \"folder\": \"<string>\",\n \"archived\": true\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://api.superglue.ai/v1/tools/{toolId}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Web Search v2\",\n \"steps\": [\n {\n \"id\": \"1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d\",\n \"config\": {\n \"url\": \"https://api.example.com/search\",\n \"method\": \"GET\",\n \"type\": \"request\",\n \"queryParams\": {\n \"q\": \"<<(sourceData) => sourceData.query>>\",\n \"limit\": 10\n },\n \"headers\": {\n \"Content-Type\": \"application/json\",\n \"Authorization\": \"Bearer <<(sourceData) => sourceData.credentials.apiKey>>\"\n },\n \"body\": \"{\\\"query\\\": \\\"<<(sourceData) => sourceData.query>>\\\"}\",\n \"systemId\": \"3f7c8d9e-1a2b-4c5d-8e9f-0a1b2c3d4e5f\"\n },\n \"instruction\": \"Fetch user details from the API\",\n \"modify\": false,\n \"dataSelector\": \"(sourceData) => sourceData.data.items\",\n \"failureBehavior\": \"fail\"\n }\n ],\n \"instruction\": \"<string>\",\n \"inputSchema\": {},\n \"outputSchema\": {},\n \"outputTransform\": \"<string>\",\n \"folder\": \"<string>\",\n \"archived\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.superglue.ai/v1/tools/{toolId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"Web Search v2\",\n \"steps\": [\n {\n \"id\": \"1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d\",\n \"config\": {\n \"url\": \"https://api.example.com/search\",\n \"method\": \"GET\",\n \"type\": \"request\",\n \"queryParams\": {\n \"q\": \"<<(sourceData) => sourceData.query>>\",\n \"limit\": 10\n },\n \"headers\": {\n \"Content-Type\": \"application/json\",\n \"Authorization\": \"Bearer <<(sourceData) => sourceData.credentials.apiKey>>\"\n },\n \"body\": \"{\\\"query\\\": \\\"<<(sourceData) => sourceData.query>>\\\"}\",\n \"systemId\": \"3f7c8d9e-1a2b-4c5d-8e9f-0a1b2c3d4e5f\"\n },\n \"instruction\": \"Fetch user details from the API\",\n \"modify\": false,\n \"dataSelector\": \"(sourceData) => sourceData.data.items\",\n \"failureBehavior\": \"fail\"\n }\n ],\n \"instruction\": \"<string>\",\n \"inputSchema\": {},\n \"outputSchema\": {},\n \"outputTransform\": \"<string>\",\n \"folder\": \"<string>\",\n \"archived\": true\n}"
response = http.request(request)
puts response.read_body{
"id": "550e8400-e29b-41d4-a716-446655440000",
"steps": [
{
"id": "1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
"config": {
"url": "https://api.example.com/search",
"method": "GET",
"type": "request",
"queryParams": {
"q": "<<(sourceData) => sourceData.query>>",
"limit": 10
},
"headers": {
"Content-Type": "application/json",
"Authorization": "Bearer <<(sourceData) => sourceData.credentials.apiKey>>"
},
"body": "{\"query\": \"<<(sourceData) => sourceData.query>>\"}",
"pagination": {
"type": "cursorBased",
"pageSize": "50",
"cursorPath": "meta.next_cursor",
"stopCondition": "(response, pageInfo, sourceData) => !response.data.pagination.has_more || pageInfo.totalFetched >= sourceData.maxResults"
},
"systemId": "3f7c8d9e-1a2b-4c5d-8e9f-0a1b2c3d4e5f"
},
"instruction": "Fetch user details from the API",
"modify": false,
"dataSelector": "(sourceData) => sourceData.data.items",
"failureBehavior": "fail"
}
],
"name": "Web Search",
"version": "2.1.0",
"instruction": "Search the web for the given query and return relevant results",
"inputSchema": {
"type": "object",
"properties": {
"query": {
"type": "string"
},
"maxResults": {
"type": "integer",
"default": 10
}
},
"required": [
"query"
]
},
"outputSchema": {},
"outputTransform": "(sourceData) => sourceData.map(item => ({ id: item.id, title: item.name }))",
"folder": "integrations/payments",
"archived": false,
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
}{
"error": {
"message": "Invalid input parameters"
}
}{
"error": {
"message": "Invalid input parameters"
}
}Authorizations
Static API key authentication using Bearer token scheme.
Include your API key in the Authorization header: Authorization: Bearer YOUR_API_KEY
Alternatively, you can use the token query parameter to authenticate.
API keys can be generated in your superglue dashboard.
Path Parameters
Body
Request body for updating an existing tool. All fields are optional — only provided fields are updated.
Human-readable name for the tool
"Web Search v2"
Ordered execution steps (replaces all existing steps)
Show child attributes
Show child attributes
Human-readable instruction describing what the tool does
JSON Schema for tool inputs
JSON Schema for tool outputs
JavaScript function for final output transformation. Format: (sourceData) => expression
Folder path for organizing tools
Set to true to archive the tool (prevents execution and hides from default listing)
Response
Tool updated successfully
A multi-step workflow tool that executes one or more protocol-specific operations
"550e8400-e29b-41d4-a716-446655440000"
Ordered execution steps that make up this tool
1Show child attributes
Show child attributes
"Web Search"
Semantic version string (major.minor.patch)
^\d+\.\d+\.\d+$"2.1.0"
Human-readable instruction describing what the tool does
"Search the web for the given query and return relevant results"
JSON Schema for tool inputs
{
"type": "object",
"properties": {
"query": { "type": "string" },
"maxResults": { "type": "integer", "default": 10 }
},
"required": ["query"]
}JSON Schema for tool outputs (after transformations applied)
JavaScript function for final output transformation. Format: (sourceData) => expression
"(sourceData) => sourceData.map(item => ({ id: item.id, title: item.name }))"
Folder path for organizing tools
"integrations/payments"
Whether this tool is archived (if so, it will not be listed in the UI and cannot be run)
Was this page helpful?