Thursday 18 May 2017

Let’s expand on AIS and JDE–api.ai; meet Eddie the JDE bot!

Team innovation at fusion5 have been working overtime to come up with a very cool (cool is a subjective term, as we all know) for communicating with JD Edwards.  Let’s use a slack bot that is hooked into JDE via AIS and api.ai.

I know that this seems complicated, but there is not lots of code to it, we’ve done all of this (this week)…  You can see my conversation below:

image

Our slack bot authenticates to JDE using oauth or SAML3 – so this is a nice easy way of making sure that things are secure. 

Okay, so this is really cool.  In our particular example we are able to approve, reject and list all of our purchase orders in JDE.  This is for the user that is currently logged in.  We can do this in natural language and have a conversation with the bot, like here:

API.AI Bot APP [4:13 PM]
Sup

shannonm [4:14 PM]
any PO's today?


API.AI Bot APP [4:14 PM]
You have 3 purchase orders awaiting approval.

shannonm [4:14 PM]
cool


API.AI Bot APP [4:14 PM]
Rad!

shannonm [4:14 PM]
show me the first PO


API.AI Bot APP [4:14 PM]
The 1st is for 3003.74 USD, added by SYED ALTHAF GAFFAR. It is for order 658, and requested on Thursday, 2nd of February.

shannonm [4:14 PM]
wow


API.AI Bot APP [4:14 PM]
You are easily impressed

shannonm [4:14 PM]
approve


API.AI Bot APP [4:14 PM]
Please enter your reason for approving this Purchase Order

shannonm [4:14 PM]
I think that seems like a good use of company funds


API.AI Bot APP [4:14 PM]
(Mock) The purchase order has been approved using I think that seems like a good use of company funds

shannonm [4:20 PM]
Any po s for approval


API.AI Bot APP [4:20 PM]
You have 3 purchase orders awaiting approval.

shannonm [4:21 PM]
About purchase order number one


API.AI Bot APP [4:21 PM]
The 1st is for 3003.74 USD, added by SYED ALTHAF GAFFAR. It is for order 658, and requested on Thursday, 2nd of February.

Great, but it just get’s better and better.  The power of slack means that I can also just run this on my phone:

Screenshot_2017-05-18-16-21-33

So wait, I’ve just created a mobile application on my phone that will approve my purchase orders this simply?  Yes.  You can also use voice for this, as every device has a built in voice keyboard – yes. 

Of course it’s just as easy to use microsoft teams for a more professional conversation:

image

Wow, so you can have a conversion with your mobile phone (driving to work), and do all of your PO approvals.

We can even ask the bot (by voice) to send us the PO attachments as an email, as you might want to verify them – no problems – this is what the bot will do!

We’ve also got this bot working with google home – a virtual assistant.

googlehome

IT just talks to you about anything JDE that your heart desires.  There is an easy extension to any customer service type applications, a website bot for example.  Your customers could log in and ask about the progress of an order, the bot could ask a few questions and tell them exactly what is going on.  This is a very simple way of giving more to your clients with less.

There are some really cool applications for voice control and JD Edwards.  Think about all of the dirty hands data entry scenarios…  Meter readings for example.  We also have a bot that will tell you meter readings for an asset and allow you to update them with voice.  This is an amazingly pragmatic use case for voice and JDE, as when you are wearing gloves – you don’t want to enter data on a mobile keyboard.  WOW.

Imagine the logical extension, as we’re also working with estimote beacons. 

Image result for estimote

Imagine that your  fleet had beacons…  Imagine that your mobile JD Edwards application listened for beacons because you were running your “fixed assets” mobile application.  Therefore your mobile device knows the asset that you are working on.  You could ask it “what maintenance needs to be done today?”, perform meter readings, record time worked – everything done because of your proximity to a beacon.  This makes the data entry process much more efficient and less prone to error.

You have a beacon that runs for 5 years on it’s own battery.  Can tell you light, barometric conditions, temperature and more…  This beacon transmits this information to your mobile device.  You’re mobile device then transmits this data “IoT” style to your data warehouse in the cloud for analytics and insights.

3 comments:

Rohan Lopes said...

Hi Shannon,
Nice article... I got small Q. I have been working on similar use cases and was able to connect JDE over slack bot but I face limitation in authentication over AIS.

The JDE instance I connected to is not integrated with LDAP. It uses local db authentication module.
The AIS Token is only valid for 45 mins. Thus in my bot user has to enter user/pass after every 45mins.
Is there a way i can over come this scenario ?

Shannon Moir said...

Hey, we just login again if it fails - nice and simple! That's the thing about RESTful (which we are not really in JDE land), that things can be restarted quite easily.

Unknown said...

Heyy Shannon,

That was a great article and it was great to realise the cool features after integrating JDE with different platforms. I have also been trying to integrate JDE with Alexa or Google home but not getting lucky with the information required over how and where to start. It would be a great help if some links could be shared from your side as you were able to do the same successfully and very efficiently.

Best Regards,
Shoeb Khan