Build a Bot in Seconds: Introducing the Bot Developer Kit 2.0

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
hello everyone i'm olivier poupani director of developer relations at symphony and i'm murray ortholo director of product management we are pleased to guide you through the latest developer tools and show you how to develop bots in seconds the agenda is tight for this three-hour session so mario sorry to interrupt but i'm afraid we don't have three hours but only 30 minutes i tried i know you can speak for three hours olivier anyway i'm sure everyone is waiting to hear what is new so let's start sure mario i'm so excited to present today the new 2.0 version of the bot developer kit our r d team located in sofianti police in the south of france heard about the feedback we collected during our developer events such as hackathons and developer meetups and it results in a new re-architecture bdk that comes with a lot of new functionalities making developing bots easier than ever let's do a quick overview and i promise to show it in action in a few the bdk could be summarized with a very simple mathematic equation it is the sum of the sdk 1.0 and the bot sdk 1.0 squared it means that you don't need those libraries anymore the new bdk will manage everything for you and it's released today for all java developers so hold on olivia what does that mean if i'm a python or a javascript developer a good question mario we strongly believe and respect the heterogeneous nature of developer the developer community it's very important for us python javascript and.net editions will also be released soon the bdk simplifies the configuration and authentication of your bot instance just one single line of code is necessary to bootstrap your bot but more than that the bdk helps you to use more than one bot count for one bot instance audience the difference between a bot instance and a bot account sure the bot instance is the program running in your infrastructure and the bot account is the service account your administrator defines in the admin console so does that mean i can have two bots talking to each other with only one program absolutely you can even create a bot instance that handles a bad battle but more seriously being able to manage multiple bot accounts from one instance allows granular control over bought to user interactions mapping for instance a level of contracts such as freemium premium silver and gold that's great that has indeed been asked by a lot of our customers so i'm sure they'll be super happy to hear that yeah in addition the bdk has a full mapping to the entire symphony api provided in an intelligent way to ease coding it comes with new services such as message templating where you can plug your own templating engine or use one provided out of the box the new activities api real foundation to implement workflow automation that i will detail later and also logging and monitoring services to make sure your bot is reliable and make sure you're alerted when something wrong happens we know go to market is a key factor of success for innovations developer teams are trying to achieve that's why we took time to provide a smooth integration with development frameworks such as springboot and others as well as making sure code assistance will provide an intuitive coding experience the bdk is fully supported by your dedicated team has its own documentation training courses and even certification you can now become a symphony certified bot developer this schema shows the high level architecture of the bdk seated on top of the symphony apis the bdk is divided in three main layers the first one called core contains all modules needed to manage configuration authentication api calls data feed logging and metrics the second layer called advanced services provides a list of services needed for bot development such as new activities api some built-in activities to ease integration with third-party solutions a message template api and soon a workflow api capable to chain logically activities and adapters to nlp and lu external systems the last layer is dedicated for integration with frameworks the current version comes with a spring boot integration and vertex and quarkus are under consideration now one major new feature offered by the new bdk is the activities api and activity is the building block of an automation two main types of activities are available today a command sent to the bot by a user or payload sent by submitting an element form in both cases the activity can carry context values the future workflow api will maintain a sequence of chain activities okay enough with the theory and i'm sure you all want to see it in action yes that was great to introduce the demo i thought it was funny to quote our colleague gain who recently compared our developer tools as a first class musical instruments to play amazing symphony i couldn't find a better description ok let's go for the demo i'm going to ask my colleague reed feldman to develop in live mode reid is one of our experts working in the developer relations team herod ready to code excellent let's code them creating a bot is very simple the only thing you need to use is the yeoman based symphony generator and write the instruction yo symphony 2.0 this will prompt you with a number of quick questions to easily bootstrap your bot enter your pod host bot username select your programming language build system group id artifact id and base package the generator generates now the scaffold of a bot already connected to your pod and ready to respond to commands as well as an rsa key pair to securely authenticate the box all right done easy enough wow that was fast but can we look at the code because we have to maintain and extend its code now sure reid can you please open our project in your favorite id great so let's start at the very beginning and let's see what is needed to configure and authenticate the bot as you can see just one line is now sufficient a bdk instance can be created by pointing on a yaml config file bootstrapping your entire bot the config file is also very simple but can be customized as needed to meet your deployment requirement sorry i don't series screen anymore okay and look how easy it is to create a new data feed listener for your bot all of the required methods are provided out of the box by the bdk with a seamless coding experience due to autocomplete so let's listen for a user join room event thanks to the way the bdk is architected notice how how all the different data field events are auto populated for you select the on user join room method and here we add we need to add our custom business logic notice how we have easy access to all the data needed to create a workflow through the initiator and even parameters let's leverage these objects and their respective methods to reply to the user when a new room is created reid is putting the message ml but to reply the message welcome the name of the room that we can get from the stream object and close the message ml tag super thank you reed so let's now run our bot and see what happens the bot is launching and then running ready to read from data feed events so we can switch to symphony and when we type a one-to-one message with the bot the bot replies with the correct correct response and let's now create a private room to add our butt to it thank you read to add me upon creation the bot replies in correspondence with the listener we just created see how easy that was that's the only the beginning as i mentioned before the activities api makes it super easy to create custom workflows and integrations let's take a look at the activities api in action in an integration with amazon lex chatbot amazon lex is a third-party service that can be used as your bot's nlp engine so let's take a look at an integration we built to demonstrate how the activities api can easily orchestrate communication between symphony and lex in the code you are seeing now we fulfill some session attributes thank you with all the user information and pass the message to the chatbot who returns a message to send back this is pretty much a generic breach implemented as an activity on the left side the chatbot reacts when the user wants to buy shares and replies to the user with additional questions to request the ticker symbol and the quantity the chatbot will then call a lambda function that returns the final message with the price per share and the total amount wow that's really cool can i buy apple shares now of course mario let's see it running now and switch again to symphony in a discussion with this particular bot and reed is going to put your request mile how many do you want mile let's there you go all of what you saw in this demo is available today but mario i'm sure you have more to share to our developer community and what is coming soon thank you olivier and reed for this excellent demo as you can see from today's session we are really progressing in not only providing new capabilities but also simplifying and speeding up the development process for our community our roadmap is completely driven by this core objective so our community can truly innovate and build cutting-edge automations and integrations that improve business efficiencies however to meet that objective there are a number of work streams that the developer experience team work on to support the community and these can be broken broadly broken down into three categories first is developer experience which covers providing the apis the sdks the bot developer kits the agent encryption service and all the documentation and certification programs that go with it the second category covers workflow automation and this is through the provision of off-the-shelf bots plus elements for bot forms and the embedded chat module and lastly resilience and maintenance this covers the day-to-day support and maintenance and our continuous effort in improving resilience performance and scalability of the platform through code and architecture improvements okay so let's move to the roadmap so first will start with a roadmap summary and then provide a quick drill down on on some of the key developments we are making so using those three categories previously mentioned our roadmap looks like this so from a workflow automation perspective we are currently working on adding state to elements through our versatile stateful message concept which we'll cover in a bit more detail shortly we're also adding new elements to the catalog for date picking labels tool tips whilst also removing some of the existing field limitations and providing much clearer guidance regarding symphony styles in addition we are also working on advanced dlp integration which again i will cover later and longer term in 2021 we'll be supporting dynamic content in elements so you can create dynamic drop downs in your forms moving on to resilience performance and scalability rps as we call it we'll cover this in the next slide in it in a lot more detail so on the final category developer community category our key focus areas have been around building the bdk that which olivia just kindly presented and also supporting existing apps in symfony 2.0 and to go with that we're adding new extensibility api for client 2.0 which exploits new features such as the pin chat area moving into 2021 we will continue to extend the pdk for other languages and add a shared ui library for apps and bots so that look and feel is consistent and in alignment with symfony 2.0 design style we're adding support for containerization of the agent for easier deployment and lastly providing the capability to support agentless bots so this is really exciting as it greatly simplifies bot development by removing the overhead of the agent from the customer infrastructure and moving the encryption and authentication functionality to the bdk the last two quarters we have added data feed v2 in the agent apis and in our java and python sdks so with data feed 2.0 the real-time event delivery infrastructure has moved to a long polling protocol so what this means is that the switch alleviates the responsibility of symphony's back-end to maintain connectivity through a highly resilient and modular infrastructure making the service much more reliable and performant heading into 2021 we'll be working on stateless agents which is a feature related to data feed v2 and in this case once the data feed is initiated the bot doesn't have to stick to an agent instance anymore so it can read new events from any instance this makes it much easier to manage load balancing of agents and in addition we will also be working on the operations center which will be a tool we provide via the admin console to allow our customers to monitor and control symphony bots used within their organization in a single location okay let's move on to elements improvements something that you will find really useful is that we've added input validation to elements so what this will do is um provide the ability for front-end dlp scanning which will be performed before executing a regex and secondly the front-end validation is performed upon submit so you can put you know key validation controls on the form so that when users are entering and they're driven in the right direction moving on to data loss protection we'll be adding support for dlp scanning on symfony element form replies so what that means is that we can provide warnings on violations of content and there'll be two types of warnings one is a warning and the second is a block so on a warning a user will be able to ignore and submit the record or we can alternatively completely block a form from entry moving on to the next slide stateful elements this is another really powerful capability and this will really power complex workflows by supporting the ability to store different form entries made by different users in a room and not pollute the room with everyone's responses i'm sure you've all you know been uh harassed by uh multiple bot commands in a room and responses and this really does start to clean up the uh the ui and but critically with this this capability is ensuring that any uh entries or form entries made or facets as we called them are captured from a compliance perspective and the best way to explain this is actually with a visualization so on the screen you should see a gif which covers a use case where we have a a sprint room where developers are being polled for their story point estimates during a sprint planning session so we're making use of the pinned area at the top of the room where the bolt the bot can effectively pull the users and capture and present their results once once all the results are in lastly our final final update is with the development of a date picker element and this pretty simply allows you to capture a date uh in within a form and we will be extending this in the future with the ability to capture special dates such as holidays and weekends within the form as well so that concludes the quick road map update hopefully it was interesting enough and we didn't send you to sleep so back to olivia there was um actually before we go there there was a developer competition in apac recently can you share a bit more details about that yes mayo and i am pleased to share with everyone the results we had eight teams competing for the most cutting-edge technical development the most impactful business automation and best work from home workflow awards participants represented a wide range of organizations from financial institutions and software vendors the solutions presented also covered a wide range of use cases across trading sales buy side to sell side on for onboarding asset management compliance technology and operations functions natwest markets is our first winner and built an automated workflow to replace large-scale coordination activities like power shutdowns it handles tasks assignments tracking and collation structured using symphony elements our second winner is valuefi from the lighthouse canton executed on our wealth vision in building an order management flow that brings relationship managers clients and traders into one seamless process including whatsapp connect in the mix third winner ct built the price shark detection system to automatically extract and collat price sensitive news from social media delivering actionable insights to traders before they reach traditional news sources using twitter alphavantage congratulations to all participants and of course to the winners to conclude this session i would like to remind everyone the url of our totally free virtual developer training center learn.symphony.com by registering you can follow courses online have access to the developer sandbox to try out the very latest features and pass your exam to become an official symphony certified bot developer thank you and thank you everyone for your time today and happy coding
Info
Channel: Symphony
Views: 599
Rating: undefined out of 5
Keywords:
Id: 7rngeNeN-9k
Channel Id: undefined
Length: 24min 9sec (1449 seconds)
Published: Sat Oct 31 2020
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.