User __Events__ are automation tasks triggered by various user activities, like login, upload or an error condition that may occur. These also allow calling user calling authentication integration or two factor authentication plugins, etc.
\\
\\
Based on the __Action__ modifier, we can discern:

!1. Send Email, simple email notification Events
\\
This type of Event allows sending simple template based email messages, triggered by regular user activity. Various prebuilt templates 
available to select from the __Variables/Templates__ dropdown menu.
\\
\\
[attachments|event_email.png]
\\
\\
!!2. Run Plugin, to execute various plugins
\\
\\
This type of Event allows running a local , per user or global, server wide configured ''__[CrushTask]__'' plugin based task flow or ''__[Jobs]__'' . It also allows triggering the ''__[HomeDirectory]__'' plugin to automatically create user home folders at login time.
\\
\\
[attachments|event_email.png]
\\
\\
!!! Trigger hooks
\\
\\
Events can be triggered by activity of a normal user or a share account (temp account) , depending if one (or a combination of) option(s) are set in either the __When this user__ or __When a Share this user creates has this activity__ section. If the former option is
chosen, the Event still needs to be set up on the share creator (master) user account. The hooks themselves can be grouped as:
\\
!! Regular user activity related
\\
This if any of the eponymous __Uploads__, __Creates Folder__, __Deletes__, __Renames__ or __Downloads__ option is set. Can fire an event on user login, if the __Connects__ option is set, or on some user issue, if the __Has an error__ option is used. If an automation task is
to be triggered when a user creates a temp account using our ''__[Sharing]__'' feature, then the __Shares__ option is needed.
\\
\\
[attachments|event_email.png]
\\
\\
!! Special hooks
\\
\\
These allow triggering more advanced Events for specific use cases
\\
\\
!. Pre-Download
\\
This option allows a user to trigger an automation task on server side, before downloading a file, to run a virus scanner for example.
\\
!. Accepts disclaimer
\\
Users can be configured with custom web forms that are displayed after login, this hook is called when the user presses the OK button on the form. If the form allows custom user data input, the data entered into the form can be referenced by server variables, in the event task flow.
\\
!. Issues site command
\\
FTP-only, a rarely used feature, to fire an Event when the FTP client issues one of our supported SITE commands.
\\
!. Custom
\\
For some very specific use. The account can be configured with a __Custom__ webinterface button with some special javascript code snippet. When a user presses the button, or issues the __SITE PLUGIN__ FTP command (this is specific to CrushFTP Server only), this 
hook is called.
\\
!. Problem
\\
Another, for specific use. The account can be configured with a __Report a Problem__ webinterface button . When the user presses the button, a small input window is presented where the user can input it's complaints, then this hook is called. If the Event runs access
CrushTask plugin, these additional variables can be used :
\\
{{{
{path} and {selected_item} to reference the file/folder in cause
{browser}, {resolution}, {window_size}, {browser_version}, {host}, {local_time}, {local_time_formatted}, {timezone_offset} to reference various client side info
{message} references the user from input
{test_results} references the state of action, success or failure
}}}
\\
\\