The shape a tool takes in the AgentRow builder API. Credentials are stored on the tool's auth settings, not in its configuration, so they never reach a prompt. Placeholders in double braces are filled by the model from the input schema.
{
"name": "send_email",
"type": "http_api",
"description": "Send an email. Use only after the user approved the recipient, subject and body.",
"auth_type": "api_key",
"safety_level": "write_sensitive",
"requires_approval": true,
"config": {
"method": "POST",
"url": "https://api.example-mail.com/v1/messages",
"headers": { "Content-Type": "application/json" },
"body_template": { "to": "{{to}}", "subject": "{{subject}}", "text": "{{text}}" },
"allowed_domains": ["api.example-mail.com"]
},
"input_schema": {
"type": "object",
"properties": {
"to": { "type": "string", "description": "Recipient email address" },
"subject": { "type": "string" },
"text": { "type": "string", "description": "Plain-text body" }
},
"required": ["to", "subject", "text"]
}
}