It is my first step to create a career in the fields of digital assistant and workspace applications. The result of this project will be an AI-based digital assistant designed to simplify and automate tasks in Microsoft Teams.
Introduction
- Background Knowledge
- Way too many functions to be configured and used
- Tedious process
- Unsuitable functions used by users
For the first part, the digital assistant must implement all functions not related to ML, such as the function of the assistant to perform all functions in MS Teams. 14 Main functions and characteristics of the digital assistant proposed in this project. Function 1: Execute single user command in MS Teams.
Execute batch commands and automate workflow
In addition to the commands to perform Teams' function, the proposed digital assistant also acts as a chatbot that can respond to users' text. Therefore, users should be able to modify the chat features of this digital assistant to teach the bot to respond to or answer users' specific words or questions.
Include advisory on steps
To reduce steps required
This project aims to simplify the steps users need to complete a task in MS Teams. This objective is important for the digital assistant that is proposed to simplify the job steps used to perform the too many functions in MS teams.
Automate repetitive tasks
In this project, a smart digital assistant will be developed and integrated with MS Teams that will save users time and steps when configuring and using functions or combinations of functions in MS Teams. This allows this digital assistant to ensure that users are using the right tools and features to properly perform their task through MS Teams.
Literature Review
Microsoft Teams
- Reviews on Microsoft Teams Introduction
MS Teams allows users to explore useful applications and tools in MS Teams to increase business flow efficiency. To increase productivity, each user in MS Teams can create their personal application space by installing applications in MS Teams.
Increase productivity
Seamless virtual collaboration
Therefore, users in MS Teams can focus their attention on a specific channel where they collect their task requests or perform work. This advantage saves users time from being diverted by random email or inbox and allows them to focus only on a specific channel and search for a specific topic and information.
Integration with Third-party tools
With MS Teams, users can better focus on their work by eliminating the time users spend scrolling through emails and messages. As a result, users can conduct their discussions through Teams to extract tasks or important information from the email threads so that they can focus on a specific task in MS Teams [14].
Guest Access
The 25 tools in MS Teams have enabled the smart workspace application to act as a central hub for users using multiple application features such as Planner and Outlook on the MS Teams platform. This feature also allows users to integrate third-party tools into their chats and channels, such as managing files without leaving the chat or scheduling a meeting within a channel.
Too many similar tools
No unified search on product
Insufficient notifications
Confusing file structures
Limited flexibility in MS Teams can cause users to waste time manually duplicating in Teams. In addition, users cannot emulate a team in MS groups, which leads to the need for manual replication, which is a waste of time and lowers productivity.
Others
- Summaries
- Intelligent Personal Assistant (IPA) Introduction
- Power Automate in MS Teams Introduction
- Zapier for MS Teams Introduction
- Thomson Routers Elite (Workspace assistant) Introduction & Functions
- Google Assistant (Workspace assistant & Voice assistant) Introduction & Functions
In results, helping users create more powerful workflows and automate more tasks in MS teams. As a result, the steps for users to use each feature of MS Teams can be simplified.
System Methodology/Approach
- Hardware
- Tools Involved
- Programming Language
- SDKs .NET Core SDK
- System Framework
- Use Case Diagram
- Functions to Be Performed
- System UI
- Bot Core with AI Capabilities
There are five phases in the Agile XP methodology used to develop the digital assistant for the MS Teams workspace app. In this project, JS can be used to develop the bot as the MS Teams app so that it integrates with the MS Teams in the solution.
System Implementation
Experiment of Two Planned Development Methods
- Software
In addition, another solution was also experimented in order to avoid the risks that the two proposed methods cannot be used to implement the project. After that, several steps were taken to test the functionality of each software and tool to assess the feasibility of another solution that will be used to implement the product.
PyCharm 2023.1 (Professional version)
Dialogflow
UiPath
Microsoft Teams
Visual Studio Code
Google Apps Script
For example, the desktop application allows users to perform actions on the desktop version of MS Teams, and the application may access the user's local data on the user's machine to install the desktop application. The web user interface developed in this FYP project, including a website implemented using Flask framework in Python project.
Develop the front-end web by modifying Bootstrap template
The settings are also the advanced feature of the AI and ML related function for this digital assistant to improve the AI performance of the system by collecting user preferences and other configurations to advise the user more flexibly and accurately. Due to time constraints, the AI and ML related feature in this system does not allow user configuration yet, but will only take standard collected data into the algorithm to provide advisory steps to the user.
Deploy the website by using Flask framework
- Bot Development
- Develop Bot Functions
The development of the back-end logic of the digital assistant will then be presented in both non-ML-related part and ML-related part in the following sections. First, bot development of non-ML related functions in the bot will be described in the following section 4.4.
Receive user’s input from front-end web UI
Send user’s input to the conversational bot and obtain analysed results
Provide suitable response to the user or execute specific Teams operation according to user’s intent
- NLP Capability Implementation
That's why we implemented a digital assistant feature to perform a single Teams operation based on the user's command. That's why we've implemented a digital assistant feature for batch execution of multiple user commands.
Create intents
We then began training our conversational bot to analyze the user's intent to perform various bot functions and provide appropriate responses. Therefore, it builds the bot's conversational ability to understand the user's context, extract keywords and categorize the user's query into specific intent.
Create entities
- AI Model Implementation
The purpose of the AI model is to predict the user's next actions, because the digital assistant can give advice steps to the user. Therefore, a sample dataset containing the user's history command was prepared to be used to train the AI model in the following training process.
Use Flask framework to integrate system UI with the Python project
Thus, the digital assistant can receive the user's input through the user interface, process the user's input to get the conversation bot's intent, parameters, and appropriate response text, and run specific RPA sequences to implement certain Teams features in MS Teams. automate. In addition, the digital assistant can run its algorithm to perform predictions and give advice steps on the vague context of the user or not to include a direct keyword of a particular function in their context.
Use Google API to integrate the conversational bot with the Python project
After completing the UI and the bot core, including ML-related and non-ML-related functions, the system UI, conversational bot was built using Dialogflow, sequences were built using UiPath, and AI model was built integrated with our Python project.
Execute terminal command with Python to execute specific RPA sequence
Therefore, the RPA sequence can be easily executed in our Python project by running this command in terminal via the Python function of os.popen(command) where the command to be executed via terminal will be passed to the function . As a result, the integration between our Python project and the sequences created by UiPath has been achieved, and the sequences can be executed by the UiPath program installed on our desktop to perform Teams operation via browser.
Integrate AI model built to the Python project
Conclude
Use cases, including two use cases collected in the preparatory work and another industrial use case prepared in FYP 2, work to solve industrial problems. The two use cases collected during the initial work are creating a channel and planning an event.
Create channel
This project had done some research and analysis to collect different real-life use cases for implementing the features of the digital assistant that can be helpful in solving real-life problems and achieving our objectives. The use cases will be implemented by using, customizing and integrating these three implemented functions of the digital assistant with other tools and functions, and providing the user with templates in the form of a dialog to organize the user's tasks. simplify real life.
Schedule event
Therefore, the purpose of this digital assistant to solve the use case is to automate the process of creating channels in MS Teams according to the naming rule entered or selected by the user. The result is that the purpose of this digital assistant to solve the use case is to automate the process of event planning using online calendar.
Provide advisory steps on user’s Google Calendar
- Implementation Issues and Challenges
- Proposed Solutions
The user can navigate to the schedule events page that is the solution to the second scheduled use case by clicking on the second card on the home page. The user can navigate to the automated tasks page by clicking on the third tab on the home page.
System Evaluation and Discussion
- Performance Metrics
- Unit Testing
- Integration Testing, System Testing, Acceptance Testing
- Test Result Based on Performance Metrics
In our project, some performance measures are prepared to test the system based on the performance measure for evaluating the digital assistant's performance after completing the project. The performance measures to be applied in the project testing, including first the average processing and response time of the system.
To include advisory on steps
First of all, the challenge facing this project includes the time required to develop many functions for the proposed digital assistant as planned to achieve our objectives. The final challenge in this project is to increase the dynamism and flexibility of the digital assistant to be applied and supported for other workspace applications.
CONCLUSION AND RECOMMENDATION
Conclusion
First, the user interface of the project can be improved by implementing more methods of interaction between the user and the digital assistant. By implementing and integrating a digital assistant into a multi-workspace application platform using and.
APPENDIX
FINAL YEAR PROJECT WEEKLY REPORT
- WORK DONE
- WORK TO BE DONE
- PROBLEMS ENCOUNTERED
- SELF EVALUATION OF THE PROGRESS
Some necessary data needed to train the AI model is collected and generated. For the final integration, the way to integrate the AI model with the developed digital assistant must also be planned.
UNIVERSITI TUNKU ABDUL RAHMAN FACULTY OF INFORMATION & COMMUNICATION