!!Custom Forms, Events, and Task Flow
\\
You can add your own button to the WebInterface that presents a custom form, and that custom form can call a CrushTask flow to get its contents, and then based on the submission of that custom form, you can then make custom actions to do other activities in another task flow.\\
\\
The below example tries to cover all the steps to get you started with the base scenario.
----
1.) Setup your Job/CrushTask with a meaningful name that gets the info you want for your dropdown form element.  in this example Ifind files located in a folder, but it could just as well have been a FileParser from a CSV, or a DB SQL query etc.  For simplicity I did a list of files.  The results being returned to the WebInterface however need to have the field "key" and "val" or "item_key" and "item_val" for them to work.  This is the reason for the UserVariable task.  Otherwise my file listing would not have those elements in it, so I take the name and assign it to the key, and the url of the item and assign it to the value that is actually submitted with the form.  I called my job "my_own_list".  This is important in step #2.\\
[attachments|custom_job.png]\\
\\
2.) Next we need to make our [Custom Form|CustomFormTask] in the Preferences, WebInterface, Custom Forms.  Here I made a new form called "crushtask_my_own_list" and added on Dropdown item.  This item has the name "myitems_db".  The suffix "_db" is what allows us to do the "magic" here.  When you use _db, you get another "type" control, set it to Task.  Then pick your prior task item...in my example, "my_own_list". This will be called to populate this form's dropdown.\\
[attachments|custom_form.png]\\
\\
3.) Now we need to set the user profile to have a button that triggers a [CustomEvent].  In the User Manager, WebInterface section, WebInterface Buttons, add a new button of type "Custom".  Give it whatever name you like, but the Target config must be "javascript:customEvent({paths:"{files}"});" so that the selected files are passed to the Custom event being triggered. Additionally set the "Custom Event Form" to point to your form you created in step #2.  This determines what form gets displayed when clicking the button.\\
[attachments|custom_button.png]\\
\\
4.) Next we need to create our event that accepts the prior CustomEvent from #3 and does something with the items.  This is in the Events section of the User Manager.  The main aspect being that you enable "When this user:" and set it to "Custom".  Always do the event, do the event after the user "Complete the batch".  Now you can either design the event inline here in the User Manager, or point it at a job flow you design for handling this.  I am showing an example inline for the sake of simplicity.  The variable you will receive is the named item you defined in your form from #2.  Mine was called "myitems_db".  We need to prefix "meta_" to this because this is meta data being included in an event submission.  So my variable is "{meta_myitems_db}".  I can assign this to other variables, or in my example I do some logic based on the selection to decide on the future path to take.  If the value contains "38", then we do something else.\\
[attachments|custom_event1.png]\\
[attachments|custom_event2.png]\\
\\
----
So that is how you tie things all together for custom input from a user, and finally custom decision making based on user activity.\\
\\
If you wanted to then create a share link to the items they had chosen, make an email taks and use "https://mydomain.com/{share:reference:30}" in the body of the email somewhere.