Epicor ERP Email Notifications: Self Opt-In/Out
So if you’ve been running Epicor for at least a month you know that someone wants an email notification when something happens. Usually it starts with PO Approvals, but as time goes on more and more users wish to be notified when something happens or changes in Epicor. Before you know it you have at least half a dozen BPM’s that are emailing people and eventually either promotion or turnover happens and now those email notifications need to change. BPM Email notifications and changes can quickly becoming an annoyance, but how to manage it? There are many solutions to this problem:
- Email Distribution Groups: This is a good option and if you haven’t done it yet, you should, this way your email administrator can help manage who receives the notifications, but be sure to add a line in your BPM Email Template that informs the receiver why they are receiving the email notification and what distribution group is being used. Any while it possible for your email admin to allow users to self add and remove, many companies do not do this, but if so this could work well. (Here is a helpful Spiceworks post on this topic)
- Epicor Social Premium: while it doesn’t have Email notifications (yet? will they ever add it?) it does allow users to follow and unfollow. But maybe your business isn’t willing to take on Social nor the cost. Besides it’s still a bit of a closed system.
- Social Platforms: such as Slack, HipChat, Jive, Socialcast and others that will receive emails and post them to a user/group/channel/room/stream/etc, which then users can self subscribe to email notifications. (Evaluate your options carefully, some do one but not the other). This can also allow your company to experiment with Social technologies for free. Perhaps your company already use one of these social platforms, if so, then give this a try. This is the option one of my clients decided to give a shot and it’s worked out very well.
While you can use other social platforms, here I will be walking through doing this with Socialcast. To get started, first head over to Socialcast.com and sign up for a free account. You will receive an email confirmation so you can setup your account (as an admin) and invite your first users. Last I knew, while the free account is limited in functionality and user count, everything in this article should work, just keep in mind that you cannot have more than 50 active users at a time, that includes you and an Epicor user account.
- As the admin you will need to setup many of the company account setups under Admin Settings in the ‘cog’ menu. For this to work be sure to enable the ‘Email to Share’ and ‘Respond to Messages’ setting under Integrations > Add-Ons.
- If you haven’t already, you should create an email address on your email server for Epicor, something like Epicor@YourCompany.com. You could just do this as an email alias on your own email account, as you will need to receive the Socialcast invite email to setup the Epicor user account. Epicor will be one of the first Socialcast users you will need to invite. Once you receive your Epicor user invite, go ahead and set it up with the appropriate details.
- Now we can test by creating a BPM that sends an email to the special Socialcast ‘Email to Share’ email ‘email@example.com.’ The way this works is that when firstname.lastname@example.org receives an email, it looks up the ‘from’ email address in the header, in Socialcast and then posts the message to that user’s feed. For our test we will send an email to Socialcast whenever a user logs in.
- In Epicor open Data Directives Maintenance from System Management > Business Process Management.
- Enter ‘SysUserFile’ in the Table field
- Select ‘New Standard Directive’ from the new menu.
- Give the Directive a name like ‘EmailSocialcast’
- Click on the ‘Design’ button
- Add a Condition Widget & select the ‘The specified field has been changed from any to another.
- Set ‘specified’ in the phrase to ‘LastLogOnAttempt’ field
- Add the Send E-mail widget and change the Action option from ‘asynchronously’ to ‘synchronously’ and then click on the ‘Designed’ word
- Give the e-mail template a name like ‘EmailSocialcast
- Set the From field enter the Epicor email address you created for the Epicor Socialcast account.
- Set the To field to email@example.com
- In the Subject field, right-click and select ‘Call Context > callContextClient > CurrentUserID’ then press the space bar and type ‘has logged in!’
- In the Message, clear out the existing contents and right click and select ‘Field Query’
- In the popup, set the name of the field to something like MyFullName and check the ‘Updated records’ field and then find the Field Name called ‘Name’ and check the box next to it and select ‘OK’
- After the inserted token, press the space bar and type in ‘has logged in:’ and press the enter key.
- Right-click and select ‘Table Query’
- Name the field ‘MyUserData’ and check the ‘Updated records field and then enable the following fields from the list: UserID, LastLogOnAttempt, PwdLastChanged and select ‘OK’
- Review your template and then click the ‘OK’ button if everything looks ok.
- Now connect the Start Widget to the Condition Widget and then from the True side of the Condition Widget to the Send E-mail Widget, so it should look something like this:
- Select the ‘Save and Exit’ button to get back to the Data Directive screen. There, enable the ‘Enabled’ checkbox and Save.
- Now just log out of Epicor and back in. Within a few minutes, if you monitor your Socialcast Epicor user feed you should see the email message populate as a post:
- Once you have confirmed it works, you should recall that Data Directive in Data Directive Maintenance and disable the ‘Enabled’ checkbox, Save and then Delete the Data Directive, otherwise you will be sending an email to socialcast every time someone logs in. (I always save records where I have disabled something before I delete them just to make sure any actions trigged by changing the value actually happen so that orphaned records are not accidently created.)
- In Socialcast Email notifications can be sent on several things but to be able to only receive Email Notifications from certain BPM’s the email message needs to contain a ‘tag’ basically a # with a ‘word’ following it, so in this case we could add #loggedin. Once Socialcast has one post with the tag, then each user can setup what is called a ‘Stream’ for any message that contains that tag. Then the user can enable or disable email notifications for that Stream:
- Click on your socialcast Company logo to go to your home page.
- Once on Home, click on the Home menu and select ‘New Custom Stream.
- Now select the type of stream, ‘Tag/Keyword’
- Give the Stream a descriptive name, like ‘Logged In.’ Your users can either create one stream that they are subscribed to and just add additional tags or they can create a stream per tag, depends on how they want it to work.
- Type in the tags or keywords that should be included in the stream. In this case #loggedin. I recommend using tags so that other unintentional posts are not included and notifying your users unnecessarily.
- Now select the ‘Create Stream’ button. This will create the stream and take you to the stream.
- To Receive emails for new posts to the stream, select the Stream’s Cog icon and select Receive email for new posts.
- To stop receiving emails from the stream, select the ‘Don’t Receive emails for new posts.
Now you just need to invite your users, train them on how to create and subscribe to streams and convert many of your BPM’s over to email Socialcast instead. This isn’t ideal for every situation, but for notifications where your users want the control of being notified or not this is a good option. Some users may not even use the email notifications and instead just follow the Epicor user account or a stream. Here are some ideas for BPM’s notifications to Socialcast:
- DMT Powershell activities
- New Part Numbers
- Parts added to a PO with zero Std Cost
- Nonconformance created
- New Customer Created
- New Vendor Created
- Part Bin Negative Qty On Hand
- Corrective Action Issued
- Certain PO’s have closed (watch list)
Really anything where a group of people could benefit from seeing the activity relatively close to when it happened. This could even be used to kick off a process or discussion where everything is tracked as comments on the original post. You could even use web services like Zapier and KissFlow together to kick off a KissFlow process by having an Epicor BPM email Zapier.
Creative, flexible and quick to deploy integrated solutions like this is what I love to do. How can I help you use tools like this to align your business and your software?
If you found this post helpful, be sure to like, share & comment.
Need help implementing this BPM or with anything else Epicor?
Contact me and let’s get something scheduled!
“You Don’t Know, What You Don’t Know”
Let’s Get Started: