Setup
To enable events, navigate to the Webhooks section of your app in the Orceum Developer Studio. Toggle Events Enabled on. Orceum will generate a Webhook Secret (prefixed withwhs_), which you can view in the dashboard. You will use this secret to sign the events you push to Orceum.
Your Webhook Secret (the
whs_* token) is generated by Orceum and is used to sign the proactive events you push to Orceum. This is separate from the orc_* secret used to verify lifecycle webhooks Orceum sends to you.Pushing an Event
Send aPOST request to the Orceum events endpoint with your app’s app_id and user’s installation_id:
Event Fields
The Orceum installation ID for the user this event is for. Identifies which user’s conversation to target.
A dot-separated descriptor of what happened. Convention:
noun.verb — e.g. task.completed, payment.failed, report.ready.Payload containing all relevant context about the event. Be specific — the assistant uses this to compose the message to the user.
ISO 8601 UTC timestamp of when the event occurred.
Urgency level. One of:
low, normal, high, criticalcritical— triggers immediate notification regardless of digest settingshigh— prioritized for deliverynormal/low— subject to digest and quiet-hour settings
Arbitrary key-value pairs for your own tracking. Not shown to users but available for debugging.
Signing Requests (HMAC)
Every event you push must be signed so Orceum can verify it came from you. Algorithm: HMAC-SHA256 over the compact JSON body using yourwhs_* secret. The signature is the raw hex digest — no prefix.
- Python
- Node.js
Response
A successful push returns:action_taken Values
| Value | Meaning |
|---|---|
NOTIFIED | User was notified (push notification sent) |
CONVERSATION_STARTED | A new conversation was started with the event context |
QUEUED | Event queued for digest delivery |
IGNORED | Event was filtered out (below priority threshold, quiet hours, or bouncer decision) |
Event Delivery
When your app pushes an event, Orceum dynamically decides whether and how to present it to the user. This decision is based on the user’s personal notification preferences, their current context, and what the assistant determines is most relevant and necessary at that moment.Verifying the Endpoint
Check that your webhook integration is working:Two Secrets — Which Is Which?
A common source of confusion:| Secret | Prefix | Who Generates It | Used For |
|---|---|---|---|
webhook_secret | whs_* | Orceum (visible in the dashboard) | Signing proactive events you push to Orceum |
orceum_webhook_secret | orc_* | Orceum (shown once on creation) | Verifying lifecycle webhooks Orceum sends to your installation_webhook_url |