Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.blackbox.dasha.ai/llms.txt

Use this file to discover all available pages before exploring further.

When your agent needs information or must perform an action, it calls a tool. You define the tool with JSON Schema, point it at your webhook, and the LLM decides when to use it.

Defining a tool

Tools are defined using JSON Schema with a name, description, parameters, and webhook URL. The description is critical — it tells the LLM WHEN to use the tool. Be specific.
{
  "name": "checkOrderStatus",
  "description": "Look up order status by order number. Use when customer asks about their order, shipping, or delivery.",
  "parameters": {
    "type": "object",
    "properties": {
      "orderNumber": {
        "type": "string",
        "description": "The order number like ORD-12345"
      }
    },
    "required": ["orderNumber"]
  },
  "webhookUrl": "https://api.yourcompany.com/webhooks/order-status"
}

How tools work

When your agent needs to use a tool, it calls your webhook with the parameters. The agent takes the result and speaks it naturally — it won’t read your response word-for-word.
{
  "type": "ToolWebHookPayload",
  "status": "Running",
  "callId": "call_abc123",
  "agentId": "agent_xyz789",
  "orgId": "org_123",
  "toolName": "checkOrderStatus",
  "arguments": {
    "orderNumber": "ORD-12345"
  },
  "callAdditionalData": {},
  "agentAdditionalData": {}
}
{
  "status": "shipped",
  "orderNumber": "ORD-12345",
  "shippedDate": "2025-01-15",
  "carrier": "FedEx",
  "trackingNumber": "789123456789",
  "estimatedDelivery": "2025-01-18"
}

Built-in tools

Some tools are built in and don’t need webhooks:
ToolWhat it does
transferCallHand off to a human or another number
endConversationEnd the call gracefully

What’s next

Webhooks

Get notified when things happen

Tools & Functions

Complete tools guide

MCP Connections

Connect external tool servers

Call Transfers

Route calls to humans