Send Phone Message Flow

The Send Phone Message Flow allows you to execute code when using SMS/Voice as a factor for Multi-factor Authentication (MFA). When using a custom provider to send the messages, this flow's send-phone-message trigger is required to configure your custom provider.

Diagram of the Actions Send Phone Message Flow.

Actions in this flow are blocking (synchronous), which means they execute as part of a trigger's process and will prevent the rest of the Auth0 pipeline from running until the Action is complete.

Triggers

Send Phone Message

The send-phone-message trigger will run for the enrollment process and the challenge process (event.message_options.action). It will also run for the voice message type when using the New experience for Universal Login (event.message_options.message_type === 'voice').

References

Event object: Provides contextual information about the message to be sent and the user to be challenged or enrolled.

Common use cases

Use a custom SMS provider

const AWS = require("aws-sdk");

/**
 * Handler that will be called during the execution of a SendPhoneMessage flow.
 *
 * @param {Event} event - Details about the user and the context in which they are logging in.
 */
exports.onExecuteSendPhoneMessage = async (event) => {
  const text = event.message_options.text;
  const recipient = event.message_options.recipient;

  const awsSNS = new AWS.SNS({
    apiVersion: "2010-03-31",
    region: event.secrets.AWS_REGION,
    credentials: new AWS.Credentials(event.secrets.AWS_ACCESS_KEY_ID, event.secrets.AWS_SECRET_ACCESS_KEY)
  });

  const params = { Message: text, PhoneNumber: recipient };

  return awsSNS
    .publish(params)
    .promise();
};

Was this helpful?

/