Skip to main content
Tools let agents read context and take action. A tool might search a connected app, update a ticket, call a customer API, send a message, or modify Duckie configuration through MCP. Use this guide when enabling tools for an agent or assistant.

Choose The Right Tool Boundary

Duckie supports four tool categories:
Tool typeUse for
Duckie ToolsBuilt-in Duckie actions such as responding, escalating, and searching Duckie-managed context
App ToolsActions in connected apps such as Zendesk, Slack, Linear, Jira, HubSpot, and others
Custom ToolsHTTP API calls to endpoints you define
MCP ServersTools exposed by external MCP servers
Pick the narrowest tool boundary that fits the workflow. Prefer a specific update tool over a broad generic API caller when the action is repetitive and high impact.

Control Which Agents Can Use Tools

App tools and custom tools become usable only after they are connected or created and enabled for the agent or assistant that should use them. For each agent:
  1. Open the agent’s tool access settings.
  2. Enable only the tools needed for that support role.
  3. Keep write tools separate from lookup tools.
  4. Test the agent with the exact tool-enabled workflow.
This lets one agent investigate while another agent can update external systems only after additional controls are in place.

Connect App Tools Deliberately

Connected apps inherit the access of the external account, token, workspace, repository, project, channel, or knowledge source you connect. Before connecting an app:
  • Decide which external workspace or account Duckie should access.
  • Use provider-side permissions to limit access where possible.
  • Enable only the app tools the agent needs.
  • Review runs after launch to confirm expected tool use.
Manage connected apps in Settings -> Connections.

Design Custom Tools Safely

Custom tools call HTTP endpoints that you define. Use them for internal services, third-party APIs, or API actions that are not covered by connected integrations. For safe custom tool design:
PatternWhy it helps
Use literal endpoint hostsDuckie can validate the request destination before variables are resolved
Keep tools narrowThe agent has fewer ways to cause unintended side effects
Use fixed valuesConstants, tenant IDs, and record selectors do not need to be generated by the agent
Use context variablesCurrent run metadata can supply customer, account, ticket, or requester values
Use org variablesOrganization-specific API keys, regions, and defaults can be injected from configuration
Mark write actionsTesting and approval behavior can distinguish reads from side effects
Require approvalSensitive actions pause for human review before execution
Custom tool endpoint URLs must use http or https. Duckie blocks local, private, and internal network addresses before making server-side requests. For custom tool execution, Duckie validates the configured URL, resolves variables and parameters, and validates the final URL before the HTTP call. See Custom Tools.

Handle Credentials Carefully

Use the credential mechanism that matches the external API:
Credential typeRecommended use
OAuth 2.0 client credentialsAPIs that issue access tokens from a client ID and client secret
Manual headers with org variablesStatic API keys or bearer tokens
No authenticationPublic endpoints or endpoints protected by request parameters alone
For static secrets, prefer org variables over AI-generated parameters. Sensitive org variables are encrypted at rest and masked in Duckie API responses. OAuth token URLs must use HTTPS, cannot contain org variables, and are validated before use.

Mark Write Actions

Use Write Action for tools that change external state, such as updating an account, issuing a refund, creating a ticket, sending a message, closing a conversation, or changing a record. Marking write actions makes the tool’s impact explicit and supports safer testing and review. Batch test runs execute in testing mode and skip write app tools, custom tools, and MCP tools. See Deployment Modes and Batch Testing.

Require Approval For Sensitive Side Effects

Use Requires Approval when a human should approve the tool call before it runs. Require approval for actions such as:
  • Billing changes, refunds, or credits.
  • Plan, entitlement, or ownership changes.
  • Security setting changes.
  • Customer-visible messages in sensitive workflows.
  • Destructive or hard-to-reverse external updates.
  • MCP write actions that modify Duckie configuration.
When approval is enabled, the run pauses before execution and resumes after the action is approved or rejected.

Use Workflows For High-Risk Paths

Use workflows when an action must follow a consistent verification path. A high-risk tool workflow should usually:
  1. Look up the current requester, ticket, customer, or account.
  2. Extract the requested target or requested change.
  3. Compare the requested target to verified context.
  4. Continue only on the approved branch.
  5. Require approval when the action is sensitive.
  6. Escalate or send a safe response when verification fails.
For customer/account updates, follow Account-Safe Actions.

Tool Security Checklist

AreaCheck
Tool accessThe agent has only the tools needed for its role
External accountConnected app permissions are limited at the provider where possible
Custom endpointThe endpoint host is literal and expected
Record selectorCustomer, account, ticket, or record IDs come from context, fixed values, or verified workflow output
CredentialsSecrets are stored in org variables or OAuth credentials, not generated by the agent
Write actionTools that change external state are marked as write actions
ApprovalSensitive side effects require human approval
TestingMisuse cases are tested before production
ReviewRun history shows expected tool inputs, outputs, and outcomes

Custom Tools

Define HTTP tools, variables, authentication, write actions, and approvals.

App Tools

Use tools from connected apps and Duckie-provided app platforms.

MCP Servers

Connect external MCP servers and expose their tools.

Account-Safe Actions

Keep support actions attached to the right customer or account.