Service Endpoints: Webhooks, Service Bus & Event Hub
Connect Dataverse to Azure messaging services. Register webhooks, configure Service Bus queues and topics, set up Event Hub, and secure each endpoint type.
Wiring up the endpoints
Think of service endpoints as postal delivery types.
A webhook is a direct letter — fast but lost if nobody is home. Service Bus is a post office box — the letter waits safely. Event Hub is a newspaper distribution centre — same edition to thousands of subscribers.
Webhook configuration
| Setting | Details |
|---|---|
| URL | HTTPS endpoint that receives POST requests |
| Auth options | HttpHeader, WebhookKey, or HttpQueryString |
| Payload | RemoteExecutionContext (JSON) — same context as plug-in |
Authentication methods
| Method | How It Works | Security |
|---|---|---|
| HttpHeader | Custom header (e.g., x-api-key: abc123) | Good — encrypted in transit |
| WebhookKey | x-ms-dynamics-key header | Good — Dataverse standard pattern |
| HttpQueryString | Key appended to URL | Acceptable — encrypted by HTTPS |
Azure Service Bus
Queue vs topic
| Feature | Queue | Topic + Subscriptions |
|---|---|---|
| Consumers | One (competing consumers possible) | Multiple with filters |
| Use case | Single system processing | Multiple systems reacting |
PRT registration steps
- Create Service Bus namespace in Azure
- Create queue or topic
- Create SAS policy with Send permission only
- Copy connection string → Register in PRT as Service Endpoint
Azure Event Hub
Use Event Hub when you need massive throughput (millions of events) with multiple consumers reading the same stream.
| Choose Service Bus | Choose Event Hub |
|---|---|
| Hundreds to thousands/minute | Millions/minute |
| Guaranteed ordering within session | Per partition only |
| Each message processed once | Multiple consumers read same stream |
| Transaction processing | Analytics, telemetry |
A company needs to send Dataverse order events to three systems: warehouse, analytics, and CRM sync. Each must receive every event. What endpoint?
🎬 Video coming soon
Next up: Data Sync — change tracking, alternate keys, and the UpsertRequest pattern.