{
"error": "Unauthorized",
"message": "X-API-Key is missing or invalid",
"path": "/v1/integrations/{integrationId}/tools",
"status": 401,
"timestamp": "2026-05-05T10:06:45.788Z"
}
{
"error": "Forbidden",
"message": "Access denied for this resource",
"path": "/v1/integrations/{integrationId}/tools",
"status": 403,
"timestamp": "2026-05-05T10:06:45.788Z"
}
{
"error": "Not Found",
"message": "The requested resource was not found",
"path": "/v1/integrations/{integrationId}/tools",
"status": 404,
"timestamp": "2026-05-05T10:06:45.788Z"
}
{
"error": "Internal Server Error",
"message": "Unexpected server error",
"path": "/v1/integrations/{integrationId}/tools",
"status": 500,
"timestamp": "2026-05-05T10:06:45.788Z"
}
Integration Tools
Create Tool
Creates a new API tool under the specified integration. Define the HTTP endpoint, method, and parameter schema the agent will use when invoking the tool. Returns the created tool including its toolId, which is required for subsequent get, update, delete, and execute calls.
POST
/
v1
/
integrations
/
{integrationId}
/
tools
Create Tool
curl --request POST \ --url https://api.sigmamind.ai/v1/integrations/{integrationId}/tools \ --header 'Content-Type: application/json' \ --header 'X-API-Key: <api-key>' \ --data '{ "name": "get_customer", "description": "Fetches a Shopify customer record by customer ID. Call this tool when you need to look up customer details such as name, email, or order history.", "method": "GET", "url": "https://my-store.myshopify.com/admin/api/2024-01/customers/{{customerId}}.json", "headers": [ { "key": "Content-Type", "value": "application/json" } ], "queryParams": [ { "key": "status", "value": "{{status}}" } ], "bodyParams": { "first_name": "{{firstName}}", "email": "{{email}}" }}'
import requests
url = "https://api.sigmamind.ai/v1/integrations/{integrationId}/tools"
payload = {
"name": "get_customer",
"description": "Fetches a Shopify customer record by customer ID. Call this tool when you need to look up customer details such as name, email, or order history.",
"method": "GET",
"url": "https://my-store.myshopify.com/admin/api/2024-01/customers/{{customerId}}.json",
"headers": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"queryParams": [
{
"key": "status",
"value": "{{status}}"
}
],
"bodyParams": {
"first_name": "{{firstName}}",
"email": "{{email}}"
}
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)
const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: 'get_customer',
description: 'Fetches a Shopify customer record by customer ID. Call this tool when you need to look up customer details such as name, email, or order history.',
method: 'GET',
url: 'https://my-store.myshopify.com/admin/api/2024-01/customers/{{customerId}}.json',
headers: [{key: 'Content-Type', value: 'application/json'}],
queryParams: [{key: 'status', value: '{{status}}'}],
bodyParams: {first_name: '{{firstName}}', email: '{{email}}'}
})
};
fetch('https://api.sigmamind.ai/v1/integrations/{integrationId}/tools', 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.sigmamind.ai/v1/integrations/{integrationId}/tools",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'get_customer',
'description' => 'Fetches a Shopify customer record by customer ID. Call this tool when you need to look up customer details such as name, email, or order history.',
'method' => 'GET',
'url' => 'https://my-store.myshopify.com/admin/api/2024-01/customers/{{customerId}}.json',
'headers' => [
[
'key' => 'Content-Type',
'value' => 'application/json'
]
],
'queryParams' => [
[
'key' => 'status',
'value' => '{{status}}'
]
],
'bodyParams' => [
'first_name' => '{{firstName}}',
'email' => '{{email}}'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>"
],
]);
$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.sigmamind.ai/v1/integrations/{integrationId}/tools"
payload := strings.NewReader("{\n \"name\": \"get_customer\",\n \"description\": \"Fetches a Shopify customer record by customer ID. Call this tool when you need to look up customer details such as name, email, or order history.\",\n \"method\": \"GET\",\n \"url\": \"https://my-store.myshopify.com/admin/api/2024-01/customers/{{customerId}}.json\",\n \"headers\": [\n {\n \"key\": \"Content-Type\",\n \"value\": \"application/json\"\n }\n ],\n \"queryParams\": [\n {\n \"key\": \"status\",\n \"value\": \"{{status}}\"\n }\n ],\n \"bodyParams\": {\n \"first_name\": \"{{firstName}}\",\n \"email\": \"{{email}}\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
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.post("https://api.sigmamind.ai/v1/integrations/{integrationId}/tools")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"get_customer\",\n \"description\": \"Fetches a Shopify customer record by customer ID. Call this tool when you need to look up customer details such as name, email, or order history.\",\n \"method\": \"GET\",\n \"url\": \"https://my-store.myshopify.com/admin/api/2024-01/customers/{{customerId}}.json\",\n \"headers\": [\n {\n \"key\": \"Content-Type\",\n \"value\": \"application/json\"\n }\n ],\n \"queryParams\": [\n {\n \"key\": \"status\",\n \"value\": \"{{status}}\"\n }\n ],\n \"bodyParams\": {\n \"first_name\": \"{{firstName}}\",\n \"email\": \"{{email}}\"\n }\n}")
.asString();
require 'uri'
require 'net/http'
url = URI("https://api.sigmamind.ai/v1/integrations/{integrationId}/tools")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"get_customer\",\n \"description\": \"Fetches a Shopify customer record by customer ID. Call this tool when you need to look up customer details such as name, email, or order history.\",\n \"method\": \"GET\",\n \"url\": \"https://my-store.myshopify.com/admin/api/2024-01/customers/{{customerId}}.json\",\n \"headers\": [\n {\n \"key\": \"Content-Type\",\n \"value\": \"application/json\"\n }\n ],\n \"queryParams\": [\n {\n \"key\": \"status\",\n \"value\": \"{{status}}\"\n }\n ],\n \"bodyParams\": {\n \"first_name\": \"{{firstName}}\",\n \"email\": \"{{email}}\"\n }\n}"
response = http.request(request)
puts response.read_body
{ "toolId": "tool_X9pLm2Wq8Rt3", "integrationId": "intg_AuUKK371Spr5", "name": "get_order_details", "description": "Fetches order details from Shopify by order ID. Call this tool when you need to retrieve order status, line items, or shipping info.", "method": "GET", "url": "https://my-store.myshopify.com/admin/api/2024-01/orders/{{orderId}}.json", "scope": "local", "headers": { "customer_name": "Michael", "account_id": "ACC-001" }, "queryParams": { "customer_name": "Michael", "account_id": "ACC-001" }, "bodyParams": { "customer_name": "Michael", "account_id": "ACC-001" }, "createdAt": "2024-04-20T10:00:00.000Z", "updatedAt": "2024-04-21T08:30:00.000Z"}
Authenticate every request by passing your API key in the X-API-Key header. To get your key, go to Dashboard → API Keys and create or copy your Production API key.
Unique identifier of the integration to create the tool under.
Body
application/json
Request body to create a new API tool under an integration. A tool represents a single callable API operation — for example 'get_customer' or 'create_order' — that an AI agent can invoke at runtime. Dynamic values are declared using {{variable}} placeholders in the URL, headers, query params, or body; the agent resolves these at invocation time.
Action-oriented, snake_case name that uniquely identifies this tool within the integration. AI agents use this name to select the correct tool when deciding which operation to invoke. Must be unique within the integration. Good examples: 'get_customer', 'create_order', 'cancel_subscription'.
Explanation of what this tool does and the exact conditions under which an AI agent should invoke it. Agents rely on this description to match a task to the correct tool — be specific about the action, the resource it operates on, and any inputs the agent must supply.
Maximum string length: 1024
Example:
"Fetches a Shopify customer record by customer ID. Call this tool when you need to look up customer details such as name, email, or order history."
HTTP method used when invoking this tool's endpoint. GET retrieves a resource without side effects. POST creates a new resource. PUT fully replaces an existing resource. PATCH partially updates an existing resource. DELETE removes a resource.
Full URL of the API endpoint this tool calls. Supports {{variable}} placeholders for path segments the agent resolves at runtime (e.g., {{customerId}} in the path). Path variables embedded here do not need to be redeclared in queryParams.
Static HTTP headers sent on every request made by this tool. Merged with headers defined at the integration and auth levels; tool-level headers take precedence on key conflicts. Values may contain {{variable}} placeholders resolved by the agent at runtime. Leave empty if no tool-specific headers are needed.
Query string parameters appended to the URL on every invocation (e.g., ?status=active&limit=10). Values support {{variable}} placeholders so the agent can supply them at runtime. Path variables already embedded in the URL using {{variable}} syntax do not need to be listed here.
Request body payload sent when this tool is invoked, as a JSON object. Values support {{variable}} placeholders that the agent resolves at runtime. Provide only for POST, PUT, and PATCH tools. Leave empty or omit for GET and DELETE — body content is ignored for those methods.
Represents a single callable API tool registered under an integration. Each tool maps to one specific API operation (e.g., 'Get Order', 'Create Customer') and carries its full invocation config: HTTP method, endpoint URL, headers, and parameters. AI agents use this response to understand what the tool does and how to invoke it.
Action-oriented name for this tool that identifies the operation it performs. AI agents use this name to match a task to the correct tool. Follows snake_case convention (e.g., 'get_customer', 'create_order').
Explanation of what this tool does and when an AI agent should invoke it. Agents rely on this description to decide whether this tool matches the current task. A good description names the action, the resource it operates on, and required inputs.
Example:
"Fetches order details from Shopify by order ID. Call this tool when you need to retrieve order status, line items, or shipping info."
HTTP method used when invoking this tool's endpoint. GET retrieves a resource without side effects. POST creates a new resource. PUT fully replaces an existing resource. PATCH partially updates an existing resource. DELETE removes a resource.
Full URL of the API endpoint this tool calls, including any {{variable}} placeholders that the agent resolves at runtime using the declared parameters. Path segments wrapped in {{}} (e.g., {{orderId}}) are substituted before the request is sent.
Visibility scope of this tool. 'local' means the tool is private to your account and only accessible within your integrations. 'community' means the tool is shared and discoverable by other users.
Dynamic key-value pairs that were passed to the agent at call start for personalisation. Keys correspond to variable names defined in the agent's configuration (e.g., 'customer_name', 'account_id'). Null or empty if no dynamic variables were provided when the call was created.
Dynamic key-value pairs that were passed to the agent at call start for personalisation. Keys correspond to variable names defined in the agent's configuration (e.g., 'customer_name', 'account_id'). Null or empty if no dynamic variables were provided when the call was created.
Dynamic key-value pairs that were passed to the agent at call start for personalisation. Keys correspond to variable names defined in the agent's configuration (e.g., 'customer_name', 'account_id'). Null or empty if no dynamic variables were provided when the call was created.
UTC timestamp when this tool was last modified, in ISO 8601 format. Use to detect configuration changes or invalidate cached tool definitions.
Example:
"2024-04-21T08:30:00.000Z"
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"SigmaMind AI","description":"Developer docs for SigmaMind AI. Build, test, and deploy AI agents that handle voice, chat, and email conversations for your contact center.","colors":{"primary":"#0F172A","light":"#F8FAFC","dark":"#1E293B"},"logo":{"light":"https://mintcdn.com/sigmamindai/vxjJeTe45csRRZLq/logo/light.svg?fit=max\u0026auto=format\u0026n=vxjJeTe45csRRZLq\u0026q=85\u0026s=bc51a1190d0d56521defbdc28b2a0798","dark":"https://mintcdn.com/sigmamindai/vxjJeTe45csRRZLq/logo/dark.svg?fit=max\u0026auto=format\u0026n=vxjJeTe45csRRZLq\u0026q=85\u0026s=37e6d9d7f667ee3761cc76b9ed758f6a","href":"https://www.sigmamind.ai"},"favicon":"https://mintcdn.com/sigmamindai/x8_xeWMetIJrwgEQ/favicon.svg?fit=max\u0026auto=format\u0026n=x8_xeWMetIJrwgEQ\u0026q=85\u0026s=dce3fc7f05848ac97179954ea0aac7a7","navbar":{"links":[{"href":"mailto:help@sigmamind.ai","label":"Support"}],"primary":{"type":"button","label":"Dashboard","href":"https://dashboard.sigmamind.ai/auth/login"}},"footer":{"socials":{"x":"https://x.com/sigmamind_ai","linkedin":"https://www.linkedin.com/company/sigmamind-ai","website":"https://www.sigmamind.ai","youtube":"https://www.youtube.com/@SigmaMindAI"}},"seo":{"indexing":"all"},"integrations":{"ga4":{"measurementId":"G-FS7QYGTFP5"},"gtm":{"tagId":"GTM-NN56PC2H"}},"errors":{"404":{"redirect":true}},"contextual":{"options":["copy","view","assistant","chatgpt","claude","mcp","cursor","vscode"],"display":"header"},"variables":{"BASE_URL":"https://api.sigmamind.ai"},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"Documentation","icon":"book-open-cover","href":"https://docs.sigmamind.ai"},{"anchor":"Discord Community","icon":"discord","href":"https://www.discord.com/invite/jSWGcw5Wyx"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"sigmamindai","hasAudioNarration":false,"actualSubdomain":"sigmamindai","customDomains":["docs.sigmamind.ai"],"gitSource":{"type":"github","owner":"sigmamind-ai","repo":"docs","deployBranch":"dev-master","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ad0bd308db8cca04419eaa4","collectionId":"f79efd5c-2c72-462d-a1c0-9572c019f6bd","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ad0bd308db8cca04419eaa4"},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ad0bd308db8cca04419eaa4","clientVersion":"0.0.4006","searchFilterCounts":[{"language":"default","tag":"Documentation","count":94},{"language":"default","tag":"API Reference","count":77},{"language":"default","tag":"Build","count":37},{"language":"default","tag":"Deploy","count":14},{"language":"default","tag":"How to build conversational flow agents","count":12},{"language":"default","tag":"Tool Integrations","count":11},{"language":"default","tag":"How to build single prompt agents","count":8},{"language":"default","tag":"Add Basic Nodes","count":7},{"language":"default","tag":"How to Add tool","count":6},{"language":"default","tag":"CCAAS Integrations","count":6}]},"assistantConfig":{"enableStarterQuestions":true,"deflection":{"enabled":true,"email":"support@sigmamind.ai","showHelpButton":true}},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"starterQuestions":[{"_id":"695fb83bba37df35a996e0a8","deploymentId":"682c3c0be2b0b5676d6f71d1","questionText":"How do I connect my app with a voice AI agent?","status":"active","generatedBy":"manual","createdAt":"2026-01-08T13:59:23.075Z","updatedAt":"2026-01-08T13:59:23.075Z","__v":0},{"_id":"695fb809ba37df35a996deb4","deploymentId":"682c3c0be2b0b5676d6f71d1","questionText":"How can I add a voice agent to my app or website?","status":"active","generatedBy":"manual","createdAt":"2026-01-08T13:58:33.153Z","updatedAt":"2026-01-08T13:58:33.153Z","__v":0},{"_id":"695fb7adba37df35a996da58","deploymentId":"682c3c0be2b0b5676d6f71d1","questionText":"How do I set up a voice AI agent?","status":"active","generatedBy":"manual","createdAt":"2026-01-08T13:57:01.201Z","updatedAt":"2026-01-08T13:57:01.201Z","__v":0}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/integration-tools/create-tool","slug":"/api-reference/integration-tools/create-tool","pageMetadata":{"openapi":"post /v1/integrations/{integrationId}/tools","title":"Create Tool","description":"Creates a new API tool under the specified integration. Define the HTTP endpoint, method, and parameter schema the agent will use when invoking the tool. Returns the created tool including its toolId, which is required for subsequent get, update, delete, and execute calls.","href":"/api-reference/integration-tools/create-tool"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Creates a new API tool under the specified integration. Define the HTTP endpoint, method, and parameter schema the agent will use when invoking the tool. Returns the created tool including its toolId, which is required for subsequent get, update, delete, and execute calls.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"openapi":"post /v1/integrations/{integrationId}/tools","title":"Create Tool","description":"Creates a new API tool under the specified integration. Define the HTTP endpoint, method, and parameter schema the agent will use when invoking the tool. Returns the created tool including its toolId, which is required for subsequent get, update, delete, and execute calls.","href":"/api-reference/integration-tools/create-tool"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Integration Tools"],"summary":"Create Tool","description":"Creates a new API tool under the specified integration. Define the HTTP endpoint, method, and parameter schema the agent will use when invoking the tool. Returns the created tool including its toolId, which is required for subsequent get, update, delete, and execute calls.","operationId":"createIntegrationTool","parameters":["9111c99b-c808-4ef6-a838-c988b05c2bb8"],"requestBody":"8ded7221-ca56-4f9f-a94b-06ece592cd29","responses":{"201":"4ad3843f-264b-4596-8424-ffd28893e52e","400":"9e45d32b-8a4a-4a3b-ae49-5c5d4cd3c8c8","401":"2691990a-22b3-4d09-81ec-3f783252a909","403":"7e1cb8c8-872e-4f2d-b62f-d3c524789331","404":"783eb6cd-790e-4f06-8b8b-6a146ee31851","500":"f7dfe70a-7752-4755-98e0-d1595e655d54"},"method":"post","type":"path","servers":["75f7b222-03cc-4d0b-ad9a-f874f3025873"],"security":["9493c0cd-b560-4dc9-b9d1-6f65df68321e"],"path":"/v1/integrations/{integrationId}/tools","baseUrlOptions":["https://api.sigmamind.ai"],"title":"Create Tool","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"9111c99b-c808-4ef6-a838-c988b05c2bb8":{"name":"integrationId","in":"path","description":"Unique identifier of the integration to create the tool under.","required":true,"schema":{"type":"string","isRequired":true,"description":"Unique identifier of the integration to create the tool under.","uniqueKey":"","typeLabel":"string"},"example":"intg_AuUKK371Spr5"}},"requestBody":{"content":{"application/json":{"schema":{"required":["description","method","name","url"],"type":"object","properties":{"name":{"maxLength":128,"minLength":0,"type":"string","description":"Action-oriented, snake_case name that uniquely identifies this tool within the integration. AI agents use this name to select the correct tool when deciding which operation to invoke. Must be unique within the integration. Good examples: 'get_customer', 'create_order', 'cancel_subscription'.","example":"get_customer","isRequired":true,"uniqueKey":"name","typeLabel":"string"},"description":{"maxLength":1024,"minLength":0,"type":"string","description":"Explanation of what this tool does and the exact conditions under which an AI agent should invoke it. Agents rely on this description to match a task to the correct tool — be specific about the action, the resource it operates on, and any inputs the agent must supply.","example":"Fetches a Shopify customer record by customer ID. Call this tool when you need to look up customer details such as name, email, or order history.","isRequired":true,"uniqueKey":"description","typeLabel":"string"},"method":{"type":"string","description":"HTTP method used when invoking this tool's endpoint. GET retrieves a resource without side effects. POST creates a new resource. PUT fully replaces an existing resource. PATCH partially updates an existing resource. DELETE removes a resource.","example":"GET","enum":["GET","POST","PUT","PATCH","DELETE"],"isRequired":true,"uniqueKey":"method","typeLabel":"enum\u003cstring>"},"url":{"maxLength":1024,"minLength":0,"type":"string","description":"Full URL of the API endpoint this tool calls. Supports {{variable}} placeholders for path segments the agent resolves at runtime (e.g., {{customerId}} in the path). Path variables embedded here do not need to be redeclared in queryParams.","example":"https://my-store.myshopify.com/admin/api/2024-01/customers/{{customerId}}.json","isRequired":true,"uniqueKey":"url","typeLabel":"string"},"headers":{"type":"array","description":"Static HTTP headers sent on every request made by this tool. Merged with headers defined at the integration and auth levels; tool-level headers take precedence on key conflicts. Values may contain {{variable}} placeholders resolved by the agent at runtime. Leave empty if no tool-specific headers are needed.","example":[{"key":"Content-Type","value":"application/json"}],"items":{"required":["key","value"],"type":"object","properties":{"key":{"maxLength":256,"minLength":0,"type":"string","description":"HTTP header name exactly as expected by the target API.","example":"Content-Type","isRequired":true,"uniqueKey":"headers.items.[INDEX].key","typeLabel":"string"},"value":{"maxLength":1024,"minLength":0,"type":"string","description":"Static value for this header sent with every request. Must be a fixed string — use queryParams or bodyParams for dynamic values.","example":"application/json","isRequired":true,"uniqueKey":"headers.items.[INDEX].value","typeLabel":"string"}},"description":"A single static HTTP header included in every request made by this tool. Tool-level headers are merged with integration-level and auth-level headers; tool-level values take precedence on key conflicts.","example":[{"key":"Content-Type","value":"application/json"}],"uniqueKey":"headers.items.[INDEX]","typeLabel":"object"},"uniqueKey":"headers","typeLabel":"object[]"},"queryParams":{"type":"array","description":"Query string parameters appended to the URL on every invocation (e.g., ?status=active\u0026limit=10). Values support {{variable}} placeholders so the agent can supply them at runtime. Path variables already embedded in the URL using {{variable}} syntax do not need to be listed here.","example":[{"key":"status","value":"{{status}}"}],"items":{"required":["key"],"type":"object","properties":{"key":{"maxLength":128,"minLength":0,"type":"string","description":"Query parameter name as expected by the target API.","example":"status","isRequired":true,"uniqueKey":"queryParams.items.[INDEX].key","typeLabel":"string"},"value":{"maxLength":1024,"minLength":0,"type":"string","description":"Value for this query parameter. Use a {{variable}} placeholder for values the agent supplies at runtime. Static string values are also accepted for fixed parameters.","example":"{{status}}","uniqueKey":"queryParams.items.[INDEX].value","typeLabel":"string"}},"description":"A single query string parameter appended to the request URL at invocation time. Use {{variable}} placeholders in values for parameters the agent supplies dynamically. Path variables embedded in the endpoint URL using {{variable}} syntax are separate and do not need to be declared here.","example":[{"key":"status","value":"{{status}}"}],"uniqueKey":"queryParams.items.[INDEX]","typeLabel":"object"},"uniqueKey":"queryParams","typeLabel":"object[]"},"bodyParams":{"type":"object","description":"Request body payload sent when this tool is invoked, as a JSON object. Values support {{variable}} placeholders that the agent resolves at runtime. Provide only for POST, PUT, and PATCH tools. Leave empty or omit for GET and DELETE — body content is ignored for those methods.","example":{"first_name":"{{firstName}}","email":"{{email}}"},"additionalProperties":{"oneOf":[{"type":"string","uniqueKey":"bodyParams.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"number","uniqueKey":"bodyParams.additionalProperties.oneOf.1","typeLabel":"number"},{"type":"boolean","uniqueKey":"bodyParams.additionalProperties.oneOf.2","typeLabel":"boolean"},{"type":"object","uniqueKey":"bodyParams.additionalProperties.oneOf.3","typeLabel":"object"},{"type":"array","items":{"oneOf":[{}],"uniqueKey":"bodyParams.additionalProperties.oneOf.4.items.[INDEX]","typeLabel":"any"},"uniqueKey":"bodyParams.additionalProperties.oneOf.4","typeLabel":"any[]"}],"uniqueKey":"bodyParams.additionalProperties","typeLabel":"string | number | boolean | object | any[]"},"uniqueKey":"bodyParams","typeLabel":"object"}},"description":"Request body to create a new API tool under an integration. A tool represents a single callable API operation — for example 'get_customer' or 'create_order' — that an AI agent can invoke at runtime. Dynamic values are declared using {{variable}} placeholders in the URL, headers, query params, or body; the agent resolves these at invocation time.","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"name":"get_customer","description":"Fetches a Shopify customer record by customer ID. Call this tool when you need to look up customer details such as name, email, or order history.","method":"GET","url":"https://my-store.myshopify.com/admin/api/2024-01/customers/{{customerId}}.json","headers":[{"key":"Content-Type","value":"application/json"}],"queryParams":[{"key":"status","value":"{{status}}"}],"bodyParams":{"first_name":"{{firstName}}","email":"{{email}}"}}}},"exampleType":"generated"}},"required":true,"exampleType":"generated"},"responses":{"4ad3843f-264b-4596-8424-ffd28893e52e":{"description":"Created","content":{"application/json":{"schema":{"type":"object","properties":{"toolId":{"type":"string","description":"Unique identifier for this tool. Use this value as toolId when executing, updating, or deleting this tool.","example":"tool_X9pLm2Wq8Rt3","uniqueKey":"toolId","typeLabel":"string"},"integrationId":{"type":"string","description":"Unique identifier of the integration this tool belongs to. Use this value as integrationId when making requests scoped to the parent integration.","example":"intg_AuUKK371Spr5","uniqueKey":"integrationId","typeLabel":"string"},"name":{"type":"string","description":"Action-oriented name for this tool that identifies the operation it performs. AI agents use this name to match a task to the correct tool. Follows snake_case convention (e.g., 'get_customer', 'create_order').","example":"get_order_details","uniqueKey":"name","typeLabel":"string"},"description":{"type":"string","description":"Explanation of what this tool does and when an AI agent should invoke it. Agents rely on this description to decide whether this tool matches the current task. A good description names the action, the resource it operates on, and required inputs.","example":"Fetches order details from Shopify by order ID. Call this tool when you need to retrieve order status, line items, or shipping info.","uniqueKey":"description","typeLabel":"string"},"method":{"type":"string","description":"HTTP method used when invoking this tool's endpoint. GET retrieves a resource without side effects. POST creates a new resource. PUT fully replaces an existing resource. PATCH partially updates an existing resource. DELETE removes a resource.","example":"GET","enum":["GET","POST","PUT","PATCH","DELETE"],"uniqueKey":"method","typeLabel":"enum\u003cstring>"},"url":{"type":"string","description":"Full URL of the API endpoint this tool calls, including any {{variable}} placeholders that the agent resolves at runtime using the declared parameters. Path segments wrapped in {{}} (e.g., {{orderId}}) are substituted before the request is sent.","example":"https://my-store.myshopify.com/admin/api/2024-01/orders/{{orderId}}.json","uniqueKey":"url","typeLabel":"string"},"scope":{"type":"string","description":"Visibility scope of this tool. 'local' means the tool is private to your account and only accessible within your integrations. 'community' means the tool is shared and discoverable by other users.","example":"local","enum":["local","community"],"uniqueKey":"scope","typeLabel":"enum\u003cstring>"},"headers":{"type":"object","description":"Dynamic key-value pairs that were passed to the agent at call start for personalisation. Keys correspond to variable names defined in the agent's configuration (e.g., 'customer_name', 'account_id'). Null or empty if no dynamic variables were provided when the call was created.","example":{"customer_name":"Michael","account_id":"ACC-001"},"uniqueKey":"headers","typeLabel":"object"},"queryParams":{"type":"object","description":"Dynamic key-value pairs that were passed to the agent at call start for personalisation. Keys correspond to variable names defined in the agent's configuration (e.g., 'customer_name', 'account_id'). Null or empty if no dynamic variables were provided when the call was created.","example":{"customer_name":"Michael","account_id":"ACC-001"},"uniqueKey":"queryParams","typeLabel":"object"},"bodyParams":{"type":"object","description":"Dynamic key-value pairs that were passed to the agent at call start for personalisation. Keys correspond to variable names defined in the agent's configuration (e.g., 'customer_name', 'account_id'). Null or empty if no dynamic variables were provided when the call was created.","example":{"customer_name":"Michael","account_id":"ACC-001"},"uniqueKey":"bodyParams","typeLabel":"object"},"createdAt":{"type":"string","description":"UTC timestamp when this tool was created, in ISO 8601 format. Use for auditing or determining how long the tool has been active.","format":"date-time","example":"2024-04-20T10:00:00.000Z","uniqueKey":"createdAt","typeLabel":"string\u003cdate-time>"},"updatedAt":{"type":"string","description":"UTC timestamp when this tool was last modified, in ISO 8601 format. Use to detect configuration changes or invalidate cached tool definitions.","format":"date-time","example":"2024-04-21T08:30:00.000Z","uniqueKey":"updatedAt","typeLabel":"string\u003cdate-time>"}},"description":"Represents a single callable API tool registered under an integration. Each tool maps to one specific API operation (e.g., 'Get Order', 'Create Customer') and carries its full invocation config: HTTP method, endpoint URL, headers, and parameters. AI agents use this response to understand what the tool does and how to invoke it.","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"toolId":"tool_X9pLm2Wq8Rt3","integrationId":"intg_AuUKK371Spr5","name":"get_order_details","description":"Fetches order details from Shopify by order ID. Call this tool when you need to retrieve order status, line items, or shipping info.","method":"GET","url":"https://my-store.myshopify.com/admin/api/2024-01/orders/{{orderId}}.json","scope":"local","headers":{"customer_name":"Michael","account_id":"ACC-001"},"queryParams":{"customer_name":"Michael","account_id":"ACC-001"},"bodyParams":{"customer_name":"Michael","account_id":"ACC-001"},"createdAt":"2024-04-20T10:00:00.000Z","updatedAt":"2024-04-21T08:30:00.000Z"}}},"exampleType":"generated"}},"exampleType":"generated"},"9e45d32b-8a4a-4a3b-ae49-5c5d4cd3c8c8":{"description":"Bad Request","content":{"application/json":{"schema":{"type":"object","properties":{"timestamp":{"type":"string","description":"Error timestamp in ISO format","format":"date-time","uniqueKey":"timestamp","typeLabel":"string\u003cdate-time>"},"status":{"type":"integer","description":"HTTP status code","example":400,"uniqueKey":"status","typeLabel":"integer"},"error":{"type":"string","description":"Error type or HTTP status message","example":"Bad Request","uniqueKey":"error","typeLabel":"string"},"message":{"type":"string","description":"Detailed error message","example":"Email is required","uniqueKey":"message","typeLabel":"string"},"path":{"type":"string","description":"Request path where error occurred","example":"/v1/users","uniqueKey":"path","typeLabel":"string"},"validationErrors":{"type":"object","description":"Field validation errors (if any)","example":"{\n \"email\": \"Email is required\",\n \"name\": \"Name is too short\"\n}","uniqueKey":"validationErrors","typeLabel":"object"}},"description":"Standard error response","uniqueKey":"","typeLabel":"object"},"examples":{"default":{"title":"default","value":{"error":"Bad Request","message":"Invalid request parameters","path":"/v1/integrations/{integrationId}/tools","status":400,"timestamp":"2026-05-05T10:06:45.788Z"}}},"exampleType":"examples"}},"exampleType":"examples"},"2691990a-22b3-4d09-81ec-3f783252a909":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"timestamp":{"type":"string","description":"Error timestamp in ISO format","format":"date-time","uniqueKey":"timestamp","typeLabel":"string\u003cdate-time>"},"status":{"type":"integer","description":"HTTP status code","example":400,"uniqueKey":"status","typeLabel":"integer"},"error":{"type":"string","description":"Error type or HTTP status message","example":"Bad Request","uniqueKey":"error","typeLabel":"string"},"message":{"type":"string","description":"Detailed error message","example":"Email is required","uniqueKey":"message","typeLabel":"string"},"path":{"type":"string","description":"Request path where error occurred","example":"/v1/users","uniqueKey":"path","typeLabel":"string"},"validationErrors":{"type":"object","description":"Field validation errors (if any)","example":"{\n \"email\": \"Email is required\",\n \"name\": \"Name is too short\"\n}","uniqueKey":"validationErrors","typeLabel":"object"}},"description":"Standard error response","uniqueKey":"","typeLabel":"object"},"examples":{"default":{"title":"default","value":{"error":"Unauthorized","message":"X-API-Key is missing or invalid","path":"/v1/integrations/{integrationId}/tools","status":401,"timestamp":"2026-05-05T10:06:45.788Z"}}},"exampleType":"examples"}},"exampleType":"examples"},"7e1cb8c8-872e-4f2d-b62f-d3c524789331":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"timestamp":{"type":"string","description":"Error timestamp in ISO format","format":"date-time","uniqueKey":"timestamp","typeLabel":"string\u003cdate-time>"},"status":{"type":"integer","description":"HTTP status code","example":400,"uniqueKey":"status","typeLabel":"integer"},"error":{"type":"string","description":"Error type or HTTP status message","example":"Bad Request","uniqueKey":"error","typeLabel":"string"},"message":{"type":"string","description":"Detailed error message","example":"Email is required","uniqueKey":"message","typeLabel":"string"},"path":{"type":"string","description":"Request path where error occurred","example":"/v1/users","uniqueKey":"path","typeLabel":"string"},"validationErrors":{"type":"object","description":"Field validation errors (if any)","example":"{\n \"email\": \"Email is required\",\n \"name\": \"Name is too short\"\n}","uniqueKey":"validationErrors","typeLabel":"object"}},"description":"Standard error response","uniqueKey":"","typeLabel":"object"},"examples":{"default":{"title":"default","value":{"error":"Forbidden","message":"Access denied for this resource","path":"/v1/integrations/{integrationId}/tools","status":403,"timestamp":"2026-05-05T10:06:45.788Z"}}},"exampleType":"examples"}},"exampleType":"examples"},"783eb6cd-790e-4f06-8b8b-6a146ee31851":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","properties":{"timestamp":{"type":"string","description":"Error timestamp in ISO format","format":"date-time","uniqueKey":"timestamp","typeLabel":"string\u003cdate-time>"},"status":{"type":"integer","description":"HTTP status code","example":400,"uniqueKey":"status","typeLabel":"integer"},"error":{"type":"string","description":"Error type or HTTP status message","example":"Bad Request","uniqueKey":"error","typeLabel":"string"},"message":{"type":"string","description":"Detailed error message","example":"Email is required","uniqueKey":"message","typeLabel":"string"},"path":{"type":"string","description":"Request path where error occurred","example":"/v1/users","uniqueKey":"path","typeLabel":"string"},"validationErrors":{"type":"object","description":"Field validation errors (if any)","example":"{\n \"email\": \"Email is required\",\n \"name\": \"Name is too short\"\n}","uniqueKey":"validationErrors","typeLabel":"object"}},"description":"Standard error response","uniqueKey":"","typeLabel":"object"},"examples":{"default":{"title":"default","value":{"error":"Not Found","message":"The requested resource was not found","path":"/v1/integrations/{integrationId}/tools","status":404,"timestamp":"2026-05-05T10:06:45.788Z"}}},"exampleType":"examples"}},"exampleType":"examples"},"f7dfe70a-7752-4755-98e0-d1595e655d54":{"description":"Internal Server Error","content":{"application/json":{"schema":{"type":"object","properties":{"timestamp":{"type":"string","description":"Error timestamp in ISO format","format":"date-time","uniqueKey":"timestamp","typeLabel":"string\u003cdate-time>"},"status":{"type":"integer","description":"HTTP status code","example":400,"uniqueKey":"status","typeLabel":"integer"},"error":{"type":"string","description":"Error type or HTTP status message","example":"Bad Request","uniqueKey":"error","typeLabel":"string"},"message":{"type":"string","description":"Detailed error message","example":"Email is required","uniqueKey":"message","typeLabel":"string"},"path":{"type":"string","description":"Request path where error occurred","example":"/v1/users","uniqueKey":"path","typeLabel":"string"},"validationErrors":{"type":"object","description":"Field validation errors (if any)","example":"{\n \"email\": \"Email is required\",\n \"name\": \"Name is too short\"\n}","uniqueKey":"validationErrors","typeLabel":"object"}},"description":"Standard error response","uniqueKey":"","typeLabel":"object"},"examples":{"default":{"title":"default","value":{"error":"Internal Server Error","message":"Unexpected server error","path":"/v1/integrations/{integrationId}/tools","status":500,"timestamp":"2026-05-05T10:06:45.788Z"}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"9493c0cd-b560-4dc9-b9d1-6f65df68321e":{"apiKeyAuth":{"type":"apiKey","description":"Authenticate every request by passing your API key in the `X-API-Key` header. To get your key, go to Dashboard → API Keys and create or copy your Production API key.","name":"X-API-Key","in":"header","scopes":[],"schemeName":"apiKeyAuth"}}},"servers":{"75f7b222-03cc-4d0b-ad9a-f874f3025873":{"url":"https://api.sigmamind.ai","description":"SigmaMind AI Agent Builder APIs"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","description":"Authenticate every request by passing your API key in the `X-API-Key` header. To get your key, go to Dashboard → API Keys and create or copy your Production API key.","name":"X-API-Key","in":"header","scopes":[],"schemeName":"apiKeyAuth"},"schema":{"title":"X-API-Key","type":"string","description":"Authenticate every request by passing your API key in the `X-API-Key` header. To get your key, go to Dashboard → API Keys and create or copy your Production API key.","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"apiKeyAuth","name":"X-API-Key"}],"title":"apiKeyAuth"}]},"originalFileLocation":"api-docs.yaml"},"subdomain":"sigmamindai","siteName":"SigmaMind AI","title":"Create Tool - SigmaMind AI","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-05-06T15:50:10.712Z","originalFileLocation":"api-reference/integration-tools/create-tool.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Creates a new API tool under the specified integration. Define the HTTP endpoint, method, and parameter schema the agent will use when invoking the tool. Returns the created tool including its toolId, which is required for subsequent get, update, delete, and execute calls.\">\u003cmeta data-mint-head name=\"application-name\" content=\"SigmaMind AI\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/sigmamindai/QkCWUi6da-GSENjq/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/sigmamindai/QkCWUi6da-GSENjq/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/sigmamindai/QkCWUi6da-GSENjq/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/sigmamindai/QkCWUi6da-GSENjq/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/sigmamindai/QkCWUi6da-GSENjq/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/sigmamindai/QkCWUi6da-GSENjq/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/sigmamindai/QkCWUi6da-GSENjq/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/sigmamindai/QkCWUi6da-GSENjq/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/sigmamindai/QkCWUi6da-GSENjq/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Create Tool - SigmaMind AI\">\u003cmeta data-mint-head property=\"og:description\" content=\"Creates a new API tool under the specified integration. Define the HTTP endpoint, method, and parameter schema the agent will use when invoking the tool. Returns the created tool including its toolId, which is required for subsequent get, update, delete, and execute calls.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"SigmaMind AI\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.sigmamind.ai/api-reference/integration-tools/create-tool\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://sigmamindai.mintlify.app/_mintlify/api/og/v2?division=Integration+Tools\u0026amp;title=Create+Tool\u0026amp;description=Creates+a+new+API+tool+under+the+specified+integration.+Define+the+HTTP+endpoint%2C+method%2C+and+parameter+schema+the+agent+will+use+when+invoking+the+tool.+Return\u0026amp;theme=1cb0dee83b8b2161fa75211c\u0026amp;signature=b2d68afb605f10e359dc10a2be4e31f89b345123a206c73b4ece6277f3a57b08\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Create Tool - SigmaMind AI\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Creates a new API tool under the specified integration. Define the HTTP endpoint, method, and parameter schema the agent will use when invoking the tool. Returns the created tool including its toolId, which is required for subsequent get, update, delete, and execute calls.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://sigmamindai.mintlify.app/_mintlify/api/og/v2?division=Integration+Tools\u0026amp;title=Create+Tool\u0026amp;description=Creates+a+new+API+tool+under+the+specified+integration.+Define+the+HTTP+endpoint%2C+method%2C+and+parameter+schema+the+agent+will+use+when+invoking+the+tool.+Return\u0026amp;theme=1cb0dee83b8b2161fa75211c\u0026amp;signature=b2d68afb605f10e359dc10a2be4e31f89b345123a206c73b4ece6277f3a57b08\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/sigmamindai/QkCWUi6da-GSENjq/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"SigmaMind AI\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0F172A\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.sigmamind.ai/api-reference/integration-tools/create-tool\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/integration-tools/create-tool.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.sigmamind.ai/#organization\",\"name\":\"SigmaMind AI\",\"url\":\"https://docs.sigmamind.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/sigmamindai/vxjJeTe45csRRZLq/logo/light.svg?fit=max\u0026auto=format\u0026n=vxjJeTe45csRRZLq\u0026q=85\u0026s=bc51a1190d0d56521defbdc28b2a0798\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.sigmamind.ai#website\",\"name\":\"SigmaMind AI\",\"url\":\"https://docs.sigmamind.ai\",\"publisher\":{\"@id\":\"https://docs.sigmamind.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.sigmamind.ai/api-reference/integration-tools/create-tool#webpage\",\"url\":\"https://docs.sigmamind.ai/api-reference/integration-tools/create-tool\",\"name\":\"Create Tool\",\"description\":\"Creates a new API tool under the specified integration. Define the HTTP endpoint, method, and parameter schema the agent will use when invoking the tool. Returns the created tool including its toolId, which is required for subsequent get, update, delete, and execute calls.\",\"dateModified\":\"2026-05-06T15:50:10.712Z\",\"isPartOf\":{\"@id\":\"https://docs.sigmamind.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.sigmamind.ai/api-reference/integration-tools/create-tool#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.sigmamind.ai/api-reference/integration-tools/create-tool#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"SigmaMind AI\",\"item\":\"https://docs.sigmamind.ai\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Create Tool\",\"item\":\"https://docs.sigmamind.ai/api-reference/integration-tools/create-tool\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.sigmamind.ai/api-reference/integration-tools/create-tool#apireference\",\"headline\":\"Create Tool\",\"name\":\"Create Tool\",\"description\":\"Creates a new API tool under the specified integration. Define the HTTP endpoint, method, and parameter schema the agent will use when invoking the tool. Returns the created tool including its toolId, which is required for subsequent get, update, delete, and execute calls.\",\"url\":\"https://docs.sigmamind.ai/api-reference/integration-tools/create-tool\",\"mainEntityOfPage\":{\"@id\":\"https://docs.sigmamind.ai/api-reference/integration-tools/create-tool#webpage\"},\"dateModified\":\"2026-05-06T15:50:10.712Z\",\"publisher\":{\"@id\":\"https://docs.sigmamind.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.sigmamind.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"SigmaMind AI\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"SigmaMind AI","nav":{"global":{"anchors":[{"anchor":"Documentation","icon":"book-open-cover","href":"https://docs.sigmamind.ai"},{"anchor":"Discord Community","icon":"discord","href":"https://www.discord.com/invite/jSWGcw5Wyx"}]},"tabs":[{"tab":"Documentation","icon":"book","pages":[{"title":"Documentation","href":"/documentation/getting-started/introduction"}]},{"tab":"API Reference","icon":"code","groups":[{"group":"Calls","pages":[{"openapi":"post /v1/calls","title":"Create Phone Call","href":"/api-reference/calls/create-phone-call"},{"openapi":"get /v1/calls/{callId}","title":"Get Phone Call","href":"/api-reference/calls/get-phone-call"},{"openapi":"get /v1/calls","title":"List Phone Calls","href":"/api-reference/calls/list-phone-calls"},{"openapi":"delete /v1/calls/{callId}","title":"Delete Phone Call","href":"/api-reference/calls/delete-phone-call"}]},{"group":"Chats","pages":[{"openapi":"post /v1/chats","title":"Create Chat","href":"/api-reference/chats/create-a-chat"},{"openapi":"post /v1/chats/response","title":"Chat Completion","href":"/api-reference/chats/chat-completion"},{"openapi":"get /v1/chats/{chatId}","title":"Get Chat","href":"/api-reference/chats/get-chat"},{"openapi":"get /v1/chats","title":"List Chats","href":"/api-reference/chats/list-chats"},{"openapi":"patch /v1/chats/{chatId}","title":"Update Chat","href":"/api-reference/chats/update-chat"},{"openapi":"patch /v1/chats/{chatId}/end-session","title":"End Chat","href":"/api-reference/chats/end-chat"}]},{"group":"Phone Numbers","pages":[{"openapi":"post /v1/phone-numbers","title":"Create Phone Number","href":"/api-reference/phone-numbers/create-phone-number"},{"openapi":"post /v1/phone-numbers/import","title":"Import Phone Number","href":"/api-reference/phone-numbers/import-phone-number"},{"openapi":"get /v1/phone-numbers/{phoneNumber}","title":"Get Phone Number","href":"/api-reference/phone-numbers/get-phone-number"},{"openapi":"get /v1/phone-numbers","title":"List Phone Numbers","href":"/api-reference/phone-numbers/list-phone-numbers"},{"openapi":"patch /v1/phone-numbers/{phoneNumber}","title":"Update Phone Number","href":"/api-reference/phone-numbers/update-phone-number"},{"openapi":"delete /v1/phone-numbers/{phoneNumber}","title":"Delete Phone Number","href":"/api-reference/phone-numbers/delete-phone-number"}]},{"group":"Single Prompt Agents","pages":[{"openapi":"post /v1/agents","title":"Create Agent","href":"/api-reference/single-prompt-agents/create-agent"},{"openapi":"get /v1/agents/{agentId}","title":"Get Agent","href":"/api-reference/single-prompt-agents/get-agent"},{"openapi":"get /v1/agents","title":"List Agents","href":"/api-reference/single-prompt-agents/list-single-prompt-agents"},{"openapi":"patch /v1/agents/{agentId}","title":"Update Agent","href":"/api-reference/single-prompt-agents/update-agent"},{"openapi":"delete /v1/agents/{agentId}","title":"Delete Agent","href":"/api-reference/single-prompt-agents/delete-agent"}]},{"group":"Conversational Agents","pages":[{"openapi":"post /v1/conversational-agents","title":"Create conversational Agent","href":"/api-reference/conversational-agents/create-conversational-agent"},{"openapi":"get /v1/conversational-agents/{agentId}","title":"Get conversational Agent","href":"/api-reference/conversational-agents/get-conversational-agent"},{"openapi":"patch /v1/conversational-agents/{agentId}","title":"Update conversational Agent","href":"/api-reference/conversational-agents/update-conversational-agent"}]},{"group":"Campaigns","pages":[{"openapi":"post /v1/campaigns","title":"Create Campaign","href":"/api-reference/campaigns/create-campaign"},{"openapi":"get /v1/campaigns/{campaignId}","title":"Get Campaign","href":"/api-reference/campaigns/get-campaign"},{"openapi":"get /v1/campaigns","title":"List Campaigns","href":"/api-reference/campaigns/list-campaigns"},{"openapi":"patch /v1/campaigns/{campaignId}","title":"Update Campaign","href":"/api-reference/campaigns/update-campaign"},{"openapi":"delete /v1/campaigns/{campaignId}","title":"Delete Campaign","href":"/api-reference/campaigns/delete-campaign"}]},{"group":"Integrations","pages":[{"openapi":"post /v1/integrations","title":"Create Integration","href":"/api-reference/integrations/create-integration"},{"openapi":"get /v1/integrations/{integrationId}","title":"Get Integration","href":"/api-reference/integrations/get-integration"},{"openapi":"get /v1/integrations","title":"List Integrations","href":"/api-reference/integrations/list-integrations"},{"openapi":"patch /v1/integrations/{integrationId}","title":"Update Integration","href":"/api-reference/integrations/update-integration"},{"openapi":"delete /v1/integrations/{integrationId}","title":"Delete Integration","href":"/api-reference/integrations/delete-integration"}]},{"group":"Integration Auth","pages":[{"openapi":"post /v1/integrations/{integrationId}/auth","title":"Create Integration Auth","href":"/api-reference/integration-auth/create-integration-auth"},{"openapi":"get /v1/integrations/{integrationId}/auth/{authId}","title":"Get Integration Auth","href":"/api-reference/integration-auth/get-integration-auth"},{"openapi":"get /v1/integrations/{integrationId}/auth","title":"List Integration Auth","href":"/api-reference/integration-auth/list-integration-auth"},{"openapi":"patch /v1/integrations/{integrationId}/auth/{authId}","title":"Update Integration Auth","href":"/api-reference/integration-auth/update-integration-auth"},{"openapi":"delete /v1/integrations/{integrationId}/auth/{authId}","title":"Delete Integration Auth","description":"Permanently deletes an auth record by authId. Cannot be undone — any tools referencing this auth record will lose the ability to authenticate. Returns 204 No Content on success.","href":"/api-reference/integration-auth/delete-integration-auth"}]},{"group":"Integration Tools","pages":[{"openapi":"post /v1/integrations/{integrationId}/tools","title":"Create Tool","href":"/api-reference/integration-tools/create-tool"},{"openapi":"post /v1/integrations/{integrationId}/tools/{toolId}/execute","title":"Execute Tool","description":"Executes a tool against its configured third-party API using the supplied placeholder values. Auth credentials are resolved automatically; specify authId to select specific credentials when multiple exist. Optionally set saveAsMock to persist the live request/response as a named mock, or useMockToolDataId to return a stored mock without calling the third-party API. Returns the response body, status code, and optional mockToolDataId.","href":"/api-reference/integration-tools/execute-tool"},{"openapi":"get /v1/integrations/{integrationId}/tools/{toolId}","title":"Get Tool","href":"/api-reference/integration-tools/get-tool"},{"openapi":"get /v1/integrations/{integrationId}/tools","title":"List Tools","href":"/api-reference/integration-tools/list-tools"},{"openapi":"patch /v1/integrations/{integrationId}/tools/{toolId}","title":"Update Tool","href":"/api-reference/integration-tools/update-tool"},{"openapi":"delete /v1/integrations/{integrationId}/tools/{toolId}","title":"Delete Tool","href":"/api-reference/integration-tools/delete-tool"}]},{"group":"Mock Tool Data","pages":[{"openapi":"post /v1/mock-tool-data","title":"Create Mock Tool Data","href":"/api-reference/mock-tool-data/create-mock-tool-data"},{"openapi":"get /v1/mock-tool-data/{mockToolDataId}","title":"Get Mock Tool Data","href":"/api-reference/mock-tool-data/get-mock-tool-data"},{"openapi":"get /v1/mock-tool-data","title":"List Mock Tool Data","href":"/api-reference/mock-tool-data/list-mock-tool-data"},{"openapi":"patch /v1/mock-tool-data/{mockToolDataId}","title":"Update Mock Tool Data","href":"/api-reference/mock-tool-data/update-mock-tool-data"},{"openapi":"delete /v1/mock-tool-data/{mockToolDataId}","title":"Delete Mock Tool Data","href":"/api-reference/mock-tool-data/delete-mock-tool-data"}]},{"group":"Test Cases","pages":[{"openapi":"post /v1/test-cases","title":"Create Test Case","href":"/api-reference/test-cases/create-test-case"},{"openapi":"get /v1/test-cases/{testCaseId}","title":"Get Test Case","href":"/api-reference/test-cases/get-test-case"},{"openapi":"get /v1/test-cases","title":"List Test Cases","href":"/api-reference/test-cases/list-test-cases"},{"openapi":"patch /v1/test-cases/{testCaseId}","title":"Update Test Case","href":"/api-reference/test-cases/update-test-case"},{"openapi":"delete /v1/test-cases/{testCaseId}","title":"Delete Test Case","href":"/api-reference/test-cases/delete-test-case"}]},{"group":"Batch","pages":[{"openapi":"post /v1/batch-runs","title":"Create Batch Run","href":"/api-reference/batch/create-batch-run"},{"openapi":"get /v1/batch-runs/{batchId}","title":"Get Batch Run","href":"/api-reference/batch/get-batch-run"},{"openapi":"get /v1/batch-runs","title":"List Batch Runs","href":"/api-reference/batch/list-batch-runs"}]},{"group":"Test Runs","pages":[{"openapi":"get /v1/test-runs/{jobId}","title":"Get Test Run","href":"/api-reference/test-runs/get-test-run"},{"openapi":"get /v1/test-runs","title":"List Test Runs","href":"/api-reference/test-runs/list-test-runs"}]},{"group":"Webhooks","pages":[{"openapi":"post /v1/webhooks","title":"Create Webhook","href":"/api-reference/webhooks/create-webhook"},{"openapi":"get /v1/webhooks/{webhookId}","title":"Get Webhook","href":"/api-reference/webhooks/get-webhook"},{"openapi":"get /v1/webhooks","title":"List Webhooks","href":"/api-reference/webhooks/list-webhooks"},{"openapi":"delete /v1/webhooks/{webhookId}","title":"Delete Webhook","href":"/api-reference/webhooks/delete-webhook"}]},{"group":"QA Rules","pages":[{"openapi":"post /v1/qa-rules","title":"Create QA Rule","href":"/api-reference/qa-rules/create-qa-rule"},{"openapi":"get /v1/qa-rules/{qaRuleId}","title":"Get QA Rule","href":"/api-reference/qa-rules/get-qa-rule"},{"openapi":"get /v1/qa-rules","title":"List QA Rules","href":"/api-reference/qa-rules/list-qa-rules"},{"openapi":"patch /v1/qa-rules/{qaRuleId}","title":"Update QA Rule","href":"/api-reference/qa-rules/update-qa-rule"},{"openapi":"delete /v1/qa-rules/{qaRuleId}","title":"Delete QA Rule","href":"/api-reference/qa-rules/delete-qa-rule"}]},{"group":"QA Issues","pages":[{"openapi":"get /v1/qa-issues/{qaIssueId}","title":"Get QA Issue","href":"/api-reference/qa-issues/get-qa-issue"},{"openapi":"get /v1/qa-issues","title":"List QA Issues","href":"/api-reference/qa-issues/list-qa-issues"}]},{"group":"Knowledge bases","pages":[{"openapi":"post /v1/knowledge-bases","title":"Create knowledge base","href":"/api-reference/knowledge-bases/create-knowledge-base"},{"openapi":"get /v1/knowledge-bases/{kbId}","title":"Get knowledge base","href":"/api-reference/knowledge-bases/get-knowledge-base-by-kbid"},{"openapi":"get /v1/knowledge-bases","title":"List knowledge bases","href":"/api-reference/knowledge-bases/list-knowledge-bases"},{"openapi":"patch /v1/knowledge-bases/{kbId}","title":"Update knowledge base","href":"/api-reference/knowledge-bases/update-knowledge-base"},{"openapi":"delete /v1/knowledge-bases/{kbId}","title":"Delete knowledge base","href":"/api-reference/knowledge-bases/delete-knowledge-base"},{"openapi":"delete /v1/knowledge-bases/{kbId}/documents/{documentId}","title":"Delete document","href":"/api-reference/knowledge-bases/delete-one-document-from-a-knowledge-base"}]}]},{"tab":"MCP","icon":"code-branch","pages":[{"title":"MCP","href":"/mcp/server"}]},{"tab":"Tutorials","icon":"video","hidden":true,"pages":[{"title":"Tutorials","href":"/tutorials/agents/overview"}]}]},"title":"Create Tool - SigmaMind AI","buildId":"dpl_2xiSHD9XEvLsPGPcfoMtkLTB3dy9","deploymentId":"dpl_2xiSHD9XEvLsPGPcfoMtkLTB3dy9","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-DmVyH30O.js","utils-BHQqGGOd.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-CD-E4BIt.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-Bp5Lq9Ds.js","snippetPresets-C4xAVCFP.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-CgXVLxUC.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BF8I5oUf.js","shallow-Byd0lWnC.js","getApiPlaygroundDisplay-BGOZG1OK.js","CodeSnippet-CpvQL0CY.js","CodeSnippets-B8wkBKXa.js","Page-CBCH2P7b.js","getPastedJson-Ry3scI3Y.js","icon-D7a9HcdD.js","MethodPill-CJ8pmHhz.js","DuplicateIcon-rh1HJF0t.js","createIcon-DvGznqYs.js","DynamicMarkdown-Cc6AuSHS.js","SectionHeading-B4A0S-ep.js","axios-vUo_bRtp.js","Markdown-Cc16CX65.js","clsx-Cs6nMGht.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-zbf22OZA.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-C_fs-y5n.js"]}