- When a user account is locked (
user.account.lock), an alert is triggered. When the account is unlocked (user.account.unlockoruser.account.unlock_by_admin), the alert recovers automatically - When a known breached credential is used to sign in (
security.breached_credential.detected) or a user reports suspicious activity (user.account.report_suspicious_activity_by_enduser), an alert is triggered. These two events have no recovery notification
In Flashduty On-call
You can get the integration push URL in either of the following ways.
Use a dedicated integration
- In the Flashduty console, go to Channels and open a channel
- Select Configuration → Integrations → Private integration, then click Add an integration
- Select Okta and click Save
- Open the new integration card and copy the push URL
Use a shared integration
- In the Flashduty console, go to Integration Center → Alert Events
- Select Okta and enter an integration name
- Configure the default route and select a channel. You can add more rules under Routes after creation
- Click Save and copy the generated push URL
Configure Okta
1
Create an event hook
- Sign in to the Okta Admin Console as a super administrator, go to Workflow → Event Hooks, and click Create Event Hook
- Name: enter a name, for example
Flashduty - URL: paste the full push URL of the Flashduty integration, including
integration_key - Leave Authentication field, Authentication secret, and Custom headers empty. Flashduty identifies the integration by the
integration_keyin the push URL and needs no extra authentication header
2
Subscribe to events
Under Subscribe to events, select the following events. No other events are needed:
Subscribe to the lock and unlock events in the same event hook, or alerts will not recover automatically. If other events are delivered, Flashduty returns success and ignores them without creating alerts.Click Save & Continue.
3
Verify the push URL
In the Verify Endpoint Ownership window, click Verify. Okta sends a single GET request to the push URL, and Flashduty answers it automatically. After verification, the event hook status becomes Active and Okta starts delivering events.After you create or edit an event hook, it may take several minutes before Okta starts delivering events.
4
Test delivery
On the event hook’s Preview tab:
- For Event Type, select
user.account.lock. For System Log Event, select a recent lockout event - Click Deliver Request. An account lockout alert appears in Flashduty
- Select
user.account.unlock_by_adminoruser.account.unlock, pick the unlock event of the same user, and deliver it. The alert recovers
null. If that data carries no user, Flashduty returns an invalid parameter error.Configure auto-resolve timeout
Breached credential and suspicious activity alerts have no recovery notification and never close on their own. In the channel that receives these alerts, turn on the auto-resolve timeout, set Window timing start to Incident trigger, and set the timeout to 24 hours: responders get one working day to confirm and reset the credential, and unhandled incidents do not stay open indefinitely. Account lockout alerts are closed by unlock events and do not depend on this setting.
Payload fields
The
data.events array in one delivery may carry several events. Flashduty processes them one by one in order of each event’s published time. Each event is an Okta System Log record, and Flashduty uses the following fields:
The alert title has the form
<event name>: <user display name>, for example Okta account locked: Jane Doe. Every alert also carries the label source=okta.
Alert Key
Flashduty builds the Alert Key from the event category and the user ID:
- Lock and unlock events of the same user land on the same alert: the lock triggers it and the unlock recovers it. Okta delivers at least once, and a redelivered lock event merges into the same active alert
- Lockouts of different users create different alerts
- A lockout, a breached credential, and suspicious activity of the same user create separate alerts
- A new breached credential or suspicious activity event for a user whose alert is still open merges into that alert
Status and severity
The
severity that Okta records does not reflect urgency (an account lockout is recorded as DEBUG, for example), so Flashduty maps severity by event type:
FAQ
Why is security.threat.detected (ThreatInsight) not supported?
Why is security.threat.detected (ThreatInsight) not supported?
In the Okta event types reference,
security.threat.detected and user.account.lock.limit are not marked event-hook-eligible, so an event hook cannot subscribe to them.Why didn't the alert recover after the account was unlocked?
Why didn't the alert recover after the account was unlocked?
Make sure
user.account.unlock and user.account.unlock_by_admin are subscribed in the same event hook. Okta does not guarantee delivery order: if the unlock event arrives before the lock event in a separate delivery, the lockout alert stays open and must be closed by hand.Does Okta retry failed deliveries?
Does Okta retry failed deliveries?
Okta times out after 3 seconds and retries at most once on a 5xx response or a timeout. It does not retry 4xx responses. Failed deliveries are recorded in the Okta System Log with the event type
event_hook.delivery.Troubleshooting
- Verify fails: make sure the URL is the full push URL, including
integration_key - Flashduty returns an invalid parameter error: an event that should create an alert has no user (neither
targetnoractorcontains an object of typeUser). This usually happens with sample data in Preview - No events arrive: make sure the event hook status is Active and the events above are subscribed. Search the Okta System Log for
event_hook.deliveryto see failed deliveries