The idea was to support the daily user in the process of creating new collaboration spaces or team site. We envisioned this help as a proactive bot that tries to support the user as much as possible.
This starts by already greeting the user by his name (we know who we are dealing with), and out of the SharePoint context, what the user usually deals with. The bot tries to make intelligent guesses to speed up the whole process.
With a few simple answers the creation of sites, lists or documents would be a matter of probably 4 responses.
What it does
The SPFx extension is embedded into the SharePoint site (collaboration hub or every other site) and offers a "help" button. Opening the extension the bot reacts proactive to our click and tries to suggest what to do. After communicating with the bot it creates a queue message for the web job. The web job gets started to do what was defined in the chat and responds with the url of the final item when finished (separate queue that is sent to the chat user).
How we built it
We used a whole bunch of technologies to mix this all together:
- Modern Communication Site
- SPFx Extensions
- Bot Framework
- Azure Queues
- Azure Functions / Web Jobs
- Office UI Fabric
- PnP Sites Core
Challenges we ran into
Despite the pressure of time we hat a lot of pitfalls in almost every step of the project with almost every part of technology on the way. First of all, even with the QaA builder for the bot you can't create a mix of intuitive tech and programmed context aware code for a bot, at least not in 3 hours. Problems with the React part (open issues in github) were the next pitfall and on putting it together we struggled with the part interaction.
Accomplishments that we're proud of
Further insights into the bot framework and the way to incorporate azure functions and web jobs to interact with the user asynchroniously based on chat content. A possible way to interact with the user in further collaboration spaces or daily tasks like "searching for a template and creating it right away" - or getting it suggested it right away.
What we learned
you wont put this together in less than 8 hours
What's next for SharePoint Assistant
Probably more types of items the bot will be able to create and a combination of context aware code and the LUIS API.