Skip to content

Azure Event Grid Triggers

Orvanta can connect to Azure Event Grid and trigger a script or flow when events are delivered from custom topics, system topics, domains, or Event Grid Namespace topics, covering both push delivery (webhook) and pull delivery (lock-token acknowledgment).

Azure Event Grid triggers are an Enterprise-tier feature (azure_event_grid_trigger in the edition matrix) and are compiled into the single Orvanta enterprise build. Creating or updating one on a lower licence tier is refused.

An Azure-triggered preprocessor receives an event shaped like this (the shape is built from the trigger’s job arguments in the platform code):

export async function preprocessor(
event: {
kind: 'azure',
id: string,
source: string,
event_type: string,
subject: string | null,
time: string | null,
data: any,
delivery_count?: number // pull delivery only
}
) {
if (event.kind !== 'azure') {
throw new Error(`Expected an azure trigger kind, got: ${event.kind}`);
}
return {
eventType: event.event_type,
subject: event.subject,
data: event.data,
};
}
  • data: The CloudEvent data field — typically a JSON object whose shape depends on the event source (Storage, Resource Manager, Key Vault, a custom topic, etc.). null when the event carries none.
  • event_type: CloudEvents type (e.g. Microsoft.Storage.BlobCreated).
  • id, source, subject, time: The matching CloudEvents attributes.
  • delivery_count: How many times Event Grid has delivered the event; present for pull delivery only.

The event does not include a delivery_type, headers or lock_token field; acknowledging and releasing events is handled by the trigger itself.

See Preprocessors for how a preprocessor’s return value maps onto a script’s main() parameters.