Class: WorkOS::WebhookEvent
- Inherits:
-
Object
- Object
- WorkOS::WebhookEvent
- Defined in:
- lib/workos/webhook_event.rb
Overview
Typed wrapper around a parsed webhook event payload.
event = client.webhooks.construct_event(
payload: body, sig_header: sig, secret: ENV["WORKOS_WEBHOOK_SECRET"]
)
event.event # => "connection.activated"
event.id # => "evt_01..."
event.data # => WorkOS::ConnectionActivatedData (typed) or Hash (unknown event)
event.created_at # => "2026-04-16T..."
event.raw # => original Hash for escape hatch
Constant Summary collapse
- EVENT_DATA_MODELS =
Map of event type string -> data model class name. Entries with nil mean “no typed model yet” and will return the raw hash.
{ "authentication.email_verification_succeeded" => "WorkOS::AuthenticationEmailVerificationSucceededData", "authentication.magic_auth_failed" => "WorkOS::AuthenticationMagicAuthFailedData", "authentication.magic_auth_succeeded" => "WorkOS::AuthenticationMagicAuthSucceededData", "authentication.mfa_succeeded" => "WorkOS::AuthenticationMFASucceededData", "authentication.oauth_failed" => "WorkOS::AuthenticationOAuthFailedData", "authentication.oauth_succeeded" => "WorkOS::AuthenticationOAuthSucceededData", "authentication.password_failed" => "WorkOS::AuthenticationPasswordFailedData", "authentication.password_succeeded" => "WorkOS::AuthenticationPasswordSucceededData", "authentication.passkey_failed" => "WorkOS::AuthenticationPasskeyFailedData", "authentication.passkey_succeeded" => "WorkOS::AuthenticationPasskeySucceededData", "authentication.sso_failed" => "WorkOS::AuthenticationSSOFailedData", "authentication.sso_started" => "WorkOS::AuthenticationSSOStartedData", "authentication.sso_succeeded" => "WorkOS::AuthenticationSSOSucceededData", "authentication.sso_timed_out" => "WorkOS::AuthenticationSSOTimedOutData", "authentication.radar_risk_detected" => "WorkOS::AuthenticationRadarRiskDetectedData", "api_key.created" => "WorkOS::ApiKeyCreatedData", "api_key.revoked" => "WorkOS::ApiKeyRevokedData", "connection.activated" => "WorkOS::ConnectionActivatedData", "connection.deactivated" => "WorkOS::ConnectionDeactivatedData", "connection.deleted" => "WorkOS::ConnectionDeletedData", "connection.saml_certificate_renewal_required" => "WorkOS::ConnectionSAMLCertificateRenewalRequiredData", "connection.saml_certificate_renewed" => "WorkOS::ConnectionSAMLCertificateRenewedData", "dsync.activated" => "WorkOS::DsyncActivatedData", "dsync.deleted" => "WorkOS::DsyncDeletedData", "dsync.group.created" => nil, "dsync.group.deleted" => nil, "dsync.group.updated" => "WorkOS::DsyncGroupUpdatedData", "dsync.group.user_added" => "WorkOS::DsyncGroupUserAddedData", "dsync.group.user_removed" => "WorkOS::DsyncGroupUserRemovedData", "dsync.user.created" => nil, "dsync.user.deleted" => nil, "dsync.user.updated" => "WorkOS::DsyncUserUpdatedData", "email_verification.created" => "WorkOS::EmailVerificationCreatedData", "group.created" => nil, "group.deleted" => nil, "group.updated" => nil, "group.member_added" => "WorkOS::GroupMemberAddedData", "group.member_removed" => "WorkOS::GroupMemberRemovedData", "flag.created" => "WorkOS::FlagCreatedData", "flag.deleted" => "WorkOS::FlagDeletedData", "flag.updated" => "WorkOS::FlagUpdatedData", "flag.rule_updated" => "WorkOS::FlagRuleUpdatedData", "invitation.accepted" => "WorkOS::InvitationAcceptedData", "invitation.created" => "WorkOS::InvitationCreatedData", "invitation.resent" => "WorkOS::InvitationResentData", "invitation.revoked" => "WorkOS::InvitationRevokedData", "magic_auth.created" => "WorkOS::MagicAuthCreatedData", "organization.created" => "WorkOS::OrganizationCreatedData", "organization.deleted" => "WorkOS::OrganizationDeletedData", "organization.updated" => "WorkOS::OrganizationUpdatedData", "organization_domain.created" => "WorkOS::OrganizationDomainCreatedData", "organization_domain.deleted" => "WorkOS::OrganizationDomainDeletedData", "organization_domain.updated" => "WorkOS::OrganizationDomainUpdatedData", "organization_domain.verified" => "WorkOS::OrganizationDomainVerifiedData", "organization_domain.verification_failed" => "WorkOS::OrganizationDomainVerificationFailedData", "password_reset.created" => "WorkOS::PasswordResetCreatedData", "password_reset.succeeded" => "WorkOS::PasswordResetSucceededData", "user.created" => nil, "user.updated" => nil, "user.deleted" => nil, "organization_membership.created" => "WorkOS::OrganizationMembershipCreatedData", "organization_membership.deleted" => "WorkOS::OrganizationMembershipDeletedData", "organization_membership.updated" => "WorkOS::OrganizationMembershipUpdatedData", "role.created" => "WorkOS::RoleCreatedData", "role.deleted" => "WorkOS::RoleDeletedData", "role.updated" => "WorkOS::RoleUpdatedData", "organization_role.created" => "WorkOS::OrganizationRoleCreatedData", "organization_role.deleted" => "WorkOS::OrganizationRoleDeletedData", "organization_role.updated" => "WorkOS::OrganizationRoleUpdatedData", "permission.created" => "WorkOS::PermissionCreatedData", "permission.deleted" => "WorkOS::PermissionDeletedData", "permission.updated" => "WorkOS::PermissionUpdatedData", "session.created" => "WorkOS::SessionCreatedData", "session.revoked" => "WorkOS::SessionRevokedData" }.freeze
Instance Attribute Summary collapse
-
#created_at ⇒ Object
readonly
Returns the value of attribute created_at.
-
#data ⇒ Object
readonly
Returns the value of attribute data.
-
#event ⇒ Object
readonly
Returns the value of attribute event.
-
#id ⇒ Object
readonly
Returns the value of attribute id.
-
#raw ⇒ Object
readonly
Returns the value of attribute raw.
Instance Method Summary collapse
-
#initialize(raw_hash) ⇒ WebhookEvent
constructor
A new instance of WebhookEvent.
Constructor Details
#initialize(raw_hash) ⇒ WebhookEvent
Returns a new instance of WebhookEvent.
99 100 101 102 103 104 105 |
# File 'lib/workos/webhook_event.rb', line 99 def initialize(raw_hash) @raw = raw_hash @id = raw_hash["id"] @event = raw_hash["event"] @created_at = raw_hash["created_at"] @data = coerce_data(raw_hash["data"]) end |
Instance Attribute Details
#created_at ⇒ Object (readonly)
Returns the value of attribute created_at.
18 19 20 |
# File 'lib/workos/webhook_event.rb', line 18 def created_at @created_at end |
#data ⇒ Object (readonly)
Returns the value of attribute data.
18 19 20 |
# File 'lib/workos/webhook_event.rb', line 18 def data @data end |
#event ⇒ Object (readonly)
Returns the value of attribute event.
18 19 20 |
# File 'lib/workos/webhook_event.rb', line 18 def event @event end |
#id ⇒ Object (readonly)
Returns the value of attribute id.
18 19 20 |
# File 'lib/workos/webhook_event.rb', line 18 def id @id end |
#raw ⇒ Object (readonly)
Returns the value of attribute raw.
18 19 20 |
# File 'lib/workos/webhook_event.rb', line 18 def raw @raw end |