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

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

# Actions Triggers: custom-phone-provider - Event Object

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

## `event.client`

<ResponseField name="event.client" type="dictionary">
  Information about the Client with which this login 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.connection`

<ResponseField name="event.connection" type="dictionary" post={["optional"]}>
  Details about the Connection that was used to authenticate the user.

  <Expandable title="connection properties" defaultOpen>
    <ResponseField name="id" type="string">
      The connection's unique identifier.
    </ResponseField>

    <ResponseField name="metadata" type="dictionary" post={["optional"]}>
      Metadata associated with the connection.
    </ResponseField>

    <ResponseField name="name" type="string">
      The name of the connection used to authenticate the user (such as `twitter` or `some-g-suite-domain`).
    </ResponseField>

    <ResponseField name="strategy" type="string">
      The type of connection. For social connections, `event.connection.strategy === event.connection.name`. For enterprise connections, the strategy is `waad` (Windows Azure AD), `ad` (Active Directory/LDAP), `auth0` (database connections), and so on.
    </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.notification`

<ResponseField name="event.notification" type="object">
  <Expandable title="notification properties" defaultOpen>
    <ResponseField name="as_text" type="string">
      The text, as we rendered it, ready to be delivered as a text message.
    </ResponseField>

    <ResponseField name="as_voice" type="string">
      The text, as we rendered it, ready to be delivered as a voicetext message.
    </ResponseField>

    <ResponseField name="code" type="string" post={["optional"]}>
      The One Time Password that we drawn for this message for some types (e.g. `otp_verify`, `otp_enroll`). If provided, it is important to have it conveyed to the end-user.
    </ResponseField>

    <ResponseField name="delivery_method" type="string">
      The way the message should be delivered. Could be `text` or `voice`.

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

    <ResponseField name="from" type="string" post={["optional"]}>
      The E.164 compliant phone number for the sender.
    </ResponseField>

    <ResponseField name="locale" type="string" post={["optional"]}>
      The locale we rendered the message in, example `en_US`, as defined in the BCP-47 specification.
    </ResponseField>

    <ResponseField name="message_type" type="string">
      The type of message that is being send, like `otp_verify` or `blocked_account`.

      Allowed values: `otp_verify`, `otp_enroll`, `blocked_account`, `change_password`, `password_breach`
    </ResponseField>

    <ResponseField name="recipient" type="string">
      The E.164 compliant phone number for the recipient.
    </ResponseField>
  </Expandable>
</ResponseField>

## `event.organization`

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

  <Expandable title="organization properties" defaultOpen>
    <ResponseField name="id" type="string">
      The Organization identifier.
    </ResponseField>

    <ResponseField name="display_name" type="string">
      The friendly name of the Organization.
    </ResponseField>

    <ResponseField name="metadata" type="dictionary">
      Metadata associated with the Organization.
    </ResponseField>

    <ResponseField name="name" type="string">
      The name of the Organization.
    </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.tenant`

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

    <ResponseField name="friendly_name" type="string" post={["optional"]}>
      The friendly name for the tenant, usually a more human-readable version of the ID.
    </ResponseField>

    <ResponseField name="home_url" type="string" post={["optional"]}>
      The home URL for the tenant, if defined and as found in its settings.
    </ResponseField>

    <ResponseField name="logo_url" type="string" post={["optional"]}>
      The logo URL for the tenant, if defined and as found in its settings.
    </ResponseField>

    <ResponseField name="support_email" type="string" post={["optional"]}>
      The email to the tenant's support service, if defined and as found in its settings.
    </ResponseField>

    <ResponseField name="support_url" type="string" post={["optional"]}>
      The url to the tenant's support service, if defined and as found in its settings.
    </ResponseField>
  </Expandable>
</ResponseField>

## `event.transaction`

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

  <Expandable title="transaction properties" defaultOpen>
    <ResponseField name="correlation_id" type="string" post={["optional"]}>
      A unique identifier to correlate this request across multiple services for distributed tracing.
    </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>
