Send a Sage X3 Workflow with Office 365 by Sage City VIP 'RegularGuy'

Hello. My name is Brandon Gabert and I am an Information Systems Manager at Guardian Chemicals Inc. in Sturgeon County, Alberta, Canada. We have been a Sage X3 customer for over 5 years, and I was the project manager for our X3 implementation. I'm a Sage X3 Certified Consultant and have also been given the designation of Sage VIP (Very Important Poster) on the Sage City community forums.

For my first blog post, I want to cover something I've seen some Sage X3 customers express interest in learning. It was a topic that came up at Sage Summit in Atlanta this year during one of my Sage City Roundtable Sessions and I wasn't able to adequately demonstrate the entire solution. Since some Sage X3 users have asked about how to configure Sage X3 to use Office 365 as their email provider for Sage X3 Workflow Rules, let's take a look at at sending a Sage X3 Workflow with Office 365.

Workflow rules can notify us when certain events occur, use signature management (orders can't be processed unless signed), and offer a wide array of other functionalities. They're nearly infinitely configurable. The most common way workflow rules notify users is via email.

Office 365 is Microsoft's hosted services for Microsoft Exchange email, Office applications and other functionalities. In this post we will determine how best to setup Exchange Online to transfer mail to internal and external recipients.

Office 365 Configuration

Per this Microsoft Article on using Office 365, we will use option 3 (Configure a connector to send mail using Office 365 SMTP relay). Let me explain why this is the optimal choice:

Option 1 is easy to setup but is a non-starter because it would require SMTP authentication, which X3 does not support. Even if we were to setup a Microsoft SMTP relay, the outbound mail would need to have the same "From" address on all emails, would consume an Office 365 mailbox license, and would be limited to the number of emails it could send per day. This won't work in our scenario as notifications will have the From address of the user who caused the event (e.g.: the one who changed the order).

Option 2 is also easy to setup, but can't be used because it won't allow sending to emails outside of your organization. If your notifications won't be sent outside of your organization, this would be the easiest to setup and you could set the SERMES parameter in Sage X3 with smtp.office365.com. If you want to ensure that notifications can't be sent outside your organization this would probably be a great control, but also note that with this setup your email will be sent over the internet unencrypted.

Option 3, which will require configuration on a mail flow connector in Office 365 using an O365 admin account, is the only way to get the internal/external functionality that would suit most environments. 

Configuring Exchange Online

Step 1: Login to Exchange Online Administration Center

Login to Office.com using an Office 365 administrative account and navigate to Admin Center, then choose the Exchange Admin Center on the left. This will open the Exchange Admin Center in a new tab of your web browser. 

                

Step 2: Navigate to the Mail Flow and Create the Connector

Once this screen is launched, navigate to Mail Flow and Connectors and click + to create the new connector. Select Your Organization's Email Server and Office 365, then click Next. Give it a sensible name for your environment and click Next.  

   

On the following screen, there are 2 options. We must use the 2nd option, By Verifying the IP Address, as X3 does not support TLS or client certificates. Click + to enter your location’s static IP address and then click Ok

Once you click Next, you will be taken to a screen which will confirm the settings. Click Save and the connector will be enabled and available for use.

        

Now, let's configure X3 to use it!

Configuring Sage X3

Step 1: Login to Sage X3

Login as a user with permissions to access Setup / General Parameters / Parameter Values. Click the arrow next to the SUP Supervisor item, then open the Folders and select your folder. Click the action menu of the WRK Workflow item and click Detail. Under the SERMES Email Server parameter, enter the MX endpoint of your Office 365 server (e.g. mycompany-com.mail.protection.outlook.com). Click OK and save the updated parameters.

        

Step 2: Testing

After completing these steps, let's create a simple workflow to test the functionality. Navigate to Setup / Workflow / Notifications and create the following test rule, replacing [email protected] with your actual email. Create and click the Validate button on the right.

Navigate to Sales / Orders / Orders and modify, create, or delete an order. As soon as the record is saved you should receive your test email, which has flowed through your Office 365 server. Success! 

Parting Notes

This method will send your notifications unencrypted through the internet. If encryption is a requirement, stay tuned for my next blog post, which will cover using an Internal Mail Relay to handoff messages from X3 to Office 365. Usually, Microsoft's SMTP server included with IIS can be used to encrypt the mail across the open Internet.

Brandon Gabert
Information Systems Manager
Guardian Chemicals Inc.

Anonymous