Process Inbound Twilio SMS message in Maximo

In the last post, I uploaded some demos on how we can process inbound text messages to create SR and route Workflow. There are a few people on LinkedIn asked me how to do it. I also like to explore the option of integrating Maximo with Twilio directly without the need for App Connect. With Maximo 7.6, we can create a simple API using automation script. So, the video below is how we can create a simple script API and direct Twilio HTTP requests to Maximo:


(Sorry for the low sound quality in the video, I recorded it at night, so I have to whisper as to not wake anybody up) 

The script used in the video can be copied from here:


In this case, for the sake of simplicity, I only include the bare minimum components to make it works. You will probably want to write some scripts to automatically populate "Reported By" person based on source phone number and populate other details like location/asset number based on the content of the incoming message. And it would be nice to reply with a text message for confirmation and provide the end-user with the Ticket ID of the newly created SR. (For setting up a Trial Twilio account and sending outbound messages to Twilio, I've provided detailed instructions in an earlier post)

With this method, we’ll need Maximo to be accessible from the Internet, it’s is not a problem for a cloud-based system. But if you have an on-premise system, you’ll need to configure port-forwarding to make Maximo accessible from the Internet. For development, since my ADSL router is too shitty and port-forwarding doesn’t work, I used a tool called ‘ngrok’ to forward access of my local Maximo to the web via ngrok.io

The Scripted API is a new feature in Maximo 7.6. Thus this approach won’t work if you have an older Maximo version. It that case, probably using App Connect is an easier option. With App Connect, I used it for two functions: (1) act as an API gateway to route Twilio request to a local server, and (2) quickly transform HTTP request to REST/JSON request which Maximo can easily consume. App Connect is just a fancy name for a newer version of IBM Integration Bus (which IBM now call it App Connect Enterprise) and a bunch of new cloud-enabling features. So you’ll need some basic understanding of IIB in order to set it up. For connecting App Connect (the cloud component) and local Integration server, I followed the tutorial here: link

1 comment: