Voice and hosted platforms
Check each tool call a hosted agent makes before it runs, and record its finished calls, by pointing the platform's tool URL at AgentFox.
| Platform | What is checked | Where the URL goes |
|---|---|---|
| Vapi | Each tool call; the end-of-call report is recorded | The tool's (or assistant's) Server URL, with a Bearer credential |
| Retell | Each custom function call, after its signature is verified; finished calls are recorded | The custom function's URL, and the agent's webhook URL |
| Copilot Studio | Each planned tool call, after the Entra token is verified | External threat detection, in the Power Platform admin center |
| AWS AgentCore Gateway | Each MCP tools/call | A Lambda REQUEST interceptor (below) |
An allowed call goes on to your own tool server unchanged. A refused one never reaches it: the agent says the action was not done, or that it was sent for approval. Once a person approves, the same call runs when the agent tries it again.
Vapi, Retell and Copilot Studio
Create a connection
Give the platform and, for Vapi and Retell, your tool server's URL. Retell also needs your Retell API key as
secret; Copilot Studio needsconfigwith the Entratenant_idandapp_id.bash curl -s -X POST "$AGENTFOX_URL/api/agents/support-voice/platform-connections" \ -H "Authorization: Bearer $AGENTFOX_API_KEY" -H 'Content-Type: application/json' \ -d '{"platform": "vapi", "upstream_url": "https://tools.example.com/vapi"}'The answer has a
hook_url. For Vapi it also has asecret, shown once.Paste the URL into the platform
- Vapi: set the tool's Server URL to
hook_url, with a Bearer credential holding the secret. Finished calls arrive at the same URL. - Retell: set the custom function's URL to
hook_url, and the agent's webhook URL tohook_urlfollowed by/webhook. - Copilot Studio: enter
hook_urlas the threat detection endpoint. Also set the option to block the query when the endpoint errors; Microsoft lets it through by default.
- Vapi: set the tool's Server URL to
Make a call and look at Traces
Each tool call shows on the agent's Activity tab and on Traces. A finished call is recorded as one run with its turns, personal data and secrets masked.
GET the same path to list an agent's connections, and DELETE …/platform-connections/{id} to switch one off: its URL then answers 404. Fields are in the HTTP API reference.
AWS AgentCore Gateway
A Lambda you deploy with SAM sends each MCP tool call to AgentFox before the gateway passes it to a target. Issue the agent a key, store it in Secrets Manager, deploy the function, and attach it as the gateway's REQUEST interceptor. If AgentFox cannot be reached in time, the call is refused unless you set FailMode=open. Steps are in the interceptor README.
Find hosted agents in exported files
If your repository keeps a platform's exported agent files, agentfox init and agentfox scan list those agents and their tools, without calling the platform: Vapi, Retell, ElevenLabs, n8n, Dify, Flowise, Langflow, Voiceflow, Dialogflow, Copilot Studio, Agentforce and Amazon Bedrock. An agent that lives only in the vendor's console leaves nothing to read. See Map your agents.
Limits
- Numbers spoken as words ("four one one one") are not masked in recorded calls.
- Self-hosted, storing a connection's secret needs
AGENTFOX_TOKEN_ENCRYPTION_KEY; without it the API answers 503.