Skip to main content
Trigger Novu notification workflows when Auth0 events occur by receiving Auth0 log stream or webhook events in your backend and calling the Novu Trigger API.

How does the Auth0 and Novu integration work?

  1. Auth0 emits an event (for example, password reset requested or successful signup).
  2. Your backend receives the event via an Auth0 log stream or Actions webhook.
  3. Your handler verifies the event and calls Novu’s Trigger event API.
  4. Novu delivers the notification through your configured workflow channels.

Prerequisites

  • An Auth0 tenant with log streams or Actions configured
  • A Novu account with a workflow for each auth event
  • A backend endpoint to receive Auth0 events

How do I trigger a Novu workflow from Auth0?

1

Create auth workflows in Novu

Create workflows for events such as password-reset, welcome-email, and new-device-login. Add email and optional in-app steps.
2

Configure Auth0 to send events

Set up an Auth0 log stream or Action that POSTs to your backend when target events occur. See Auth0 log streams documentation.
3

Handle the webhook and trigger Novu

Verify the Auth0 event, then trigger the matching Novu workflow:
import { Novu } from '@novu/api';

const novu = new Novu({ secretKey: process.env.NOVU_SECRET_KEY });

export async function handleAuth0Event(event: Auth0LogEvent) {
  if (event.type === 's' && event.description === 'Success Signup') {
    await novu.trigger({
      workflowId: 'welcome-email',
      to: { subscriberId: event.user_id, email: event.user_name },
      payload: { firstName: event.details?.body?.firstName },
    });
  }
}

Frequently asked questions

Auth0 Actions give you inline control during the auth flow. Log streams are better for post-event processing such as security alerts and analytics-driven notifications.
Always verify signatures in your backend before triggering Novu workflows. Never expose your Novu secret key in client-side Auth0 Actions.