Custom Email Provider Action Not Visible Under "Actions" in Auth0 After Terraform Deployment

Overview

When deploying a custom email provider via Terraform, users may expect the action to appear under Actions > Library in the Auth0 Dashboard. However, unlike other Actions, custom email provider Actions are listed under Branding > Email Provider > Custom Provider instead. This can cause confusion, leading users to believe their deployment failed when, in reality, the action is simply located in a different section of the dashboard.

This article explains where to find the deployed action and how to verify that it was successfully created.

Applies To

  • Terraform Auth0 Provider
  • Deploying a custom email provider using Terraform
  • Auth0 Actions for Custom Email Providers

Solution

Verify Deployment Logs:

  • Check the sapi logs in Auth0 to confirm that the deployment request was received and processed.

Ensure You’re Checking the Correct Location:

  • Instead of looking under Actions, navigate to Branding > Email Provider > Custom Provider in the Auth0 Dashboard.

Confirm the Correct Tenant is Used for Deployment:

  • Ensure that the Machine-to-Machine (M2M) application used for Terraform deployment is connected to the correct tenant.
  • If deploying to multiple environments, verify that the right tenant is selected in the dashboard.

Following these steps will confirm that the deployment was successful and locate the custom email provider action in the correct section of the Auth0 Dashboard.

Example Terraform Configuration for Deploying a Custom Email Provider:

terraform {

 required_providers {

  auth0 = {

   source = "auth0/auth0"

   version = "1.14.0"

  }

 }

}




provider "auth0" {

 domain    = "your-tenant.auth0.com"

 client_id   = "your-client-id"

 client_secret = "your-client-secret"

}




resource "auth0_action" "custom_email_provider" {

 name   = "custom-email-provider"

 deploy  = true

 runtime = "node22"

  

 code = file("./custom-email-provider.js")

  

 supported_triggers {

  id   = "custom-email-provider"

  version = "v1"

 }

}







Example Custom Email Provider JavaScript File (custom-email-provider.js):







module.exports = async (event) => {

 console.log("Custom Email Provider Action Triggered");




 return {

  success: true

 };

};