Security notes:
- Webhook URLs must use HTTPS.
- Custom headers (e.g., API keys) are stored encrypted.
- Publisher identity is included for audit trails.
- Webhooks are only visible to agent owners.
Add a webhook
- Navigate to Settings > Fleet webhooks.
- Click Add webhook.
- Configure:
- Name: A descriptive name (e.g., “Publish Agent”, “Deploy to Production”).
- URL: Your HTTPS endpoint that will receive the webhook.
- Headers (optional): Custom headers for authentication (stored encrypted).
- Form Schema (optional): Define custom input fields users must fill when triggering.
- Click Save.
Trigger a webhook
- Open your agent in the Fleet editor.
- Click the Settings menu (gear icon).
- Under Webhooks, click the webhook name.
- Fill in any custom fields defined in the form schema.
- Click Run Webhook.
Edit a webhook
- Navigate to Settings > Fleet webhooks.
- For the webhook you want to edit, click Edit.
- Make your changes and click Save.
Delete a webhook
- Navigate to Settings > Fleet webhooks.
- For the webhook you want to delete, click Delete.
- To confirm the deletion, click Delete.
Webhook payload
The webhook payload is a JSON object with the following fields:
For example:
Tool auth requirements
Thetool_auth_requirements array describes authentication needed for each tool:
Use this information to configure your deployment environment with the necessary credentials.
ZIP file structure
Thefiles.content_base64 field contains a ZIP archive with the following structure:
config.json file and tools.json files are structured as follows:
- `config.json`
- `tools.json`
Custom input fields
You can define custom input fields to collect information when the webhook is triggered. Supported field types are as follows:
For example:
Example: Webhook server
The following is an example webhook server in Python:Connect these docs to Claude, VSCode, and more via MCP for real-time answers.

