Microsoft technologies and the dev community: Who's building what? Get inspired! | CTS08
[Music] [Music] hello and welcome back to interior tech skills i'm so excited for this session we have so many people and wait just before we go into it i keep having to remind you that we have artificial intelligence gaming for you to check out when you have free time you also have the minecraft time machine where you can build your own place on 100 years from now and also the skills challenge so check those out with the link in the chat hey what do we have next ben yeah so we're going to be checking out real life end-to-end solutions built with microsoft azure power platform in microsoft 365. and i know we have a packed session so i'm going to go ahead and welcome and hand off to microsoft cloud developer advocate aichabas thanks queen hi salman going thanks for having us today as you said we are super crowded so we just want to jump into our session thanks everyone for joining our session we are so excited to be here we have a lot to talk about but before we jump into it let me introduce you my colleague dan who is joining me for hosting this session hi dan how are you hey i'm doing great i'm really excited to hear from all the folks we have in this session yes me too as you know we have a full pack agenda for everyone we will start with overview of microsoft cloud technologies if you don't know what microsoft cloud technologies yet never heard of before we will just make a quick introduction about it and then we have three amazing projects built by advocates meps and student ambassadors they will just show you how they built their solutions and maybe spark some inspirations for your own uh next project too so let's get into it the big question then what is microsoft cloud as you know a lot of folks always think that the microsoft cloud is microsoft azure but we actually have a lot more to offer for developers inside microsoft cloud do you want to just talk about it what is microsoft cloud in general do you have any examples about it yeah i i think you're right i think most people hear microsoft cloud they instantly think azure which is part of it but there's a lot more to the story so for example you might want to host an app in azure that pulls in organizational data from microsoft 365 for example and then maybe even does that with something like power automate to automate a process or you might build an application using a low code approach like powerapps and that might may tie into azure apim or azure api management and really the list goes on we could have azure static web apps which also can use github and we can use github actions to automatically publish our app and build it and do those types of things so really the sky's the limit here but aicho why don't you tell us a little bit more about why it's so important for these different technologies to work together yeah so it may sound a little complex because we talk about so many different technology names right now there are a lot of technologies involved building applications as you know and we will need different technologies for each part of our application and it might be challenging to integrate and secure all of them at the same time often oftentimes it feels like having complex set of building blocks together without having a manual so you don't know what to do with it but actually by using microsoft cloud you can integrate these services that address the needs of your application and all these technologies are designed to work together so they click each other when you're building an application it's like having that manual you were looking for you were looking for at the beginning and then building blocks start working together to achieve your goal in your organization they have a great documentation about it then actually lead a great project to have a white paper about microsoft cloud then would you like to tell us about white cloud what can people find more in this documentation sure really the goal of the document you'll see this at the aka.mslink at the bottom microsoft dash cloud-solutions and what this does is provides an overview it's kind of geared towards it leadership to walk them through the different benefits that integrating the services across the microsoft cloud offers so for example in this diagram that you see here you'll notice that we have an external app an internal app and then it ties into azure and microsoft 365 and even things like dynamics 365. so if you're interested in getting more details about that you can check out the link you see on your screen there exactly since we talked about microsoft cloud in general and we have the white paper as well for you to check out in the link we also have three amazing projects live to share with you today and we don't want to take too much of your time but jump into the projects and learn how the experts the technology experts build these solutions so i just want to jump into our first project and introduce frank and jason to talk about uh project with both hi frank jason feel free to take over thank you aysha so yes so jason and i are cloud vaquette working in the same team but today the project we want to talk about is not a pro it's a team project and it was all those great people that you see in the screen so root asia was part of this christopher amy jason and myself and it was during a hackathon that we decided to create bitbot the project we want to talk about and not all of us were developer so that's why we are very interested to use low code no code technology and you know not even all of us had experience building a chat bot so having a simple technology to make progress was very important for us but jason why not you share who was our audience yeah thanks frank and hi everybody uh yeah so as frank mentioned we had this hackathon project put together a chat bot that was really intended to be a companion application to help a lot of our stakeholders and users for learn tv and those would be the folks that are working tirelessly to put on live events such as build but also shows that you might see like ask the expert in hello world so there's a lot of information that needs to be shared and tracked and all kinds of stuff when it comes to these shows and events and our source of truth for a lot of that is azure devops as well as cousteau or azure devops explorer is sort of the tool used to access cousteau so we've got information all over the place and we need to be able to make sure that people can access that information they can collaborate on that kind of stuff real easy so that's what we aimed at aim to do is try to find solutions for those folks and see if we can make their life a little bit better now i'm going to show you a little bit about the architecture some of the decisions we made frank and i are going to go into detail about that in just a moment but before we do that i thought frank maybe you can go ahead and queue us up here let's take a look at what bitbot can do so you can see some of the actions in action and then we can talk more about the details of how this thing was built bitbot is a companion tool for show owners hosts guests and producers of content on learn tv in developer relations azure boards is the source of truth for nearly everything related to shows and events so having easy and efficient access to important information is critical to our success as our team and tooling scale up and more and more content is created and tracked within azure boards teammates are beginning to have questions such as when is my next show when bitbot is asked this question it provides users with information about upcoming live streams recordings or events to keep a pulse on individual work streams due dates and deliverables the bot can also assist in providing increased visibility into projects by asking what is due we can see a list of all work that are marked with a due date of today or older this returns data from a specific query within azure boards that i can continue to modify if needed another great command is triage this shows only a single action item presumably the most urgent based on due date and stack rank in the backlog to make life easier for our team general questions about organization data and analytics are included to point users to the right resources questions like how do i access our kuso data or where can i find common kql queries we'll summon bitbot to point users to the official documentation and team resources show owners will be happy to see that requesting specific show data is as simple as typing show data there you can view the results of popular queries of specific shows with so many moving pieces and handoffs between teammates it's often tedious but critical to update the status of work items as in progress or done to ease this process the chatbot can help by updating the status of multiple work items at once and if you're looking for documentation related to learn tv bitbot can help last no chat bot is complete without a feedback mechanism simply typing feedback gives users an opportunity to connect with the team directly for further improvements thanks so as you can see in that demo there's quite a few things that we set out to do for our users and we want to make sure that the bot could manage those things now as frank mentioned earlier we wanted to take sort of the low code no code approach this was done during a hackathon and we knew that teams was going to be our interface so as you probably noticed in the demo we've got power virtual agents set up that actually communicate with azure devops as well as cousteau or azure data explorer to provide some of that information back to our users now frank's going to go into another demo to show you another piece of functionality but frank you want to talk us through some of the other architectural decisions we made yeah so let me explain the proactive one so that's the part of the schema is top right of your screen right now so most of the time when we interact with a chatbot we as human start the dialogue but in this specific case we wanted to have the but to initiate the conversation based maybe on a schedule looking into it in our case azure devops running a query and based on the result having a list of people and reaching them directly to ask them something and the next demo what i want to do is show you when we create those tasks in azure devops sometimes information are missing i don't have your email i don't have something so that's what we're looking at so proactive but this is how we do it how to run a recurring task that notify our azure devops user that some information are missing so first you go in azure devops create a query here i have one and we can see it returns one result then you go to power automate and you will create a recurrence event and here i'm using once a month but you use whatever makes sense for you and then we'll run that query so just connecting to my organization my project specifying the query i need here and this action this azure devops action will return a list of ids so now i go for each one of them i need to get the details let me connect i'm using another azure devops action and i'm specifying the id from that i will have all the information i need to make some validation in my case validating that some information are present or not and then i will create an adaptive card from the power to made to send back to teams and i'm just connecting it here and then i'm sending that schema that i felt how to return this i'm really glad you asked because it's a good information so the trick is run your flow without that action without the power post adaptive card and then you go back here to the result and you have your history so open one of the history it will look like this and you could scroll to get the work item details and look your output copy this and paste it into the adaptive card designer so that's adaptivecard.io you go there you paste it here and then from here you will be able to drag and drop very simply and build whatever you want when you have the result you like you copy that and paste it back to your adaptive card this is how you get a very nice looking adaptive gift card that notify you that some information are missing inside teams and voila i hope you get inspired to build your own chat bot uh we put all the link all the information in this short url uh this like it's not it's just a recipe so do whatever you want but now jason and i will be joining the chat to answer your question and looking forward to see you at the q a to answer more questions and now back to you aisha and dan thanks jason frank that was an amazing presentation and this spot is a really good example of showing how we can automate the processes internally then definitely we need more of those bots for our team processes too absolutely there's so many scenarios where it's like oh i forgot to do that or forgot to fill this in and uh i love the proactive nature of that definitely i agree well from here let's go ahead and jump on in aicha because we still have two other teams um that we want to go into and we're going to talk about the community bot for one drive so uh this is also a very exciting presentation i think everybody's gonna really enjoy it so let me introduce uh thomas uh stefan and hans and uh take it away folks so we have to say yes we are doing this community project is not the building project we do it in our free time and you see there are three mvps out of two countries here in germany in europe so me in germany and thomas and stefan are in austria and this is an ai mvp and there's a developer mpp and that means they'll give it the information but you have to do what you can do all they came to me in the early dates and say okay we want to digitize you digitize me so we talked about in 2019 this ongoing project still there and this is very interesting in vienna and in two months or five months later we have it in germany at the on saturday at microsoft department and then they say we have a mock-up for you so we have the first pictures we have a parade check name mr onedrive spot microsoft give me this name because they had to read so then we are starting before the q a maker building a german database but we see it's not the best way to translate from german to the other languages so we make a second one building an english database then we have a first release we take we have 100 people around the globe and other mbps what is going on that first release to submit was in 2020 and we have a little discussion with microsoft with legal with brand but that was in the past then we have to decide with the help of a vice president of onedrive the new name they said okay we must do it a little bit community bought for one drive again discussion then we have to release and then we see hey not all people can do that the the bot will run in teams so therefore sometimes the enterprise people cannot look at it so therefore we make although with the same bot in the background with the same database we do a webchat version and now we do it although a quality dashboard and we will show you what we have there and before we actually take a look at what the community bought for onedrive really looks like in action i'd like to give you an idea of how it works behind the curtains right so as hans mentioned the community but for one drive sits primarily in teams although there's a website version as well and therefore the users who have installed the web the community but for onedrive and teams they may ask a question through teams and what teams does basically is picking up that question and routing it to the bot framework infrastructure as our bot is hosted within azure the azure bot framework and azure bot service is picking that up and then forwarding that question as you can see in number three to our bot logic our bot is deployed as an azure web app so the bot logic picks that up it retrieves the question and then it decides basically what is the language of the input what is the language of that specific question because we learned the knowledge base and the information which is provided to the bot is only available in english language but the users could also be speaking other languages like german french spanish or whatever so if the language of the user and if the question language is not english we will be asking the translator to translate the service in azure to translate the question into english before going to the q a make knowledge base and retrieving the most appropriate answer for that specific question and then if the answer has been given back to the bot um the bot basically decides again if the answer needs to be translated as well because we don't want to answer a question in english which has been marked in any other language so if for instance the question has been present in german we'll make sure that the answer is also be given to the user in german language before going the same way back through the azure bot service and through teams back to the user to give the most appropriate answer and with that i'd say we'll take a look at what the community does for onedrive really looks like thanksgiving and hands so it's now my turn and the demo time we prepared a little video here where you can see the bot actually in the team's client and of course we start with a nice greeting saying hi to our bot because we are nice people and then immediately fire away with the first question i'm always looking for how to share documents that's why this phrase is always present there getting back the answers and immediately i see a follow-up prompt so the bot already shows content that is related to my question another very important topic of course is security so let's search for fort knox over here then you see we also integrate pictures in our bot and a nice way of formatting as hans mentioned not all of enterprises are yeah in terms of governance allowing people to install applications to their teams environments in that case we also have a website version of the same bot so again we created our bot here and we can again use the interface to ask for sharing also in the web interface we have a nice representation we have the same quality of image the same quality of content and of course also our follow-up prompts so clicking on shared with me gives me more information about that kind and of course we have linked content to microsoft documentation or to han's blog but of course there's one more thing right our quality dashboard so refreshing the quality dashboard and then you see in the question column all the questions in our demo so far so we are tracking what users are actually asking robot and we are separating those regarding their channels making web chat or teams so that we know and get the feeling which is actually used out there and most importantly of course we are looking for a different scoring of our answers so this is basically the result we get back from our q a maker and yeah for stefan and for me that's a really really great part of the project because if we need attention over here that means that hans needs to work some more hours um we hope you're now inspired and please please please stay with the bill conference stay with your agenda use our resources afterwards to build your own version of your bots or your own ideas but hence there's quite a tech cloud over here what's what's up with that that's all the things we have in one drive one drop is not only a small thing and you see four knocks that's a little thing in the upper corner left and you see so many different names about that zombot needs all and he knows about that and that is okay when we do that but we have to say i have to sleep and that is a different one if i sleep i cannot answer it the butt never sleeps and that means you can ask the bot 24 hours for one drive questions and that means introducing and have say okay they have digitized me back to asia wow that was an amazing presentation thank you so much stefan hans and thomas uh this is the first time i'm hearing something like digitizing a person uh then what do you think about this it's really genius right it's great because there's a lot of teams i've worked with over the years that they have a ton of knowledge but they just don't have the bandwidth to constantly be sharing that like han said you have to sleep at some point so i think it's a great concept that people can take into consideration if they'd like to you know share that knowledge more throughout the enterprise we should definitely digitize some of our colleagues because we are in different parts of the world so we should definitely try that out so off next we had we had we have an another amazing session uh we actually have student ambassadors with us somalis and anche somalis just became cloud advocate as well which is very inspiring they built a bot for onboarding scenarios for the communities which is also another helpful scenario so hi samuel is feel free to take over thank you so much aisha for having us now i would like to share a solution which is onboarding bought for communities this has been built by somali siddique who is a cloud advocate at microsoft and myself i am a microsoft learn student ambassador now i would like to quickly introduce you to our team so a team comprises of a diverse group of individuals and the team members are adityagar sitiko now i would like to quickly walk you through the building blocks of the bot so basically the we have used microsoft teams as a user interface where the user can interact with microsoft teams in a designated channel now the user has to mention the bot after the user has mentioned the bot it triggers a power automate flow which posts an adaptive card on streams to enable the user to ask the question to the bot now when the user asks the question to the bot it basically queries the q a maker dot ai knowledge base and it does it through q a maker and azure bot services to fetch the question and answer pairs after the question and answer pairs have been fetched the power automate flow gets triggered and posts the answer back on teams and also mentions the user to make sure that the query of the user has been resolved so the problems that we are solving with this project is about to support the community the bot will be available 24 7 to make sure that any doubt that you have is being solved and also the other problem that we have solved with this project is easy addition of q a pairs to the knowledge base now my friend deco will walk you through the project demo so let's jump right into how the bot actually works as mentioned the bot exists in a designated teams channel where the users of a specific community can be able to ask questions so for them to do that they can click on new conversation and ed mention the bot itself way once the ed mentioned the bot it will then kick off a power ultimate flow in the background which would then post back to the user in adaptive card where the user can be able to paste their question or post their question for an example a question about a specific program or a specific community and then they can submit to their question once the user submits their question what happens is that the power ultimate flow goes back to the knowledge base and queries it for that specific question and then brings back the answer once it finds it it mentions the user because a community will always be busy and it will be hard for the user to be able to see where their answer is if it's a busy community so it's better to have their bot at mentioning the user back and providing that specific answer to the question then the board proceeds to sends a direct message to the user so that direct message to the user is in the form of a card where the user can specify if the dot answered the question or the bot answered the question so the user can then choose yes or no so in this case we can choose yes and add comments if you want to and then submit then that will terminate the bot but if the user had selected no in this case it will then post another adaptive card to the user to ask them to put the question on an adaptive card and then once they click on submit that question would then be sent to the admin where the admin needs to update the knowledge base with that new question thank you so much so you saw how the bot actually works we walked you through the demo and actually gave you a very great background scenario so you're wondering what's next what is the next step to take as a person who's just seen the school project so for me and aunt and the rest of the team we'd like to actually urge you to jump right over and be inspired learn more using these resources that we actually have on the slides for an example if you want to learn more about the bot and you actually want the working part on your pc you can use the aka dot ms pp sample so that you can be able to use the bot and you can build on top of it and then obviously i would like to urge you guys if your students out there to actually join the microsoft learn student ambassadors program because that is where ansh and i actually collaborated came together and built this wonderful project so obviously our call to actions is to learn learn and learn obviously i want to take this back to aisha so back to you aisha thank you so much it was a great session thanks for sharing this great solution with us and as somalis mentioned we have great uh other projects in the ambassador program students come together and build really great solutions together and this one is really inspiring especially they build something for the community their own student community and they they now use it in the community and you can build one inspiring solution for your own community or you can become a part of ambassador program and you can get to meet with people great ideas and you can build something all together so um before we move forward to questions and answers i already took some notes about questions we just want to go through the resources then would you like to just walk us through um what do we have available for microsoft cloud sure so first off if you'd just like some overall learning resources you can go to the aka ms and then you'll see microsoft cloud learning resources just make sure to put that dash in there between them and this is going to have all kinds of resources actually you can get to from documentation to microsoft learn modules and more then we also mentioned at the beginning of this session it's a brand new set of documents that were created for walking through the key benefits of tying these services together just like everyone talked about throughout this session and taking advantage of these building blocks that the overall microsoft cloud provides us so you can go into that microsoft cloud solutions link and that'll have lots of details there about how you can get started now you can also find a lot of resources in the intro to tech skills github repository so you'll see a link there at the bottom and i want to mention one more thing that aichi and i also participated in that's not shown here but it's in the same area as the microsoft cloud solutions and that is you'll find some microsoft cloud scenarios available and so for example aicha you know we worked on some real-time collaboration real-time presence right and that was pretty fun stuff exactly that was a great project and we will probably have a lot more coming in the upcoming month absolutely and there's an on-demand session if you're interested in that by the way that ichin i did so with that uh icho why don't i go ahead and turn it back to you because i know we'll have some q a here at the end and want to make time yes thank you and before we jump into the q a i just want to mention that i know over the presentation during the projects we shared a lot of links but don't forget that all of the links we mentioned in this session will be available in aka.slash intro to tech
skills as built and you can just find all the resources available in that link so don't worry about it everything is available for you in one single link all right so i already took some question notes and i want to ask to the project specifically the first question is to bitbot so jason frank if you're available i just want to ask you what are the things or services you can connect to with bitbot yeah i can take that question that's a fantastic one aisha um and honestly i this is the place i always point people to my answer to this if you go to aka dot ams slash bitbot you'll get to all the links that we shared in our segments but the most important one to answer this question i think is the list of all the power automatic connectors i don't know how many of them there are but there are a ton of them and this is your place to go and just browse everything that's available take take a mental inventory of all the different tools and services that you use on a day-to-day basis i showed that we were using azure devops we were also able to query into our custo our data explorer data those are just a couple of the connectors and it's not just microsoft stuff too i mean it's it's services that are out there third party uh all kinds of things i've never even heard of so go to aka.ms bitbot click on the link that takes you to the power automate connectors there you'll see pretty much just an idea list of all the things that you could go build and go have fun i mean it's all it's all really easy to get started and hopefully you get some ideas out of that awesome thank you so much great answer and i also want to ask another question to community bot for onedrive um hence stefan or thomas can any of you answer you show us in the demo that there is a teams version but there's also a web chat version are those two different bots or it's just one bot and how did you do it actually that's a good question and the short answer is no the more advanced answer is basically it's the same bot um and it's kind of shared across all the channels and that's possible by using the microsoft bot framework and the azure bot service because uh that platform lets us build the bot once and then roll it out to whatever channel you'd like so for instance you could have a bot running in teams and at the same time maybe also in facebook messenger um and they share the same the same bot logic to share the same code base obviously you need to tweak it a little bit because teams obviously offers things like adaptive cards and task modules or even messaging extensions which are not the present in any other channel so you need to take that into consideration but in general you could say you start building your belt once and then you can basically hit whatever channel you'd like or target those channels where the users are actually because it doesn't make any sense if you as an organization have not rolled out teams yet but you're building a bot for teams maybe instead of building a bot as a web chat and place it into some sort of internet scenario if that's available or any other website scenario which is easier to approach rather than yeah first off needing to introduce the whole platform like in teams but yeah the short answer is you can build it once and then have it run wherever you'd like or not wherever you like but at least uh on whatever channel which is supported by the azure pod service and that's a lot amazing i'm glad that you mentioned this because as you mentioned in the azure bot channel registration we have many different options not just web chat or teams but you can actually publish your bot in different channels as well and stefan and the team build one bot but they're running the bot in different areas for the the maybe different audience which is really great and one last question it's to uh so males and angs how do you update the question and answer pairs in the knowledge base are they static or dynamic well good question aisha a short version of that answer would be they are actually dynamic how do we actually go about doing this is that through even with the demo that we showed you and we mentioned in the demo is that whenever a user is using the bot and they actually gotten that question that did that answer the user's question or not when they choose no they have the option where the bot presents an adaptive card to them so that they can be able to paste in or type in that question that wasn't answered and then that question is sent back to the administrators to actually either approve or disapprove of that question so that they can be able to update the knowledge base so it's little less time or less effort from that mean to actually just be coming up with questions on their own but they taking those questions from the users because that's what the users want to know and that's what they actually want the bot to be able to answer that's awesome so we collected questions from the community as well that's great so we make sure that admin uh approves if it is proper then what will be able to answer the questions asked by the community that's a great feature so uh with all these answers uh i hope you like our session this is all from us about the microsoft cloud and the community solutions uh and i hope you enjoy our session have fun in rest of the build and i'm just giving back to gwen and salman thanks everyone for watching bye
2022-05-29 11:43