Official Auth0 Actions TypeScript definitions, which will help you code and test your project's Actions on external editors and IDEs.


🚀 Getting Started • 💬 Feedback
Official Auth0 Actions TypeScript definitions, which will help you code and test your project’s Actions on external editors and IDEs.
Prerequisites:
- Node.js v18 or higher
- TypeScript 5.5 or higher (for development)
- An Auth0 account
- Basic knowledge of Auth0 Actions
- A code editor with TypeScript support (e.g., VS Code)
Installation:
Install the package using npm:
``bash`
npm install --save-dev @auth0/actions
Or using yarn:
`bash`
yarn add --dev @auth0/actions
Or using pnpm:
`bash`
pnpm add --save-dev @auth0/actions
Usage:
Import the TypeScript definitions into your Auth0 Actions using one of the following approaches:
JSDoc @import:
Use this approach when you want to enable IntelliSense without changing your existing JavaScript code structure:
`javascript
/* @import {Event, PostLoginAPI} from "@auth0/actions/post-login/v3" /
/**
* Handler that will be called during the execution of a PostLogin flow.
*
* @param {Event} event - Details about the user and the context in which they are logging in.
* @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.
*/
exports.onExecutePostLogin = async (event, api) => {
const user = event.user;
// Your Action logic here
if (user.email?.endsWith('@example.com')) {
api.user.setAppMetadata('department', 'internal');
}
}
`
JSDoc @param:
Use this approach for type safety in JavaScript files using import statements in JSDoc comments:
`javascript
/**
* Handler that will be called during the execution of a PostLogin flow.
*
* @param {import('@auth0/actions/post-login/v3').Event} event - Details about the user and the context in which they are logging in.
* @param {import('@auth0/actions/post-login/v3').PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.
*/
exports.onExecutePostLogin = async (event, api) => {
const user = event.user;
// Your Action logic here
if (user.email?.endsWith('@example.com')) {
api.user.setAppMetadata('department', 'internal');
}
}
`
TypeScript import:
Use this approach when developing with TypeScript for full type checking and modern syntax:
`typescript
import type { Event, PostLoginAPI } from '@auth0/actions/post-login/v3';
/**
* Handler that will be called during the execution of a PostLogin flow.
*
* @param {Event} event - Details about the user and the context in which they are logging in.
* @param {PostLoginAPI} api - Interface whose methods can be used to change the behavior of the login.
*/
exports.onExecutePostLogin = async (event: Event, api: PostLoginAPI) => {
const user = event.user;
// Your Action logic here
if (user.email?.endsWith('@example.com')) {
api.user.setAppMetadata('department', 'internal');
}
};
`
> ⚠️ Important: When using TypeScript, you must compile your code to JavaScript before deploying to Auth0. The Auth0 Actions runtime only executes JavaScript. Use the TypeScript compiler (tsc) to transpile your .ts files to .js` files, before it can be deployed. You must also include JSDoc comments to enable Intellisense in the Dashboard.

Auth0 is an easy to implement, adaptable authentication and authorization platform. To learn more checkout Why Auth0?