Webhooks
Webhooks allow you to receive real-time HTTP notifications when events occur in your Intufind system. Use them to integrate with external services, automate workflows, or build custom integrations.
Navigate to Intufind → Webhooks to configure.
Webhook Configuration
Global settings that apply to all webhook endpoints.
Screenshot: wp-webhooks-config.png
Enable Webhooks
Default: Off
Master toggle for webhook notifications. When enabled, configured endpoints will receive HTTP requests for selected events.
Global Secret
Default: Empty (optional)
A shared secret used to sign webhook payloads with HMAC-SHA256. Recipients can verify the signature to ensure requests are authentic.
Requirements:
- Minimum 8 characters
- Leave empty to disable signing
Verification: Include the X-Intufind-Signature header in your endpoint to verify authenticity.
Request Timeout
Default: 30 seconds Range: 5-300 seconds
Maximum time to wait for your endpoint to respond. If exceeded, the request is marked as failed.
Retry Attempts
Default: 3 attempts Range: 1-10 attempts
Number of times to retry failed webhook deliveries before giving up.
Retry Delay
Default: 5 seconds Range: 1-60 seconds
Delay between retry attempts.
Webhook Endpoints
Create and manage individual webhook endpoints that receive event notifications.
Screenshot: wp-webhooks-endpoints.png
Adding an Endpoint
-
Click Add Webhook Endpoint
-
Fill in the configuration:
- Endpoint Name: A descriptive name (e.g., "Zapier Integration")
- Description: Optional notes about this endpoint
- Webhook URL: The HTTPS URL that will receive POST requests
- HTTP Method: POST (default), PUT, or PATCH
- Secret: Optional endpoint-specific secret (overrides global secret)
- Events: Select which events trigger this webhook
- Status: Enable/disable the endpoint
-
Click Save Endpoint
Testing an Endpoint
Before relying on a webhook, test it:
- Find the endpoint in your list
- Click Test
- A test payload is sent to your endpoint
- Results show response code, time, and any errors
Endpoint Status
| Status | Description |
|---|---|
| Active | Receiving events normally |
| Inactive | Manually disabled |
| Suspended | Auto-suspended after repeated failures |
Suspended webhooks can be reactivated after fixing the underlying issue.
Delivery Statistics
Each endpoint shows:
- Total deliveries — All-time delivery attempts
- Success rate — Percentage of successful deliveries
- Last delivery — When the last event was sent
Available Events
Select which events trigger webhook notifications:
Product Events
| Event | Description |
|---|---|
product.created | New product created |
product.updated | Product updated |
product.deleted | Product deleted |
product.bulk_deleted | Multiple products deleted |
Post Events
| Event | Description |
|---|---|
post.created | New post/page created |
post.updated | Post/page updated |
post.deleted | Post/page deleted |
post.bulk_deleted | Multiple posts deleted |
Chat Events
| Event | Description |
|---|---|
chat.message.sent | AI assistant sent a message |
chat.message.received | User sent a message |
chat.conversation.started | New conversation began |
Prompt Events
| Event | Description |
|---|---|
prompt.created | Suggested prompt created |
prompt.updated | Prompt updated |
prompt.deleted | Prompt deleted |
prompt.bulk_deleted | Multiple prompts deleted |
Taxonomy Events
| Event | Description |
|---|---|
taxonomy.created | Taxonomy term created |
taxonomy.updated | Taxonomy term updated |
taxonomy.deleted | Taxonomy term deleted |
taxonomy.bulk_deleted | Multiple terms deleted |
Feedback Events
| Event | Description |
|---|---|
feedback.submitted | User submitted feedback |
feedback.deleted | Feedback deleted |
feedback.bulk_deleted | Multiple feedback deleted |
Recommendation Events
| Event | Description |
|---|---|
recommendation.generated | AI recommendations generated |
recommendation.requested | Recommendations requested |
Search Events
| Event | Description |
|---|---|
search.performed | Search query executed |
search.failed | Search failed |
Payload Format
Webhook payloads are JSON with this structure:
{
"event": "product.updated",
"timestamp": "2024-01-15T10:30:00Z",
"data": {
"id": "prod_123",
"title": "Example Product",
"...": "event-specific data"
}
}
Headers
| Header | Description |
|---|---|
Content-Type | application/json |
X-Intufind-Event | Event type (e.g., product.updated) |
X-Intufind-Signature | HMAC-SHA256 signature (if secret configured) |
X-Intufind-Delivery | Unique delivery ID |
Verifying Signatures
If you configured a secret, verify incoming requests:
$payload = file_get_contents('php://input');
$signature = $_SERVER['HTTP_X_INTUFIND_SIGNATURE'];
$expected = hash_hmac('sha256', $payload, $your_secret);
if (hash_equals($expected, $signature)) {
// Valid request
} else {
// Invalid - reject the request
}
Troubleshooting
Webhook not firing
- Verify Enable Webhooks is on
- Check the endpoint is Active
- Ensure the event type is selected
- Test the endpoint manually
Delivery failures
- Check your endpoint URL is correct and accessible
- Verify SSL certificate is valid (HTTPS required)
- Ensure your server responds within the timeout
- Check firewall allows incoming requests from Intufind
Endpoint suspended
Endpoints are auto-suspended after repeated failures:
- Fix the underlying issue (URL, SSL, server errors)
- Click Reactivate on the endpoint
- Test to confirm it's working
Next Steps
- Status — Monitor webhook deliveries
- Analytics — View conversation data
- Troubleshooting — Common issues