by Dan Wahlin, Guest Author
Introduction
I had the incredible opportunity to grace the stage at the 2023 ng-conf conference in beautiful Salt Lake City, Utah this past June. Every year, I look forward to this event, and it’s not just because of the scenic views or the pristine organization of the conference. The magic truly lies in the amazing people I get to chat with and the new friendships I forge. If you’re after a blend of fun, entertainment, and education, ng-conf is the place to be. Plus, let’s not forget the golden opportunity it provides to expand your network.
This year, I talked about a topic I’m really passionate about — taking Line of Business (LOB) apps to the next level. By weaving in technologies from OpenAI, incorporating advanced communication features, and integrating organizational data, you can transform the way users interact with your apps. Think less distraction, more action. It’s all about minimizing those pesky context shifts and ensuring that the data users need is right at their fingertips. The end goal? Increased productivity!
For those who missed it (or want to relive the moment — yes, there were a few unplanned moments of “fun” during the talk), I’ve got you covered. Dive into the full talk here:
https://medium.com/media/ab3f9e34647b12fca4c612391f591102/href
The GitHub repo used for the talk can be found at https://github.com/DanWahlin/openai-acs-msgraph.
Here are some additional details about the different technologies covered in the talk and how they can help you “take your apps to the next level”.
Technology Overview
Artificial intelligence, communication, and organizational data are three pillars that can help take your custom Line of Business (LOB) applications to the next level. Each pillar brings unique capabilities to the table and enhances the functionality, usability, and productivity of applications and users. In this post you’ll learn more about these three pillars and how they can be integrated into apps using Microsoft Cloud services such as Azure OpenAI, Azure Communication Services (ACS), and Microsoft Graph. After you learn about the pillars, you can get hands-on experience provisioning cloud services and working with code in a hands-on tutorial available at https://aka.ms/openai-acs-msgraph.
To get started, let’s look at a high-level overview of the application.
It’s composed of the following parts:
A front-end application that handles rendering the UI.A back-end API that provides data and other functionality to the front-end.A PostgreSQL database that stores customers, orders, and reviews.Microsoft Cloud services such as Azure OpenAI, Azure Communication Services, and Microsoft Graph.
The overall goal of the application is to enhance user productivity by simplifying processes, enhancing communication, and bringing organizational data directly into the application to avoid user context shifts. Let’s break down each of the three pillars used in the application.
Integrating AI
In the fast moving world of digital transformation, optimizing applications with leading-edge technologies is essential for any business looking to stay competitive. Among these technologies, Artificial Intelligence (AI), efficient communication tools, and seamless integration of organizational data are key factors that redefine user interaction, boost productivity, and simplify processes.
Azure OpenAI provides a cutting-edge AI service that can bring powerful features to your applications while adding privacy and security guarantees. For example, it can convert natural language queries into SQL, making complex databases accessible to non-technical users without the need for intricate SQL knowledge. This not only bridges the knowledge gap but also accelerates decision-making processes. However, it’s essential to apply this type of feature mindfully, considering data privacy and security along the way. The adage, “just because you can doesn’t mean you should” applies to this scenario as well as several others.
Azure OpenAI also revolutionizes communication workflows, by generating contextually appropriate email or SMS messages based on user-defined rules. This function fast-tracks the message creation process and maintains consistency across communication, greatly enhancing productivity.
In addition to natural language to SQL and AI completions features, Azure OpenAI can also be customized to your unique business data, enabling contextually accurate responses from extensive sources such as product manuals or FAQs. For example, if a company hosts a large collection of product manuals, Azure OpenAI can help users navigate the data by simply asking questions. Instead of scrolling through a large product manual, a customer service agent can ask a question and have Azure OpenAI return the answers they need.
Integrating Communication
When it comes to communication features, Azure Communication Services (ACS) adds an extra layer of real-time communication capabilities, making it possible to add phone calls, live chat, audio/video calls, and email and SMS messaging into your applications. For example, you might find that users are constantly making phone calls or sending messages as they interact with an application. Why not allow them to do that directly in the app so that they stay focused and avoid context switching? With ACS you can integrate key communication features that users need to collaborate with employees and customers. This can be done using SDKs and components that can help simplify the development process.
Integrating Organizational Data
In addition to AI and communication features, you can also integrate organizational data stored within companies directly into custom applications using Microsoft Graph and Azure Active Directory. This reduces the need for users to switch to their email client, Teams, OneDrive for Business, or other tools and applications to find email messages, chats, files, calendar events, and other pertinent data. This seamless integration of organizational data helps users make informed decisions faster while improving productivity and the user experience along the way.
Hands-On Tutorial
To see these three pillars in action you can explore a new hands-on tutorial available on Microsoft Learn that I created. It covers the technologies discussed in this post. The tutorial walks you through the process of setting up the required Microsoft Cloud services and discusses the code needed to enable each technology pillar including:
AI: Enable users to ask questions in natural language and convert their answers to SQL that can be used to query a database, allow users to define rules that can be used to automatically generate email and SMS messages, and learn how natural language can be used to retrieve data from your own custom data sources. Azure OpenAI is used for these features.Communication: Enable in-app phone calling to customers and Email/SMS functionality using Azure Communication Services.Organizational Data: Pull in related organizational data that users may need (documents, chats, emails, calendar events) as they work with customers to avoid context switching. Providing access to this type of organizational data reduces the need for the user to switch to Outlook, Teams, OneDrive, other custom apps, their phone, etc. since the specific data and functionality they need is provided directly in the app. Microsoft Graph and Microsoft Graph Toolkit are used for this feature.
Conclusion
Harnessing the capabilities of AI, enhancing communication, and integrating organizational data are key to elevating Line of Business (LOB) applications. By using Microsoft Cloud services such as Azure OpenAI, Azure Communication Services (ACS), and Microsoft Graph, you can create more functional, user-friendly, and productive applications.
While I work with those technologies a lot, I realize you may use different technologies and cloud services with your Angular apps (I mention several other technologies in my talk). Not a problem! Leverage what you have available to you. The important thing is to put yourself in the shoes of your users and ask the question, “How can this process be simplified to increase productivity and user satisfaction?”.
I’m already looking forward to next year’s ng-conf! Let’s continue our journey of learning and pushing the boundaries of what our apps can achieve.
Found this information useful? Please share it with others and follow me to get updates:
Twitter — https://twitter.com/danwahlin
LinkedIn — https://www.linkedin.com/in/danwahlin
Blog — https://blog.codewithdan.com
Documentation
OpenAI DocumentationAzure OpenAI DocumentationAzure OpenAI on your dataAzure Communication Services DocumentationMicrosoft Cloud for Developers HubMicrosoft Graph DocumentationMicrosoft Graph Toolkit DocumentationMicrosoft Teams Developer Documentation
Training Content
Apply prompt engineering with Azure OpenAI ServiceGet started with Azure OpenAI ServiceIntroduction to Azure Communication ServicesMicrosoft Graph FundamentalsVideo Course: Microsoft Graph Fundamentals for BeginnersExplore Microsoft Graph scenarios for JavaScript developmentExplore Microsoft Graph scenarios for ASP.NET Core developmentGet started with Microsoft Graph Toolkit
Taking Your Line of Business Apps to the Next Level: OpenAI, Communication, and Organizational Data was originally published in ngconf on Medium, where people are continuing the conversation by highlighting and responding to this story.