> ## 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-email-provider Action trigger's event object, which provides contextual information about the trigger execution.

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

The `event` object for the custom-email-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="from" type="string">
      Email address of the sender for the email.
    </ResponseField>

    <ResponseField name="html" type="string">
      Rendered HTML template.
    </ResponseField>

    <ResponseField name="locale" type="string">
      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 `verify_email` or `welcome_email`.

      Possible values:

      * `verify_email`
      * `verify_email_by_code`
      * `reset_email`
      * `reset_email_by_code`
      * `welcome_email`
      * `verification_code`
      * `mfa_oob_code`
      * `enrollment_email`
      * `blocked_account`
      * `stolen_credentials`
      * `try_provider_configuration_email`
      * `organization_invitation`
    </ResponseField>

    <ResponseField name="subject" type="string">
      Subject to be attached to the email.
    </ResponseField>

    <ResponseField name="text" type="string">
      Rendered text template.
    </ResponseField>

    <ResponseField name="to" type="string">
      Email address of 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">
  <Expandable title="request properties" defaultOpen>
    <ResponseField name="geoip" type="dictionary" post={["optional"]}>
      <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" post={["optional"]}>
      The originating IP address of the request.
    </ResponseField>

    <ResponseField name="query" type="dictionary" post={["optional"]}>
      The query string parameters sent to the authorization 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="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="name" type="string" post={["optional"]}>
      User's full name.
    </ResponseField>

    <ResponseField name="nickname" type="string" post={["optional"]}>
      User's nickname.
    </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="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>
  </Expandable>
</ResponseField>
