Did you know that Maximo has in-built integration with email?
Most users know that Maximo can send out email communications populated with data from Maximo. These Communication Templates can be triggered from Workflow, an Escalation (a change in a record or time related), or as required using the Create Communication option available in many applications.
The Template often contains a link that allows the user to login to Maximo and then takes them directly to the record related to the email.
You can check out more on Email Communications on IBM’s IoT Academy.
Did you know that Maximo can also process inbound emails, send an email and process the reply?
Maximo Email Interaction Setup (EIS) can handle a number of different methods of processing emails.
Inbound Service Requests
The first process that can be easily set up is the ability to process inbound emails as Service Requests (SR).
Imagine a Help Desk taking calls from a large number of authorized people. An SR can be created from an email where the Subject becomes the SR description and the body becomes the SR Long Description. Maximo will also fill in the email address of the sender and the date it was received.
The details of how this is done can be found on various IBM links and the IoT Academy, but the basic steps are:
- Set up an Email Listener with your corporate email server and an inbound email address (get a dedicated one created first);
- Set the Security Settings (Select Actions) using Object SR and Application CREATESR;
- Ensure that the WF Process LSNRBP is enabled and active, then select this in the Email Listener;
- Activate the Email Listener and you are good to go!
For everyone that sends in an email, you will need to have their email address and have them set up as a Person in the People application. Note, the SR will be created with the ‘sent from’ email address but the Reported By will be set to MAXADMIN. If you want Maximo to also recognize them as a user, then you’ll need to add them as a User against the same Person record. This potentially creates a license impact, but these Users are a basic Service Requestor Type License which is free.
All of that, with a little technical know-how, is really straightforward to set up and get working. There is also an Email Processing Tab in the Email Listener application which is used to process errors etc. This tab needs to be monitored, usually by someone in IT Support. An admin email address can be set up to notify Support of any errors received.
This process can also be configured to receive other types of records such as an Incident but requires good technical know-how. You can also format the email with xml tags. These look like “<TAG>DATA</TAG>”, so that additional data can be processed.
Send & Reply Emails
The Send & Reply options are a little bit more complicated to set up. They are very dependent on getting the process that you choose for email integration. Some use cases include:
- Purchase Requisitions (PRs) are required to be approved by Senior Management that do not login to Maximo frequently e.g. VPs.
- Work Orders or Service Requests are required to be closed by 3rd Party Contractors who might not be able to access Maximo directly.
It is important to note to make this work, whilst the users might not access Maximo directly, they will probably need to be set up as Users in Maximo to process the records. This may incur additional license considerations.
The “Send” part of the process can be triggered in two ways. This can either be based on a Status Change or a Workflow Assignment. The “Reply” part is where the user replies to the sent email with a simple reply of an integer 1, 2, 3 etc. Note, there is also an option of “Advanced Reply” where the reply can contain other data that needs to be changed. The user would need to edit this in the reply in a given format. This could be difficult to do where the user is using a smartphone or tablet.
The application that is used to set up the trigger and responses is Email Interaction Setup (EIS). Whichever option you use, further details are available from the IBM IoT Academy Course or you can check out this YouTube video.
Here’s a bit more detail on each option:
The EIS can be related to when a record moves to a new status. The options allowable (1,2,3 etc.) are then linked to the status that the user wants to select. For example, the PR is at Waiting Approval which triggers the email and the options are 1) Approval (APPR) or 2) Cancel (CAN).
The status trigger in itself causes an issue. WAPPR is the default status that a PR is created in, therefore this cannot be used to trigger the email being sent. A new status might be needed e.g. SAPPR (Sent for Approval) that the PR is set to prior to the email being triggered.
Within Workflow (WF) there are Task Nodes (or Assignments) where a User or Users can be assigned the record in WF based on a Role. This has an automatic email that can be triggered using the standard WFASSIGN Template. As well as the WF Assignment, the EIS can issue the email with a corresponding set of options as per Status Change. Again, the User can reply to this with a simple 1,2 or 3 etc.
In EIS, we identify the WF process and which Task Node is being assigned as well as the options that are allowed. However, instead of the Status linked to each option, you need set the field in which the reply is recorded (it must be an integer) and whether the option is an Accept or not. Maximo uses this information in WF. First, the Task Node can have either a Positive or Negative action out of the node. If the option is Accept – it will take the Positive route. If it is not Accept – it will take the Negative route. The field in which the reply is stored can be checked by the WF using a Condition Node to decide any further action.
What all this means is that if you want to use the Workflow option, which is a lot more configurable than the Change Status, you do need to know WF quite well. If you have a current WF Process in mind, it will need to be adapted to manage the differences between an email assignment and a workflow assignment as the replies / actions required may be handled in different ways.
If you want to learn more about Maximo Workflow, check out this IBM IoT Academy Course on Workflow.
Tip: In Workflow, under the Assignment Task, the Template must not include any To: or CC: recipients. These will be generated from the Role to which the record has been assigned in WF. The revised Template that contains the EIS details (see below) must replace the standard WFASSIGN template in the Task Node properties and not the Notification section.
There are a number of other components that need to be set up and some additional considerations.
Communication Templates are used to generate the email. IBM provide some examples out-of-the-box in Maximo and these can be duplicated, changed or reused. The key is that the following is added to the bottom of the Template:
The following section is for system use only. Do not change. @@[email protected]@
This is used by Maximo as it replaces the @@[email protected]@ with the options that we provide and @@[email protected]@ with the data that Maximo needs to process the reply email.
Remember that the email populated from the Communications Template is based on the record that triggered it. If your process uses Workflow to trigger the email then it will be based on WFASSIGNMENT, therefore you are limited with the data that you can add.
Tip: You can add a relationship to WFASSIGNMENT that links to the WF Object. This can then be used to get additional details that you might want to be displayed. For example, if you have a PR that is in workflow, you can create a new relationship on WFASSIGNMENT linking to the PR so that the PR fields can also be included on the Template.
When you use the Change Status type, the Communications Template uses the main record that that the status is changed on. There is a limitation however in being able to show enough detail in the email for the receiver to assess and make the appropriate choice. The Templates cannot show any detailed objects when it is one too many.
For example, if a PR is for $10,000 and has a detailed Long Description then all this information can all be shown. But, if the PR has 10 lines for different WOs and containing Materials and Services, then the details cannot be shown. Only the first line can be shown, or a specific number of lines but not a dynamic number of lines.
Tip: It is possible with some clever configuration! An Autoscript can be used to read the PR lines and recreate the data in a Long Description field associated at the PR header. This Long Description can then be included in the Communication Template. If you want to get fancy, then use HTML table formatting and display the data in a nice easy to read tabular format.
Escalations are used to trigger the EIS into action. There are a number of examples (filter by MF) in Maximo that can be used out-of-the-box or edited to fit the purposes. They generally just need activating.
Escalations are set up on a frequency in which the emails are set up. For example, the assigned Action MFMAILSENDWFM has the java code assigned which grabs the information set up in EIS, generates the email based on the Template and then sends it out to the Roles specified.
System Properties: There are few properties that may need to be set. These are not generally listed but they are detailed in several different places. A good start is this Wiki Blog – Setting up email notification required properties in Maximo.
If you want to process text based emails then these are the settings:
|mail.smtp.host||Host Email Server|
As mentioned before, each email address must be set up on a Person record and if using EIS, they should also be a User. In most cases, the Email Format should be set to Simple. Advanced allows users to reply but can also include additional information if in a prescribed format.
There is also a User Notification Type field. This field is not displayed out-of-the-box, so it needs to be set to EMAIL to process any outbound email notifications. This is usually the default, but since the introduction of the option to send SMS instead (added a bit late in terms of technology!), this default seems to have disappeared. You need to ensure this field is populated which might mean you need to add it to your version of the People application.
In summary, the Maximo Email Listener for inbound Service Requests is relatively simple to setup and get working! However, Send & Reply requires a lot more thought and planning as to how to put the workable solution in place.
I recently delivered Technical Training on Email Interaction Setup at the Canadian Maximo User Group (CanMUG) in Calgary. Please contact me for a copy of the training slide deck or for additional support on setting up Maximo with email.
Some points to be aware of as at time of posting this blog…
Text / Html Format Emails:
- When receiving emails, Maximo operates better if they are in Text Format. HTML can sometimes affect how the email is read and whether the generated section is read properly.
- Ensure that there are no auto signatures added to the email if it is sent from a corporate mail system. This can affect how the email is read when using the ‘reply to’ function.
- When using some smartphones, the reply email might prefix all the reply lines with a >. This can also affect the way the reply is handled.
There is a missing piece of data in the generated email sent out from Maximo when using Workflow. The text LSNRACTION=? needs to be added into the generated text part of the email. There is an outstanding PMR with IBM for this issue.