Webhook receiver (paid runtime)
validationToken challenge on subscription creation. Ongoing notifications arrive with a client state token that the receiver validates.
Setup
- Register an Azure AD application with Microsoft Graph API permissions:
ChannelMessage.Read.All(Teams messages)Mail.Read(Exchange mail)Sites.Read.All(SharePoint)Files.Read.All(OneDrive)
- Create Graph change notification subscriptions pointing to
https://runtime.myceliumai.co/webhooks/microsoft365/{your_tenant_id}. - Add to the runtime env:
MS365_TENANT_ID_{TENANT_ID}MS365_CLIENT_ID_{TENANT_ID}MS365_CLIENT_SECRET_{TENANT_ID}MS365_CLIENT_STATE_{TENANT_ID}(random secret for notification validation)