27 September 2023

What are streams?

Streams enable Power Automate and other applications to receive events from Tribal modules, such as Admissions and SITS:Vision. Integration APIs can then retrieve data associated with the events. Power Automate and other applications subscribe to events in Azure Event Grid or Event forwarders for applications that do not support Azure Event Grid.

The image Streams show how events are forward to applications, which then enables applications to retrieve data associated with the events through the integration APIs.

Streams
Streams send events through Azure Event Grid or Event forwarders

Azure Event Grid

Power Automate and other applications that support Azure Event Grid can subscribe to Azure Event Grid to receive events from Admissions, Reference Data, Maytas, and SITS:Vision. Tribal is an Event Grid Partner. Therefore, streams send events to a partner topic in Event Grid. For more information on Azure Event Grid, go to What is Azure Event Grid?

Subscribing to events in Azure Event Grid requires an Azure subscription to use Event Grid and a resource group, such as Edge-Admissions-Events, in the institution's Azure environment. You must grant consent to the partner to create partner topics in the resource group.

Event forwarders

Event forwarders enable events from Admissions to be forwarded to applications that do not support Azure Event Grid. Events are forwarded to an endpoint URL, such as https://edge-events.hessle.ac.uk. Events are forwarded in batches to other systems for performance reasons. Identity provider details of the endpoint ensure that events cannot be sent to anonymous or unsecured systems. Event forwarders that are forwarding events have the status Healthy.

Attention.

The client secret of the identity provider details must be defined each time the configuration of an event forwarders is changed.

Event queues

Event forwarders pause forwarding events if an endpoint does not respond to ping requests for more than 30 minutes. Event forwarders have the status Unhealthy when paused. Pausing event forwarding causes events to be queued. Events are queued indefinitely to avoid data loss. However, event forwarders only check whether an endpoint is online for 30 days. After 30 days without a response, event forwarding must be resumed manually.

Once an endpoint responds, event forwarding resumes starting with the old event batch.

Attention.

Event forwarding can also be paused manually. Event forwarders do not periodically check or automatically resume forwarding for endpoints that are paused manually.

Events format

Events forwarded from Admissions are formatted according to CloudEvents specification. For more information, go to CloudEvents .

Each event within the batch has a unique identifier, the eventCorrelationId, which must be used as the x-correlation-id header for any subsequent requests to the integration APIs to retrieve data associated with the event. For example, to retrieve an application after an application updated event is received by the other system. The use of the eventCorrelationID ensures that Admissions can correlate any actions performed as a consequence of an event being forwarded.

The image Application updated event shows an event forwarded when an application is updated in Applications. The eventCorrelationID is highlighted as part of the data object.

Application updated event
Event emitted when an application is updated in Admissions