custom-tools

Create, test, and assign Frontline custom API-call tools from the CLI.

Updated Jul 27, 2026
One-click install
npx skills add https://github.com/api-evangelist/frontline --skill custom-tools-api-evangelist
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: custom-tools
Source: https://github.com/api-evangelist/frontline/tree/main/skills/vendor/custom-tools
Command: npx skills add https://github.com/api-evangelist/frontline --skill custom-tools-api-evangelist

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Managing user-created HTTP/API-call tools for Frontline agents requires repetitive manual work in the app UI; this Skill lets you create, inspect, update, test, and assign custom tools entirely from the command line. ## Core Features & Use Cases - Full lifecycle management: List, describe, create, update, and soft-delete custom tools with arguments, headers, query params, and request bodies. - Live testing before deployment: Execute a saved tool against its real endpoint with --values and inspect the raw HTTP response (status, duration, headers, parsed data). - Agent assignment: Attach custom tools to agents via customToolIds in agent settings, with merge-safe update patterns using jq. - Use Case: You need an agent to fetch CRM contacts. Create a GET tool with a {contactId} path argument and an Authorization header, test it with a real ID, then assign it to the agent — all without opening the app UI. ## Quick Start Create a Frontline custom tool that fetches a CRM contact by ID and test it with a sample contact ID before assigning it to my agent.

Frequently Asked Questions about custom-tools

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create a custom API tool for a Frontline agent?▼

Run frontline custom-tools create with --name, --method, --url, and optional --arguments, --headers, --query-params, and --body flags. Declare arguments as JSON arrays with name, description, and dataType, then reference them with single braces like {contactId}.

How do I test a custom tool before assigning it to an agent?▼

Use frontline custom-tools test <toolId> with an optional --values JSON object mapping argument names to values. It executes the tool against its live endpoint and returns the response status, duration, headers, and parsed data.

Why is my custom tool variable not interpolating in the request?▼

The interpolation engine only matches single curly braces like {contactId}. Double braces {{contactId}} do not interpolate and leave a broken placeholder in the request, including inside the --body payload.

What data types are supported for custom tool arguments?▼

Arguments support STRING, NUMBER, and BOOLEAN data types. Use NUMBER for all numeric values including decimals; avoid DECIMAL because the app UI's Format dropdown cannot display it and shows a blank value.

How do I assign custom tools to an agent without losing existing settings?▼

Use frontline agents agent-setting update with a --data payload containing customToolIds. The CLI merges your patch with current settings, but when building payloads manually you must include the full instructions text, aiModelId, and temperature.

What are the limitations of the Frontline custom tools CLI?▼

The public surface supports only API_CALL custom tools; WhatsApp template tools are not exposed. Creating, updating, deleting, and executing tools requires a USER API key, and only API_CALL tools can be executed via the test command.