Docs
GuidesAPI referenceWebhooksWeb widget

Tools

Tools

Let your AI get things done. Check availability, book appointments, send texts and use your business systems during a call.

#How a tool call works

  1. Each tool has a name, a description and parameters. The model sees them on every turn.
  2. When the conversation needs it, the model calls the tool and fills in the parameters from what the caller said.
  3. BluePenguin runs the tool. If it takes a moment, the assistant can say a start message such as "One moment while I check".
  4. The result goes back to the model, which answers the caller from it.

Every tool call is logged on the call page with its arguments, result and timing.

#Built-in and custom tools

Custom tools

KindWhat it doesGuide
API requestA templated HTTP request to any public API.API request
CodeJavaScript or TypeScript in an isolated sandbox.Code
Server functionA signed POST to your server, which answers with the result.Server function
TransferPuts the caller through to one of several numbers or extensions.Transfer
TextTexts the caller or a fixed number a templated message.Text
HandoffPasses the live call to another of your assistants.Handoff
MCP serverEvery tool offered by a remote MCP server.MCP

Custom tools, code and workflows are included in Pro. Tool names use letters, numbers and underscores, and can't reuse a built-in tool's name.

#Parameters

Each parameter has a name, a type (string, number, integer, boolean, array or object), a description, whether it is required, and optionally a list of allowed values. Good descriptions matter more than anything else: the model reads them to decide what to fill in.

Parameters
[
  { "name": "order_number", "type": "string", "required": true,
    "description": "The order number, usually 4 digits, e.g. 1042" },
  { "name": "reason", "type": "string", "enum": ["late", "damaged", "wrong item"],
    "description": "Why the caller is asking about the order" }
]

#Messages

starttext
Said while the tool runs. Leave it empty to let the model decide.
failedtext
Said if the tool fails. Leave it empty to let the model explain in its own words.

#Secrets

API keys and tokens go in secret headers or, for code tools, environment variables. They are stored encrypted, masked when read back, and never shown to the model.

#Test a tool

The tool page has a test panel. Fill in example arguments and run the tool exactly as a call would, then check the result, the logs and the timing before switching it on.