Webhooks

Set up webhooks to receive real-time notifications from BroxiAI workflows

Learn how to configure and use webhooks to receive real-time notifications when events occur in your BroxiAI workflows.

Webhook Overview

What Are Webhooks?

Webhooks are HTTP callbacks that BroxiAI sends to your application when specific events occur. Instead of polling the API for changes, webhooks push notifications to your server in real-time.

Benefits of Webhooks

  • Real-time event notifications

  • Reduced API polling overhead

  • Event-driven architecture

  • Automatic retry mechanisms

  • Scalable notification system

Supported Events

Workflow Events

Workflow Events:
  workflow.started: "Workflow execution began"
  workflow.completed: "Workflow execution finished successfully"
  workflow.failed: "Workflow execution failed"
  workflow.timeout: "Workflow execution timed out"
  workflow.cancelled: "Workflow execution was cancelled"

Component Events:
  component.started: "Component execution began"
  component.completed: "Component execution finished"
  component.failed: "Component execution failed"
  component.timeout: "Component execution timed out"

User Events:
  user.message.received: "New user message received"
  user.session.started: "New user session created"
  user.session.ended: "User session ended"

System Events:
  api.quota.warning: "API quota threshold reached"
  api.quota.exceeded: "API quota exceeded"
  system.maintenance: "System maintenance notification"

Setting Up Webhooks

Webhook Configuration

Create Webhook Endpoint

  1. Navigate to Settings → Webhooks in your BroxiAI dashboard

  2. Click "Add New Webhook"

  3. Configure webhook settings

  4. Test and activate the webhook

Webhook Configuration Options

Webhook Endpoint Implementation

Basic Webhook Receiver (Python/Flask)

Node.js/Express Implementation

Webhook Payload Structure

Standard Payload Format

Base Webhook Structure

Event-Specific Payloads

Workflow Completed Event

Workflow Failed Event

User Message Event

Webhook Security

Signature Verification

Signature Generation (BroxiAI Side)

Signature Verification (Your Side)

IP Whitelisting

Configure IP Whitelist

Webhook Reliability

Retry Mechanism

Retry Configuration

Handling Retry Logic

Webhook Monitoring

Delivery Status Tracking

Advanced Webhook Patterns

Event Filtering

Conditional Webhooks

Dynamic Webhook Routing

Webhook Aggregation

Batch Processing

Integration Examples

Slack Integration

Slack Webhook Handler

Database Integration

Webhook to Database

Testing Webhooks

Webhook Testing Tools

Local Webhook Testing

Webhook Testing with ngrok

Unit Tests for Webhook Handler

Troubleshooting Webhooks

Common Issues

Webhook Not Receiving Events

Debugging Webhook Payloads

Best Practices

Webhook Security

  • Always verify webhook signatures

  • Use HTTPS endpoints only

  • Implement IP whitelisting when possible

  • Set reasonable timeout values

  • Log webhook activities for audit

Performance Optimization

  • Process webhooks asynchronously

  • Implement proper error handling

  • Use batch processing for high volume

  • Cache frequently accessed data

  • Monitor webhook performance

Reliability

  • Implement idempotency handling

  • Use retry mechanisms with exponential backoff

  • Monitor webhook delivery success rates

  • Have fallback mechanisms for critical events

  • Test webhook endpoints regularly

Next Steps

After implementing webhooks:

  1. Monitor Performance: Track delivery success rates

  2. Optimize Processing: Implement async processing

  3. Scale Infrastructure: Handle increasing webhook volume

  4. Enhance Security: Regular security audits

  5. Documentation: Keep webhook docs updated


Last updated