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.
Set up a webhook
- Navigate to Settings > Agent Builder 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.
Trigger a webhook
- Open your agent in the Agent Builder 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.
Webhook payload
The webhook payload is a JSON object with the following fields:| Field | Description |
|---|---|
action | The name of the webhook. |
input | Values from custom form fields (empty object if no custom fields). |
publisher | User ID and email of the person triggering the webhook. |
agent | Agent name and description. |
tool_auth_requirements | Authentication requirements for each tool the agent uses. |
files | Base64-encoded ZIP containing all agent files. |
fields | Custom input fields. |
Tool auth requirements
Thetool_auth_requirements array describes authentication needed for each tool:
| Auth Type | Fields | Description |
|---|---|---|
none | - | Tool requires no authentication |
api_key | required_env_vars | Tool needs API key(s) in environment variables |
oauth | auth_provider, scopes | Tool requires OAuth tokens with specified scopes |
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:| Type | Description |
|---|---|
string | Single-line text input (default). |
number | Numeric input. |
boolean | Checkbox (true/false). |
textarea | Multi-line text input. |
json | JSON editor. |
select | Dropdown with predefined options. |