Skip to main content
Give your agent the ability to take action. Tools let the LLM call external APIs, query databases, book appointments, and check order status — anything your webhook can handle. What you’ll learn: How to define tools with JSON Schema, configure webhooks, handle responses, and test tool execution.

Quick start: Add a tool

1

Navigate to Tools tab

When creating or editing an agent, select the Tools tab.
2

Add a new tool

Click Add Tool to create a new tool configuration.
3

Configure settings

  • Tool Name: Unique identifier (e.g., get_weather)
  • Description: What the tool does and when to use it
  • Schema: Define parameters using JSON Schema
  • Webhook URL: Your endpoint
  • Headers: Authentication and custom headers
4

Test your tool

Click Test Tool, enter sample arguments, and verify the response.
5

Save and enable

Save the agent and toggle Allow this agent to take calls.
When you configure tools, the LLM gains awareness of available functions and autonomously decides when to call them during conversation. Dasha BlackBox sends requests to your webhook, your webhook executes the function, and the LLM incorporates results into its response.Key capabilities: JSON Schema for tool definitions, call metadata (callId, agentId, orgId) in webhook requests, automatic retry with exponential backoff, and built-in testing.

Define a tool

Required fields

Optional fields


JSON Schema examples


Configure webhooks

When your tool is invoked, Dasha BlackBox sends a POST request:
Only headers configured in your tool definition are sent. The callAdditionalData, agentAdditionalData, serverJobId, and sip fields are optional.
Return a JSON response within the timeout period:Success (200 OK):
If your webhook returns an error, the fallBackResult is used (if configured).

Response best practices

  • Return structured data with clear field names
  • Include context for the LLM to formulate complete responses
  • Handle errors gracefully — return error objects instead of crashing
  • Be concise — avoid massive datasets, summarize when possible
  • Respond quickly — aim for sub-second responses

Test webhooks

Via dashboard

  1. Navigate to agent’s Tools tab
  2. Click Test Tool on any configured tool
  3. Enter sample arguments
  4. Review request/response in real-time

Tool webhooks vs event webhooks

See Webhook Events for event webhook details.

MCP tools

Dasha BlackBox integrates with Model Context Protocol (MCP) servers for pre-built tools without custom webhook development.

MCP vs custom webhooks

Use custom webhooks for full control or proprietary system integration. Use MCP connections for standard integrations like databases, calendars, or public APIs. See MCP Connections for setup instructions.

Common use cases


Best practices

Tool design

  • Keep tools focused — one tool, one purpose
  • Write clear descriptions — explain when the LLM should use the tool
  • Use strong typing — precise schemas with proper types, enums, formats
  • Provide defaults — sensible fallback results for error handling

Webhook implementation

Security:
  • Always use HTTPS endpoints
  • Implement authentication via headers
  • Validate incoming requests
  • Rate limit to prevent abuse
Performance:
  • Respond within timeout (aim for < 1 second)
  • Use async processing for slow operations
  • Implement caching where appropriate
Reliability:
  • Use idempotent operations when possible
  • Monitor webhook uptime
  • Set up alerting for failures

Troubleshooting

  • Improve the tool description to be more specific
  • Mention the tool in system prompt if critical
  • Test with explicit user requests that should trigger the tool
  • Check that the tool name is clear and descriptive
  • Optimize webhook processing time
  • Use async processing and return immediately
  • Configure appropriate fallBackResult
  • Review LLM-generated arguments in call logs
  • Simplify complex nested schemas
  • Add clear descriptions to all properties
  • Use enums to constrain values
  • Verify header configuration in tool setup
  • Check that API keys are valid and not expired
  • Ensure webhook URL is correct and accessible
  • Test webhook independently with curl/Postman

Next steps

MCP connections

Connect to MCP servers for pre-built tools

Webhook events

Configure call lifecycle notifications

Test webhooks

Validate webhook implementations

Dashboard testing

Test tools in real conversations