Subscribing To Webhooks

Overview

Frontegg allows developers to subscribe to webhooks in order to trigger automation workflows based on actions that occur on the Frontegg servers.

Such use cases can include (among others):

  • Register user on internal DB when the user is invited
  • Send marketing email to the user upon first login
  • Generate specific transactional flows based on login actions

Read below to learn how to subscribe to webhooks.

Step-By-Step Guide

Follow the steps below to subscribe to webhook events.

Step 1: Enter Basic Details

In your Frontegg Portal, go to Hooks.

The page lists all your webhooks and has a button for adding a new webhook.

In order to subscribe to webhook, click on the Add New button, fill the hook details for display name, description, URL, secret key, and event settings.

The display name and description can be whatever you want.


Step 2: Enter URL Address

For the URL, enter the URL at which you will receive the webhook data. The URL acts like an address that Frontegg can send a JSON message to when the assigned events happen.

Here is an example of the structure and content of the JSON:

{
  "user": {
    "id": "35639902-a53d-44c3-9aea-066b06569f78",
    "email": "[email protected]",
    "verified": null,
    "name": "cheli",
    "phoneNumber": null,
    "profilePictureUrl": "https://www.gravatar.com/avatar/7827edbdf8ec0d52e57a736448e873c3?d=https://ui-avatars.com/api/eldad/128/random",
    "provider": "local",
    "mfaEnrolled": false,
    "metadata": "{}",
    "tenantIds": [
      "adf4c0a5-9a5e-4c51-a228-d008050c0e15"
    ],
    "tenantId": "adf4c0a5-9a5e-4c51-a228-d008050c0e15",
    "roles": [],
    "permissions": [],
    "createdAt": "2021-05-02T11:25:22.000Z",
    "lastLogin": null,
    "isLocked": false,
    "activatedForTenant": true
  },
  "eventContext": {
    "tenantId": "adf4c0a5-9a5e-4c51-a228-d008050c0e15"
    "userId": "35639902-a53d-44c3-9aea-066b06569f78" //note: userID is optional
    
  },
  "eventKey": "frontegg.user.created"
}

Step 3: Add Secret Key

For the key, enter a value that is confidential. Frontegg will generate a header called x-webhook-secret and sign the webhook request using the secret. Therefore, for enhanced security, Frontegg recommends that you use the webhook secret.

Step 4: Set Event Settings

For the event settings, choose any events that will be fired for this hook and any categories the hook belongs to.

Read below to learn more about the available events in Frontegg.

Authentication Events

Event

Event Key

When do we send it?

User authenticated

frontegg.user.authenticated

a user is authenticated

User SAML authentication

frontegg.user.authenticatedWithSAML

a user is authenticated using SAML

User SSO authentication

frontegg.user.authenticatedWithSSO

a user is authenticated using SSO

User failed to authenticate

frontegg.user.failedAuthentication

a user tries to sign in and inputs incorrect credentials


MFA Events

Event

Event Key

When do we send it?

User MFA enroll

frontegg.user.enrolledMFA

a user enrolls with MFA

User disabled MFA

frontegg.user.disabledMFA

a user disables MFA


User Management Events

Event

Event Key

When do we send it?

User created

frontegg.user.created

a user is created

User signed up

frontegg.user.signedUp

a user signs up

User deleted

frontegg.user.deleted

a user is deleted

User invited to tenant

frontegg.user.invitedToTenant

a user is invited to tenant

User changed password

frontegg.user.changedPassword

a user changes their password

User forgot password

frontegg.user.forgotPassword

a user forgets their password

User removed from tenant

frontegg.user.removedFromTenant

a user is removed from tenant

User API token created

frontegg.userApiToken.created

a user API token is created

User API token deleted

frontegg.userApiToken.deleted

a user API token is deleted

User activated

frontegg.user.activated

a user activates their account


Tenant Events

Event

Event Key

When do we send it?

Tenant created

frontegg.tenant.created

a tenant is created

Tenant deleted

frontegg.tenant.deleted

a tenant is deleted

Tenant updated

frontegg.tenant.updated

a tenant is updated

Tenant API token created

frontegg.tenantApiToken.created

a tenant API token is created

Tenant APi token deleted

frontegg.tenantApiToken.deleted

a tenant API token is deleted


Did this page help you?