Event Grid Partner Topics and Namespaces
Partner Topics and Event Grid Namespaces are two advanced features of Azure Event Grid. Partner Topics allow third-party SaaS applications to publish events directly into Azure Event Grid. Event Grid Namespaces provide a container-based model for managing topics and subscriptions at scale, with support for the MQTT protocol and pull delivery model.
Partner Topics
A Partner Topic is a special type of topic that a third-party service provider creates through the Azure Event Grid partner program. The provider publishes events from their SaaS platform, and Azure customers subscribe to those events without needing to manage any integration code.
Why Partner Topics Exist
Traditionally, integrating a SaaS service like Auth0 or Salesforce with Azure required a developer to write custom polling or webhook code. The developer would set up a webhook in the external service, receive HTTP calls, validate the payload, and forward events to the correct Azure service. This added complexity and maintenance overhead.
Partner Topics remove this work. The SaaS provider registers with Azure as an Event Grid partner. When an event occurs in the SaaS platform, it flows directly into a Partner Topic in the customer's Azure subscription. The customer only creates a subscription on that topic to start processing events.
Partner Topic Flow Diagram
+────────────────────+ Registered Partner +──────────────────────+
| SaaS Provider | ──────────────────────────> | Event Grid |
| (e.g., Auth0, | (publishes events via | Partner Topic |
| Salesforce, | Azure Partner Program) | (in customer's |
| GitHub) | | Azure subscription)|
+────────────────────+ +──────────┬───────────+
|
+────────────+────────────+
| |
+──────────+──────+ +──────────+──────+
| Subscription 1 | | Subscription 2 |
| Azure Function | | Logic App |
+─────────────────+ +─────────────────+
Example: Auth0 Partner Topic
Auth0 is an identity and authentication provider. When a user logs in, changes their password, or encounters a failed login, Auth0 publishes an event to the Partner Topic in the customer's Azure subscription.
Auth0 Event Flow: 1. User logs in to the application secured by Auth0 2. Auth0 publishes "user.login.success" event to Event Grid Partner Topic 3. Event Grid Partner Topic receives the event 4. Subscription 1: Azure Function logs the login for audit trail 5. Subscription 2: Logic App sends a "New login detected" security alert email
How to Enable a Partner Topic (Customer Side)
- Go to the Azure Portal and search for Event Grid Partner Configurations
- Click + Create and authorize the specific partner to create topics in your subscription
- In the SaaS provider's portal (e.g., Auth0), connect the Azure integration and provide the Azure subscription ID
- The Partner Topic appears in the Azure Portal under Event Grid Partner Topics
- Activate the Partner Topic (initial status is Pending)
- Create event subscriptions on the Partner Topic to route events to handlers
Currently Available Event Grid Partners
| Partner | Events Published |
|---|---|
| Auth0 | User login, password change, failed login, account locked |
| SAP | Business object changes in SAP ERP |
| Microsoft Graph API | Microsoft 365 changes — mailbox events, Teams events, OneDrive changes |
| Tribal Group | Education SaaS events |
Event Grid Namespaces
An Event Grid Namespace is a newer, more advanced container model for managing topics and event subscriptions. Namespaces introduce two capabilities not available in the original Event Grid model: the pull delivery model and MQTT protocol support.
Original Event Grid vs Event Grid Namespace
| Feature | Original Event Grid (Topics) | Event Grid Namespace |
|---|---|---|
| Delivery model | Push only (Event Grid pushes to handler) | Push and Pull (consumer can pull events) |
| Protocol | HTTPS only | HTTPS and MQTT |
| Topic management | Individual topics created separately | Namespace contains multiple topics |
| IoT support | Limited (via IoT Hub system topic) | Native MQTT support for IoT devices |
| Scale tier | Standard | Namespace has its own throughput capacity |
Event Grid Namespace Structure
+────────────────────────────────────────────────────────+ | EVENT GRID NAMESPACE | | | | +──────────────────+ +──────────────────+ | | | Topic: orders | | Topic: inventory | | | | | | | | | | Subscriptions: | | Subscriptions: | | | | - sub1 (push) | | - sub1 (pull) | | | | - sub2 (pull) | | - sub2 (push) | | | +──────────────────+ +──────────────────+ | | | | MQTT Clients (IoT Devices) can publish and subscribe | +────────────────────────────────────────────────────────+
Pull Delivery Model – What It Means
In the original push model, Event Grid delivers events to a handler immediately. The handler must be running and reachable. If the handler is unavailable, Event Grid retries.
In the pull model, the consumer application connects to Event Grid and requests events when it is ready. The consumer controls the pace of processing. Events wait in the subscription until the consumer pulls them.
PUSH MODEL: Event Grid --> [delivers immediately] --> Handler (must be listening) PULL MODEL: Event Grid stores events in subscription Consumer --> [requests batch when ready] --> Event Grid returns events Consumer processes events at its own pace Consumer --> [acknowledges received events] --> Event Grid marks them done
The pull model is better for consumers that process events in batches, run on a schedule, or need to control the processing rate without being overwhelmed.
MQTT Support in Event Grid Namespace
MQTT is a lightweight publish-subscribe protocol widely used in IoT devices. Event Grid Namespace acts as an MQTT broker. IoT devices connect using MQTT and publish messages. Other services subscribe to receive those messages. This eliminates the need for a separate MQTT broker infrastructure.
IoT Device (Temperature Sensor)
-- MQTT PUBLISH "sensors/temp/device001" --> Event Grid Namespace
|
+──────────────────+──────────────────+
| |
+───────────────+──────────+ +────────────+──────────────+
| MQTT Subscriber | | Event Grid Subscription |
| (another IoT device or | | --> Azure Function |
| monitoring dashboard) | | stores reading to DB |
+--------------------------+ +───────────────────────────+
Creating an Event Grid Namespace
- In the Azure Portal, search for Event Grid Namespaces
- Click + Create
- Provide Subscription, Resource Group, Namespace Name, and Region
- Choose the SKU (Standard)
- Optionally enable MQTT under the MQTT tab
- Click Review + Create, then Create
- After creation, add Topics inside the namespace
- Add Subscriptions to each topic with push or pull configuration
Choosing the Right Topic Type
| Scenario | Best Choice |
|---|---|
| React to Azure Blob Storage uploads | System Topic |
| Custom application publishes business events | Custom Topic |
| Third-party SaaS events (Auth0, SAP) | Partner Topic |
| IoT devices using MQTT protocol | Event Grid Namespace |
| Consumer needs pull-based processing | Event Grid Namespace |
| Multiple topics in a single managed container | Event Grid Namespace |
Summary
Partner Topics extend Azure Event Grid to third-party SaaS platforms without custom integration code. Event Grid Namespaces bring advanced capabilities — pull delivery and MQTT support — for IoT and high-scale scenarios. Together, these features make Event Grid a comprehensive event routing platform for both Azure-native and hybrid workloads.
