How I Built a Chatbot for IFS with Free and Open Source Tooling…

Love them or hate them, chatbots will be a big part of tomorrow’s technology. Chatbots have become extraordinarily popular in recent years and applications in this area is getting wider each day. With the increase of integration capabilities of messaging platforms, rise of AI and the low code chatbot platforms, building a chatbot has been super easy and can be done in few steps.

My interest in chatbots began in year 2019 and I attempted to learn making chatbots first with Azure Bot Service and then with DialogFlow. They both are superb enterprise grade platforms but it takes lot of effort to build a bot from scratch and bring it live. In contrast, there are no-code chatbot platforms like Chatfuel and Manychat has many building blocks needed to build the chatbot and built in integrations with messenger services like Facebook Messenger, WhatsApp and Telegram. Using these off the shelf services and it’s really easy to create chatbots and I thought it will be more fun to try this path instead of coding.

One of my chatbot success stories can be found here: https://dsj23.me/2019/08/14/build-a-personal-assistant-bot-with-integromat-and-chatfuel

I thought of bringing the concept to the next level and create a chatbot for IFS. The idea was ignited by one of my mentors and a very good colleague Leffe who asked whether I have something to showcase for our internal conference at EVRY, TechCon 2019.

After TechCon, this project was lurking in my workspace for over year and half and I thought of finally making a post about it to salute the IFS access providers which will be deprecated along with the new release of IFS.

Conceptual Problem…

Think about a service provider company who register service requests from customers and dispatch technicians to fulfil customer request. Usually they have a service desk where customer can call or email and register the service request. What we tried to achieve is automate this with a chatbot where a customer can register service request without any hassle and just in few steps.

Tooling…

I chose Chatfuel bot platform to make the my chatbot since it’s so easy to cerate the bot flows and it has out of the box connectivity with Facebook Messenger. Interface between Chatfuel and IFS was done with WSO2 Enterprise Integrator and my own WSO2 connector for IFS knak.it. As the topic implies, all the tooling are free and open source ๐Ÿ˜Ž

Design…

Functionality of the chatbot is rather simple, a user is able to enter service requests and check the status of the service request. Note that this is built with IFS Java Access Provider and not with the REST Apis. Therefore it can be implemented even in Apps8 or Apps9 without any problem!

IFS Chatbot design
IFS Chatbot design

Below you can see the design in action.

Everyone… meet Iva, the IFS Virtual Assistant ๐Ÿ˜Š

Below is how the service request created from above conversation looks like in IFS

Now we’ll dig little deep into the technology behind this. I’m not going to explain it step by step as in my other posts since it will be too lengthy and boring. If someone is interested, then the source for IFS-WSO2 API for Chatfuel API is shared here but unfortunately i’s not possible to export the chatbot content in Chatfuel but if anyone like to see how it’s setup, then give me a nudge so I can allow access to the project.

In Chatfuel you can create dialog sequences to interact with the user and fulfil user request. We’ve created two dialog flows, one to create a service request and other one to search the request. Since Chatfuel bot is directly connected to Facebook messenger, it can view basic information such as name, email and phone number from Facebook profile. Therefore you can start the conversation with a personalize message.

Below is the conversation flow of the chatbot in grasp.

Next challenge was to call IFS with Chatfuel. We used WSO2 Enterprise Integrator for this purpose and created two API resources to consume by Chatfuel. Data mappers has to be used to convert the documents between chatfuel JSON format and the knak.it connector XML format.

We hosted WSO EI inside a Azure VM since it needs public access (and TechCon conference was all about Azure, so we had to relate to it ๐Ÿ˜‰)

Below presentation has more details about WSO2 Enterprise Integrator and how we built the chatbot using Chatfuel and IFS-WSO2 connector.

[googleapps domain=”docs” dir=”presentation/d/e/2PACX-1vRkdkIpu4tNnRhC8v4qh30Aoem3o6gXAD9dgBFInQuthv3Gu4MHQxCRZ0ZlQfToYRqQbLXNjWamr4HD/embed” query=”start=false&loop=false&delayms=3000″ width=”1440″ height=”839″ /]

Hope you enjoy the post. Please comment and share if you like it!


Posted

in

, , , ,

by

Tags:

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *