@auth0/actions
v0.12.0
Published
Official Auth0 Actions TypeScript definitions, which will help you code and test your project's Actions on external editors and IDEs.
Readme

🚀 Getting Started • 💬 Feedback
Official Auth0 Actions TypeScript definitions, which will help you code and test your project’s Actions on external editors and IDEs.
🚀 Getting Started
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:
npm install --save-dev @auth0/actionsOr using yarn:
yarn add --dev @auth0/actionsOr using pnpm:
pnpm add --save-dev @auth0/actionsUsage:
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:
/** @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:
/**
* 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:
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.tsfiles to.jsfiles, before it can be deployed. You must also include JSDoc comments to enable Intellisense in the Dashboard.
💬 Feedback and Contributing
This repository contains automatically generated TypeScript types and utilities for Auth0 Actions development. The types in this package are generated from Auth0's internal systems and are published to help developers build Actions. This repository does not accept external contributions. The contents of this package are automatically generated and maintained by Auth0's internal systems. For help using this package, reporting issues, or providing feedback:
- Usage Documentation: Refer to Getting Started for examples
- Auth0 Actions Documentation: auth0.com/docs/customize/actions
- Support Center: support.auth0.com
- Community Forum: community.auth0.com
📄 License
This project is licensed under the Apache 2.0 license. See the LICENSE file for more info.
