Attach tool to agent
curl --request POST \
--url https://prod-platform-core-api.20x.business/api/v1/tools/agents/{brainId}/bindings \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"tool_id": "<string>"
}
'import requests
url = "https://prod-platform-core-api.20x.business/api/v1/tools/agents/{brainId}/bindings"
payload = { "tool_id": "<string>" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({tool_id: '<string>'})
};
fetch('https://prod-platform-core-api.20x.business/api/v1/tools/agents/{brainId}/bindings', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));Agents
Attach tool to agent
Attach a callable function (e.g. appointment booking, custom webhooks) to an AI agent brain
POST
/
tools
/
agents
/
{brainId}
/
bindings
Attach tool to agent
curl --request POST \
--url https://prod-platform-core-api.20x.business/api/v1/tools/agents/{brainId}/bindings \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"tool_id": "<string>"
}
'import requests
url = "https://prod-platform-core-api.20x.business/api/v1/tools/agents/{brainId}/bindings"
payload = { "tool_id": "<string>" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({tool_id: '<string>'})
};
fetch('https://prod-platform-core-api.20x.business/api/v1/tools/agents/{brainId}/bindings', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));Attaches an executable tool or custom function to an agent brain. When the conversation reaches a point where this action is needed, the LLM calls this tool with structured arguments.
Path parameters
string
required
UUID of the AI agent brain (retrieved from
created.agent_id or created.brain.id when creating an agent)Body parameters
string
required
UUID of the tool from the catalog (see List tools)
object
Default or fixed parameters supplied to the tool execution (e.g.
{ "duration_minutes": 30 })boolean
default:"true"
Whether this tool binding is currently active and callable by the agent
curl -X POST https://prod-comms-engine-api.20x.business/api/v1/tools/agents/BRAIN_ID/bindings \
-H "Authorization: Bearer $AGENTIC_OS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"tool_id": "TOOL_UUID",
"static_params": {
"notes": "Booked via AI Assistant",
"duration_minutes": 30
},
"is_active": true
}'
import os, requests
resp = requests.post(
"https://prod-comms-engine-api.20x.business/api/v1/tools/agents/BRAIN_ID/bindings",
headers={
"Authorization": f"Bearer {os.environ['AGENTIC_OS_API_KEY']}",
"Content-Type": "application/json",
},
json={
"tool_id": "TOOL_UUID",
"static_params": {
"notes": "Booked via AI Assistant",
"duration_minutes": 30,
},
"is_active": True,
},
)
print(resp.json())
await fetch("https://prod-comms-engine-api.20x.business/api/v1/tools/agents/BRAIN_ID/bindings", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.AGENTIC_OS_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
tool_id: "TOOL_UUID",
static_params: {
notes: "Booked via AI Assistant",
duration_minutes: 30,
},
is_active: true,
}),
});
Response
{
"id": "binding_123456",
"tool_id": "tool_abc123",
"agent_id": "brain_xyz789",
"is_active": true,
"static_params": {
"duration_minutes": 30
}
}

