We have a requirement to open a form that the user must acknowledge that opens after login but before launching the main menu. I found this in another article:
Sounds like you are looking for the “shortcut” functionality.
Open your UD Form and then from the toolbar - File > Send > Record to File
Save that in the Client Config folder and create a Windows Epicor.exe shortcut that references the Sysconfig file created by the “Record to File” option. When you run with that Sysconfig, it will only open the Menu item stored in the Shortcut section of the Sysconfig.
I did this but it only opens the form, not the actual application. How do I get Epicor to open after showing this form? I put the shortcut into my normal config file but it doesn’t do anything beyond the form.
Also, is this possible in Kinetic? We haven’t moved there yet but we will be moving there soon. I will need a solution for both if possible.
A Post BPM to display a messagebox via widgets or C# InfoMessage.Publish on SessionMod.Login might work? If it’s to be informational only? You would want to try on a non-prod and be ready to bail yourself out with an API Key if it breaks.
We are a government contractor and are moving toward our CMMC assessment. There is a requirement to display a message to the user when they log in. We are trying to determine if we can meet that requirement for Epicor or not.
I will look into the post BPM to see if I can get that working (not thrilled with the idea of breaking even a test environment).
I tested this in 2025.2.10, and it seems to meet your requirements. I moved it away from SessionMod.Login to another BO that fires only once on login in the hopes that it’s a little less dangerous
If you wanted to block login without agreeing, you might be able to move this to SessionMod.Login and change it to a Yes/No prompt, and throw an exception on No. that should prevent login.
I did not, it makes sense that a different set of BOs would fire with SSO - no need to check if a password expired if you are authenticating by another means.
Putting the same thing SessionMod.Login should work (or you can find another BO that fires only one time on login with SSO)
I am still working on this. In Gabriel Franco’s post he mentions SessionMod.Login. Is that available in Epicor 10? If so where is it? I can’t seem to find it.
Unknown - but this is how I tracked down those two BOs on Kinetic →
I logged in, then I checked the Application Server Log for the first instance of my username.
When I found it - I looked for any BOs that fired just once.
IsPasswordExpired fit the bill, SessionMod.Login was the only other one I noticed that fired one time.