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)

  1. Go to the Azure Portal and search for Event Grid Partner Configurations
  2. Click + Create and authorize the specific partner to create topics in your subscription
  3. In the SaaS provider's portal (e.g., Auth0), connect the Azure integration and provide the Azure subscription ID
  4. The Partner Topic appears in the Azure Portal under Event Grid Partner Topics
  5. Activate the Partner Topic (initial status is Pending)
  6. Create event subscriptions on the Partner Topic to route events to handlers

Currently Available Event Grid Partners

PartnerEvents Published
Auth0User login, password change, failed login, account locked
SAPBusiness object changes in SAP ERP
Microsoft Graph APIMicrosoft 365 changes — mailbox events, Teams events, OneDrive changes
Tribal GroupEducation 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

FeatureOriginal Event Grid (Topics)Event Grid Namespace
Delivery modelPush only (Event Grid pushes to handler)Push and Pull (consumer can pull events)
ProtocolHTTPS onlyHTTPS and MQTT
Topic managementIndividual topics created separatelyNamespace contains multiple topics
IoT supportLimited (via IoT Hub system topic)Native MQTT support for IoT devices
Scale tierStandardNamespace 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

  1. In the Azure Portal, search for Event Grid Namespaces
  2. Click + Create
  3. Provide Subscription, Resource Group, Namespace Name, and Region
  4. Choose the SKU (Standard)
  5. Optionally enable MQTT under the MQTT tab
  6. Click Review + Create, then Create
  7. After creation, add Topics inside the namespace
  8. Add Subscriptions to each topic with push or pull configuration

Choosing the Right Topic Type

ScenarioBest Choice
React to Azure Blob Storage uploadsSystem Topic
Custom application publishes business eventsCustom Topic
Third-party SaaS events (Auth0, SAP)Partner Topic
IoT devices using MQTT protocolEvent Grid Namespace
Consumer needs pull-based processingEvent Grid Namespace
Multiple topics in a single managed containerEvent 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.

Leave a Comment