What are Webhooks in AMS?
Webhooks allow you to be notified when changes are made to parts of the Mindset AI system—without needing to repeatedly check by calling an API. You can use webhooks to:- Be notified of changes made by users to the agent configuration
- Monitor the processing status of files you send to the ContextFiles API for ingestion
- Track when contexts are created, updated, or deleted
- Receive notifications when agents are modified
Accessing Webhooks in AMS
Navigation
Webhook Dashboard
Overview Section
At the top of the Webhooks tab, you’ll see:Webhook Counter
Shows how many webhooks you’ve configured (e.g., “3 of 50 Webhooks”)
Help Link
Opens documentation for webhook integration
New Webhook Button
Create a new webhook (disabled if you’ve reached the 50 webhook limit)
Webhook List
The main area displays all your configured webhooks with:- Search Bar: Find webhooks by name
- Filter Dropdown: View all webhooks, only active ones, or only inactive ones
- Webhook Cards: Each card shows webhook details (see below)
Understanding Webhook Cards
Each webhook is displayed as a card with the following information:- Basic Information
- Entity Badges
- Actions
- Icon: Building blocks icon identifying the webhook
- Webhook Name: The descriptive name you assigned
- Endpoint URL: The HTTPS endpoint that receives notifications
- Status Badge:
- Active (green): Webhook is currently sending notifications
- Inactive (gray): Webhook is paused
Creating a New Webhook
Step 1: Open the Dialog
Click the New Webhook button at the top of the webhook list.Step 2: Fill in the Details
Webhook Name (Optional)
Webhook Name (Optional)
Purpose: A descriptive label for this webhookCharacter Limit: 0-50 charactersExamples:
- “Production Event Sync”
- “Staging Notifications”
While the name field is optional in the AMS UI, providing a name is recommended. If you create a webhook without a name using the API, you won’t be able to edit it in AMS without also giving it a name.
Endpoint URL (Required)
Endpoint URL (Required)
Purpose: The HTTPS endpoint that will receive webhook notificationsCharacter Limit: 0-500 charactersFormat: Must be a valid HTTP or HTTPS URLExample:
https://your-platform.com/webhooks/mindsetValidation:- Must start with
http://orhttps:// - Must have a valid domain name
- No special protocols (
javascript:,data:,file:) allowed
Entity Types (Optional)
Entity Types (Optional)
Select which resource types trigger this webhook:
- ☐ Agents: Notified when agents are created, updated, or deleted
- ☐ Contexts: Notified when contexts are created, updated, or deleted
- ☐ Context Files: Notified when files are created, updated, or deleted
Activate Webhook (Optional)
Activate Webhook (Optional)
Toggle Switch: Enable or disable the webhook
- Active: Webhook will send notifications immediately
- Inactive: Webhook is saved but won’t send notifications
Step 3: Save
- Click the Save button
- A success message appears: “Webhook created successfully”
- The new webhook appears in your list
Step 4: Copy Your Secret
The secret format looks like:
whsec_A1b2C3d4E5f6G7h8I9j0K1l2M3n4O5p6
Editing an Existing Webhook
To Edit a Webhook:
Modify Settings
Change any of the following:
- Webhook name
- Endpoint URL
- Entity types
- Active/Inactive status
You cannot change the webhook secret. The secret is auto-generated and permanent for each webhook.
Real-Time Validation
As you type, the form validates your input:Name Field
Shows character counter (e.g., “25/50”)
URL Field
Shows error if invalid or empty
Save Button
Only enabled when all required fields are valid
Character Counters
Show remaining characters in real-time
Managing Webhooks
Activate/Deactivate
- To Pause a Webhook
- To Resume a Webhook
- Click the ⋮ menu on the webhook card
- Select Deactivate
- Webhook status changes to “Inactive” (gray badge)
- No notifications will be sent
Delete a Webhook
Confirm Deletion
A confirmation dialog appears:
- Title: “Delete “webhook-name”?”
- Message: “The Webhook will be permanently deleted. This action cannot be undone.”
Copy Webhook Secret
To copy the secret at any time:- Find the webhook in the list
- Click the Copy secret button (pink button on the right)
- Success message appears: “Webhook secret copied successfully”
- Paste the secret into your code or secrets manager
Filtering and Searching
Search Webhooks
Use the search bar to find webhooks by name:
If no results found:
- Zero-state message appears: “No Webhooks Match Your Search”
- Suggestion: “Try again with a different search term”
Filter by Status
Use the dropdown menu to filter webhooks:Show All
Display all webhooks (default)
Active
Show only active webhooks
Inactive
Show only inactive webhooks
Understanding Webhook Limits
Current Limits
Maximum Webhooks
50 webhooks per applicationWebhook counter shows “X of 50 Webhooks” at the top
When Limit is Reached
- The New Webhook button becomes disabled (gray)
- You must delete an existing webhook before creating a new one
Zero States (Empty States)
- No Webhooks Configured
- No Search Results
When you haven’t created any webhooks yet, you’ll see:
- Icon: Webhook illustration
- Title: “No Webhooks Configured”
- Description: “Configure webhooks to receive real-time event notifications.”
What Happens After Creating a Webhook?
1. Webhook Registration
When you click Save, AMS:2. Webhook Notifications
Once active, your webhook will receive HTTP POST requests when events occur:Events Monitored
Events Monitored
- Agent created, updated, deleted
- Context created, updated, deleted
- Context file created, updated, deleted
Notification Timing
Notification Timing
Events are delivered within 5 seconds of the change
What You Receive
What You Receive
- HTTP POST request to your endpoint URL
- JSON payload with event details
- Signature header for verification
3. Testing Your Webhook
After creating a webhook:Best Practices
Naming Webhooks
- ✅ Good Names
- ❌ Poor Names
- “Production Event Sync”
- “Staging Notifications”
- “Analytics Dashboard Updates”
- “Audit Log Integration”
Entity Selection
- ✅ Do
- ❌ Don't
- Select only the entities you need
- Reduces unnecessary traffic
- Easier to process specific events
Security
- ✅ Do
- ❌ Don't
- Copy and save the webhook secret immediately
- Store secrets in environment variables or secrets manager
- Use HTTPS endpoints in production
- Verify signatures in your code (see API guide)
Common Questions
Can I change the webhook secret?
Can I change the webhook secret?
No. The secret is auto-generated and permanent for each webhook. If you need a new secret, delete the webhook and create a new one.
What if I lose my webhook secret?
What if I lose my webhook secret?
You can retrieve it from the Agent Management Studio UI by clicking the Copy secret button on the webhook card.
Can I have multiple webhooks with the same URL?
Can I have multiple webhooks with the same URL?
Yes, but it’s not recommended. Instead:
- Use one webhook per endpoint
- Filter events in your code based on event type or tenant ID
What happens if my endpoint is down?
What happens if my endpoint is down?
Currently, webhooks use “fire-and-forget” delivery:
- If your endpoint doesn’t respond, the event is lost
- No automatic retries
- Implement your own monitoring to detect missing webhooks
How do I test webhooks without affecting production?
How do I test webhooks without affecting production?
- Create a separate webhook for testing
- Use a different endpoint URL (e.g., staging environment)
- Mark it clearly in the name (e.g., “Staging Test Webhook”)
- Deactivate when not testing
Troubleshooting
Save Button is Disabled
Check:Webhook name is under 50 characters (if provided)
URL is valid (starts with http:// or https://)
URL has a valid domain
URL is under 500 characters
Cannot Create New Webhook
Check:You have fewer than 50 webhooks
If at limit, delete an unused webhook first
Validation Errors
URL Field Errors
URL Field Errors
- “This field can’t be empty” → Enter a URL
- “Please enter a valid URL” → Check URL format (must include
http://orhttps://)
Character Counter Shows Red
Character Counter Shows Red
- Name: You’ve exceeded 50 characters → Shorten the name
- URL: You’ve exceeded 500 characters → Use a shorter URL
Summary Checklist
When creating a webhook, make sure to:Give it a descriptive name
Use an HTTPS URL in production
Select the appropriate entity types
Copy and securely store the webhook secret
Test the webhook with a sample event
Verify signature verification works in your code
Monitor webhook delivery in your logs