The 2 biggest enhancements to the Appian platform over the last few releases have been the powerful Connected Systems and much finer control over the Advanced UI capabilities. I wanted to show off the power of the platform as the most common question I get asked is "what does Appian do?" - my answer is always "what do you need it to do?" so highlighting the GUI and integration possibilities is always my biggest aim.
What it does
This build is a combination of 2 applications built to showcase the advanced integration and UI capabilities of the Appian Platform. As a user I have access to my emails, calendar, files and contacts (via Office365) and the ability to create cases directly from those emails. The main use case would be to handle complaints/negative feedback using sentiment analysis which can highlight to the user particular emails that should be prioritized for this reason. The user can quickly create a Case using the email content then switch to the Case Management application and respond accordingly.
How I built it
The O365 integration makes use of the Microsoft Graph API and Appian's Connected Systems to create a OAuth2.0 security grant to access the User's O365 data. The Appian application required registration in the Azure Active Directory and configuring to allow the callback operations to Appian. Various Graph API endpoints were then enabled to offer the connections required for this demo. I then used Appian's built-in sentiment analysis function to scan the content of the email body and highlight any negative scores. The Case Management application has a web api that can receive a payload for creating a case from an external source so I created a mapping expression to format the email data correctly for the underlying Case datastore. I then combined the two applications to show the strength of Integrations, rich UI and Case Management.
Challenges I ran into
Finding the correct settings for the Office365 integrations could be a bit "trial and error" on both sides, particularly understanding the "scope" requirements for the Connected System, once this was done a large amount of data was available so it was all about finding the correct API calls. The Graph API responses contain heavily nested data but thankfully Appian's native conversion from JSON to Dictionary really helped me to dial down to the correct attributes. Finding the right balance between performance and UI fidelity is also a challenge on such busy interfaces especially when the data is consumed from an external source.
Accomplishments that I'm proud of
I think the Outlook UI in particular really shows off the power and capabilities of Advanced UI design on the Appian Platform. Whilst acknowledging that it's unlikely anyone will want a re-build of the Outlook UI it's important to open users and designers minds to what can be achieved, I'm often disappointed when I see the standard 2 column layout designs as Appian is capable of so much more and building an engaging and functional UI design is a skill in itself. It was fun to try and find the correct sweet spot for the various icons and layout choices.
What I learned
Even I was surprised at how close an approximation I could make to an Outlook email client, those I have shown internally have been amazed and the fidelity available in the UI.
What's next for Appian: Microsoft 365 Integration & Case Management
There are many more integrations points available in the Graph API. I have customer requirements for complex diary management and for SharePoint integration so the lessons learned from this submission will be of great benefit.
Connection instructions can be obtained by following the link added in the submission.