> ## Documentation Index
> Fetch the complete documentation index at: https://docs-staging.auth0-mintlify.app/llms.txt
> Use this file to discover all available pages before exploring further.

> Learn about the send-phone-message Action trigger's event object, which provides contextual information about the trigger execution.

# Actions Triggers: send-phone-message - Event Object

The `event` object for the send-phone-message Actions trigger provides contextual information about the trigger execution.

## `event.client`

<ResponseField name="event.client" type="dictionary" post={["optional"]}>
  Information about the Client with which this transaction was initiated.

  <Expandable title="client properties" defaultOpen>
    <ResponseField name="client_id" type="string">
      The client id of the application the user is logging in to.
    </ResponseField>

    <ResponseField name="metadata" type="dictionary">
      An object for holding other application properties.
    </ResponseField>

    <ResponseField name="name" type="string">
      The name of the application (as defined in the Dashboard).
    </ResponseField>
  </Expandable>
</ResponseField>

## `event.custom_domain`

<ResponseField name="event.custom_domain" type="dictionary" post={["optional"]}>
  Details about the custom domain associated with the current transaction.

  <Expandable title="custom_domain properties" defaultOpen>
    <ResponseField name="domain" type="string">
      The custom domain name.
    </ResponseField>

    <ResponseField name="domain_metadata" type="dictionary">
      Custom domain metadata as key-value pairs.
    </ResponseField>
  </Expandable>
</ResponseField>

## `event.message_options`

<ResponseField name="event.message_options" type="object">
  Details about the message that is sent to the user.

  <Expandable title="message_options properties" defaultOpen>
    <ResponseField name="action" type="string">
      The flow that triggered this action.

      Allowed values: `enrollment`, `second-factor-authentication`
    </ResponseField>

    <ResponseField name="code" type="string">
      One-time password that the user needs to use to enter in the form.
    </ResponseField>

    <ResponseField name="message_type" type="string">
      How the message will be delivered, either by 'sms' or 'voice'.

      Allowed values: `sms`, `voice`
    </ResponseField>

    <ResponseField name="recipient" type="string">
      Phone number where the message will be sent.
    </ResponseField>

    <ResponseField name="text" type="string">
      Content of the message to be sent.
    </ResponseField>
  </Expandable>
</ResponseField>

## `event.request`

<ResponseField name="event.request" type="dictionary">
  Details about the request that initiated the transaction.

  <Expandable title="request properties" defaultOpen>
    <ResponseField name="geoip" type="dictionary">
      <Expandable title="geoip properties" defaultOpen>
        <ResponseField name="cityName" type="string" post={["optional"]} />

        <ResponseField name="continentCode" type="string" post={["optional"]} />

        <ResponseField name="countryCode" type="string" post={["optional"]} />

        <ResponseField name="countryCode3" type="string" post={["optional"]} />

        <ResponseField name="countryName" type="string" post={["optional"]} />

        <ResponseField name="latitude" type="number" post={["optional"]} />

        <ResponseField name="longitude" type="number" post={["optional"]} />

        <ResponseField name="subdivisionCode" type="string" post={["optional"]} />

        <ResponseField name="subdivisionName" type="string" post={["optional"]} />

        <ResponseField name="timeZone" type="string" post={["optional"]} />
      </Expandable>
    </ResponseField>

    <ResponseField name="hostname" type="string" post={["optional"]}>
      The hostname that is being used for the authentication flow.
    </ResponseField>

    <ResponseField name="ip" type="string">
      The originating IP address of the request.
    </ResponseField>

    <ResponseField name="language" type="string" post={["optional"]}>
      The language requested by the browser.
    </ResponseField>

    <ResponseField name="method" type="string">
      The HTTP method used for the request
    </ResponseField>

    <ResponseField name="user_agent" type="string" post={["optional"]}>
      The value of the `User-Agent` header received when initiating the transaction.
    </ResponseField>
  </Expandable>
</ResponseField>

## `event.secrets`

<ResponseField name="event.secrets" type="secrets">
  Secret values securely associated with this Action.
</ResponseField>

## `event.security_context`

<ResponseField name="event.security_context" type="object" post={["optional"]}>
  An object containing fingerprint signatures. This will be available only if the client is using cloudflare. The JA3/JA4 fingerprint can be null or empty in some cases. The most common case is for HTTP requests because JA3 and JA4 are calculated in TLS. It can also be empty due to the Worker sending requests within the same zone or to a zone that is not proxied (or a third party).

  <Expandable title="security_context properties" defaultOpen>
    <ResponseField name="ja3" type="string" post={["optional"]}>
      JA3 fingerprint signature. This will be available only if the client is using a TLS connection.
    </ResponseField>

    <ResponseField name="ja4" type="string" post={["optional"]}>
      JA4 fingerprint signature. This will be available only if the client is using a TLS connection.
    </ResponseField>
  </Expandable>
</ResponseField>

## `event.tenant`

<ResponseField name="event.tenant" type="object">
  Details about the Tenant associated with the current transaction.

  <Expandable title="tenant properties" defaultOpen>
    <ResponseField name="id" type="string">
      The name of the tenant.
    </ResponseField>
  </Expandable>
</ResponseField>

## `event.transaction`

<ResponseField name="event.transaction" type="object" post={["optional"]}>
  Details about the current transaction.

  <Expandable title="transaction properties" defaultOpen>
    <ResponseField name="correlation_id" type="string" post={["optional"]}>
      Correlation ID can be provided in the initial authentication request when the application redirects to Universal Login. You can use value to correlate logs and requests from your Action code with the user flow.
    </ResponseField>
  </Expandable>
</ResponseField>

## `event.user`

<ResponseField name="event.user" type="dictionary">
  An object describing the user on whose behalf the current transaction was initiated.

  <Expandable title="user properties" defaultOpen>
    <ResponseField name="app_metadata" type="dictionary">
      Custom fields that store info about a user that influences the user's access, such as support plan, security roles, or access control groups.
    </ResponseField>

    <ResponseField name="created_at" type="string">
      Timestamp indicating when the user profile was first created.
    </ResponseField>

    <ResponseField name="email" type="string" post={["optional"]}>
      (unique) User's email address.
    </ResponseField>

    <ResponseField name="email_verified" type="boolean">
      Indicates whether the user has verified their email address.
    </ResponseField>

    <ResponseField name="family_name" type="string" post={["optional"]}>
      User's family name.
    </ResponseField>

    <ResponseField name="given_name" type="string" post={["optional"]}>
      User's given name.
    </ResponseField>

    <ResponseField name="last_password_reset" type="string" post={["optional"]}>
      Timestamp indicating the last time the user's password was reset/changed. At user creation, this field does not exist. This property is only available for Database connections.
    </ResponseField>

    <ResponseField name="name" type="string" post={["optional"]}>
      User's full name.
    </ResponseField>

    <ResponseField name="nickname" type="string" post={["optional"]}>
      User's nickname.
    </ResponseField>

    <ResponseField name="phone_number" type="string" post={["optional"]}>
      User's phone number.
    </ResponseField>

    <ResponseField name="phone_verified" type="boolean" post={["optional"]}>
      Indicates whether the user has verified their phone number.
    </ResponseField>

    <ResponseField name="picture" type="string" post={["optional"]}>
      URL pointing to the [user's profile picture](https://auth0.com/docs/users/change-user-picture).
    </ResponseField>

    <ResponseField name="updated_at" type="string">
      Timestamp indicating when the user's profile was last updated/modified.
    </ResponseField>

    <ResponseField name="user_id" type="string">
      (unique) User's unique identifier.
    </ResponseField>

    <ResponseField name="user_metadata" type="dictionary">
      Custom fields that store info about a user that does not impact what they can or cannot access, such as work address, home address, or user preferences.
    </ResponseField>

    <ResponseField name="username" type="string" post={["optional"]}>
      (unique) User's username.
    </ResponseField>

    <ResponseField name="identities" type="array of objects" post={["optional"]}>
      Contains info retrieved from the identity provider with which the user originally authenticates. Users may also link their profile to multiple identity providers; those identities will then also appear in this array. The contents of an individual identity provider object varies by provider.

      <Expandable title="identities properties" defaultOpen>
        <ResponseField name="connection" type="string" post={["optional"]}>
          Name of the Auth0 connection used to authenticate the user.
        </ResponseField>

        <ResponseField name="isSocial" type="boolean" post={["optional"]}>
          Indicates whether the connection is a social one.
        </ResponseField>

        <ResponseField name="profileData" type="dictionary" post={["optional"]}>
          User information associated with the connection. When profiles are linked, it is populated with the associated user info for secondary accounts.
        </ResponseField>

        <ResponseField name="provider" type="string" post={["optional"]}>
          Name of the entity that is authenticating the user, such as Facebook, Google, SAML, or your own provider.
        </ResponseField>

        <ResponseField name="user_id" type="string" post={["optional"]}>
          User's unique identifier for this connection/provider.
        </ResponseField>
      </Expandable>
    </ResponseField>
  </Expandable>
</ResponseField>
