Understand How Auth0 Actions Work
Actions are secure, tenant-specific, versioned functions written in Node.js that execute at certain points during the Auth0 runtime. Actions are used to customize and extend Auth0's capabilities with custom logic.
The processes that can be extended in this way are called flows. Each flow is made up of one or more triggers and represents the logical pipeline through which information moves during a single point in the Auth0 journey. Multiple Actions can be added to a trigger, with each Action executing in the order in which it was placed. Some triggers are executed synchronously, blocking the flow in which they are involved, and some are executed asynchronously, as indicated in the table below.
Actions are a cornerstone to our overall extensibility product at Auth0. With Actions, you can add essential custom logic to your login and identity flows specific to your needs. Actions also allow you to connect external integrations that enhance your overall extensibility experience. For example, you can add an Action to your login flow to verify credentials such as a License or Passport using a Marketplace Partner who specializes in identity proofing.
What can you do with Actions?
What an Action can do is determined by where it is executed within the Auth0 runtime environment.
|Login||As a user logs in.||post-login||Synchronous||
|Machine to Machine||When an access token is issued via the Client Credentials Flow.||credentials-exchange||Synchronous||
|Pre User Registration||Before a user is added to a Database or Passwordless Connection.||pre-user-registration||Synchronous||
|Post User Registration||After a user is added to a Database or Passwordless Connection.||post-user-registration||Asynchronous||
|Post Change Password||After a password is changed for a Database Connection user.||post-change-password||Asynchronous||
|Send Phone Message||To send a Phone or SMS message as part of a Custom MFA Provider.||send-phone-message||Synchronous||Use a custom provider for sending MFA Phone or SMS messages|
Key benefits of Actions
Improved developer experience
When editing an Action within the Auth0 Dashboard, you will have access to rich type information and inline documentation about what is possible within each trigger, which makes it easy to discover what capabilities each Trigger supports.
An Action can be edited and tested without affecting the version that is currently serving production traffic.
If an issue is found within an Action, it can be rolled back to a previous version.
Access to npm packages
Nearly all public
npm packages are available to be used within Actions.
When Actions are executed, Auth0 will capture key metrics about them and link them to Auth0 Logs.
Multiple Actions on every trigger
Every Action trigger supports multiple independent Actions.