logo

NJP

NOWCommunity Live Stream - Topical Deep Dive - ITX SC Hackathon

Import · Aug 27, 2020 · video

[Music] hello good morning good afternoon good evening wherever you are and whenever you are welcome to the community live stream my name is chuck tomasi senior developer evangelist at servicenow and it is my distinct pleasure to bring you this special episode of community live stream i'll bring in our guests in just a moment but first always as always want to remind you to go over to youtube i'm pressing the wrong buttons here this morning but that's okay go over to youtube do the share thing the like thing subscribe notifications you know what to do you're smart people you've been around youtube at least four six weeks so go over and uh that would be much appreciated i'm going to keep the introduction short letting you know that we also do this on twitch because i want to make sure that our presenters get the maximum time because we've got a lot of great stuff our topic today i should have mentioned that at the top this is august 27 2020 and our topic today is talking to our itx solution consultants the top two teams we had a hackathon recently and these are the top two hackathon winner teams and they're going to show us what they built how they built it why they built it the cool stuff the lessons learned the skin needs letters to grandma whatever they decided to put in this application it uh it's a wonderful wonderful experience and i look forward to sharing that with them because this is this is kind of that community feel we're all learning from each other you know i learn you share we do all kinds of great things and we all grow together so very much looking forward to this if you've got questions that go beyond what's in these presentations today i strongly invite you to go over to the community community.servicenow.com that's what you see right behind me put those questions in there are hundreds of thousands of people on there that are happy to help you looking forward to answering your questions getting into that discussion learning from your questions and issues put your questions in the right subgroups the right topics to get the best possible answers make sure you search too search first before you post something or people may not be able to find it quite as easily you want to make sure you're writing asking the right people for that so i'm going to skip over the developer community and all that other good stuff about the podcast you probably saw that on monday's show if not i'll talk to you again about it next monday we do this show every monday and thursday at 2 p.m utc so whatever time that is for you in british summer time that would be 3 p.m 4 p.m for cest you get the idea 7 6 7 30 p.m in yeah 7 30 p.m in india figured out from there until you all change your clocks because i don't because i just love saying that arizona doesn't change their clocks let's put the title away and bring up our guests and introducing uh our two teams from our hackathon i'm going to turn this over to jerry jerry's actually going to do the introductions and and get us started and i'll just act as facilitator with questions so over to you jerry all right thanks chuck let me share my screen i do have a couple slides here to just kind of quickly introduce some teams but also discuss what we we did for the hacking line so as as you know a lot of people on this call though it's been a big year for integration hub right with the feature development spunk development as well as the need now more than ever for highly effective automated automation right solutions that are going to solve problems now that we're we're all working in different modes so combine that with the fact that you know servicenow continues to grow as a company we needed a way to put integration hub out on the forefront get people trained up and get to get the inspiration for creativity and innovation so what was born was our hackathon here three main goals in mind first was to to to innovate you know showcase the great skills that our solution consultants have uh collaborate again give the give a team building type of activity fun competition to get the teams working together as well as again inspire the creativity and get to know our peers uh across the organization right and then we'll actually use to have fun i mean who doesn't love a hackathon right so we wanted to again have a little fun contest now that we can't get together in person as teams and collaborate and have a little fun let's do something remotely right so you know what was born with the hackathon out of that now as and all of you who've heard bill mcdermott know he's a he's a really effective communicator can simplify a message better than anyone and one of the things that i i enjoy what i hear and talk about is behind every great experience is a great workflow so in my opinion you know integration hub is at the heart of that right taking problems uh that you may have business issues or you know allowing you to think of an idea and then have the tools and instrumentation actually bring it to life so that was what we had the teams do that was the whole point of it now this wasn't your traditional hackathon in which you know we we give you one target everybody gets locked in a room no one comes out until it's actually done this is a little bit different in that we we put a little bit of enablement around it but we had them submit ideas that were customer centric as well as add value and then we had a little bit of like a voting panel after everything was submitted and completed to determine uh what was the most impactful solution most creative solution uh innovative solution that type of thing so everything that we did was customer focused with outcomes but again you know inspire creativity increase skills showcase cfcs and then collaborate with the peers we're all our goals here so the the net event was that we had 14 teams of 69 people across the world throughout our organization submit ideas and then they all got together and and just produced some amazing stuff everywhere from uh integrating with social feeds spoke creation for shipping carriers as well as like uh i think there was like facial recognition document scanning integrations all kinds of things that we don't currently have of the product then we ask them to create and submit his ideas so we have the top two teams here one the first place was social hub the second one was hustle and flow designers and i'm going to give them the opportunity to talk a little bit about their solutions to what they actually did so i'll turn it over to joseph first who's going to review hustle and flow designers thanks so much and chad i also want to just thank jerry and chuck for giving us this opportunity we we had a lot of fun doing this and it was a great experience for us as well so let me just go ahead and walk you through uh some of the stuff that we covered um so again we are the hustle and flow designers our solution was called now logistics um the team just quick introduction uh we had five people on our team our fearless leader tim mallory uh myself jimmy juan and michael hart and terry henderson so that rounded out our team uh we wanted to just spend a minute walking you through um not just the product but the process that we used to get there because we feel like that was just as important as the end result um from our perspective so when we're looking at what we did and how we did it so the what was pretty easy the the one is an embedded logistics management system um the idea was to create uh carrier specific spokes so one for fedex ups dhl and usps uh that could uh deliver real-time info or near real-time information about shipments uh directly to platform users uh there were two use cases that we focused on that we'll dive into in a minute that focused around change management and request management um but again the idea was to keep it customer centric and customer focused the how we did it was personally in my opinion a little more interesting um i want to walk you through our process the process phases we went through and and the important thing from a process phasing perspective was we had a structured methodology that we went through but one of the important things we want to cover is that any time you're doing any sort of product like this development like this we feel like the branding and the messaging is always key and it's not as a phase in a project it has to go throughout the entire life cycle and if we had one recommendation for all the developers out there it's that and again i come from a development background i remember many many many times toiling away and i i always say i thought of myself as the kevin costner in the isle cornfield thinking if i build it they will come and i got to tell you that's not the way it works if you're not thinking about the messaging and the branding then you can build the mona lisa if you don't know who you're marketing it to why it's important to them and how you're going to get that message out to them you're really spinning your wheels and wasting your time so that was our big uh focus on all of this is how do we relate this to a customer need how do we message that customer need how do we make it feel like it's adding real value to users and i recommend you guys do that on all your projects um just to talk a little bit about our process we went through uh initial ideation and scoping that actually probably took one of the longest parts because we needed uh to figure out what we were gonna solve for first we had a lot of great customer needs submitted by the team um from real customer meetings that they had had in the end we actually settled on uh one of the big box retailers needs around needing to see shipments but the process that we went through to vet because we went through several of these ideas before we landed on that one was how do we make sure that it's going to resonate not just with this user or this customer but with everyone and we did virtual brainstorming sessions where we really dove into and this is the other thing that we really recommend everybody do the relentlessly questioning of the value so in this case the customer said well i'd love to be able to see shipment data in line in servicenow and the question has to be why who cares why does that matter and then they say well you know we don't know when shipments are late so what why is that impacting you and you just relentlessly question well if i knew that then i'd be able to possibly let people know that key things that they're going to need for specific important high value meetings aren't going to be there which was one of our use cases or that maybe we're gonna have to push out a release because we don't have the underlying uh products that we need to deploy because we're waiting on a switch or something from the manufacturer so by relentlessly questioning the value we were able to drive down into the specific use cases that we actually enabled in the solution that is so important i i i've got a blog from like 2011 on the community that is probably one of the most viewed blog articles out there just called ask why and if you don't understand what you're implementing you're not adding value to the process you have to understand what it's doing because otherwise you could be duplicating uh something that's already there you could be defeating something that's already there it's just there's so much deeper don't just be an automaton if somebody hands you a requirement and you implement it and say there it's done because that's that's not what your job is as a developer absolutely and again having lived that pain many times i i agree with you wholeheartedly there chuck oh and i had to unwind somebody's previous work in a previous life i took over a crm package and it was just so messed up because they never asked why and you know the team said well we just walked up and said hey we need a field for this and then they realized nobody was really overseeing the process and they had three fields that did the same thing and nobody knew which one to use it was like oh man what a mess yep absolutely i just threw up some of the tools we use again i i we use slack a lot um i also like using poly when you're trying to get uh it's a polling solution in slack that's really nice so again some tools that we use um the next phase after you get an idea then the work obviously begins um but the work doesn't start in the product and that's the next thing i want to lay out is we didn't open up the product and start tinkering stuff and throwing stuff together you got to start with the design and the design starts with the role-based use case so we took those high-level use cases that we brainstormed and we really drilled into what happens at each phase for each role in this life cycle and then once you have that you can map that to your pseudo code diagrams and please please please do pseudocode diagrams don't start in product because in pseudocode diagrams that's where you're gonna figure out all the logical mistakes that you made like oh shoot i thought this loop would be here but it actually gotta be before because otherwise we're not capturing all the information or not flowing correctly and these pseudo code diagrams are really important in the documentation so that later on when someone like chuck has to come back and unravel everything that was built before we understand what the initial intent was um so this is key from a documentation perspective and then obviously this should always be asking questions collaborated never just you in a room doing it on your own because if you're not mapping back to the value or doing the way that the customer expects then you're not really solving the problem once we get done with the actual design then we can open up the product and actually start the development uh the development we brand out our documentation we round out started actually building in the components in flow designer build out the functional components and please comment your code if you don't you're killing the next guy it's not fun so always always always comment your code next guy nothing i can't remember what i did six months ago i am the next guy sometimes right um but that's where we obviously get to do the fun stuff of getting in and seeing what that product can really do even though this was a hackathon we felt like it was important to also build out the whole process around test and deploy we didn't actually build automated test framework test cases but we do recommend if this is going to be something going into production that anything you develop especially if it's going to create skip records that you have an atf test case around it to make sure that when it rolls forward and iterates you're always managing back to that core requirement and then document it all and when you deploy it deploy the documentation everything with it so that you know two years from now when somebody's saying why is this skip record in my upgrade log we can map it back to that documentation uh and then as i said branding is a something that happens throughout when we were going through and developing these spokes if we hadn't decided on a name now logistics if we hadn't decided on which spokes and how to brand those we would have to go back and do complete rewrites just to add the branding in is in a different layer but because this was a process throughout we were able to follow a color palette we were able to pick appropriate imaging and those i love julio uh it's a online color palette generator um which is a great tool because i'm terrible with aesthetics but you can go on and like pick a few logos or whatever it'll generate a color palette for you all of this stuff just makes your product more professional and that's really the key is that if you brand it well and do a good job establishing a brand in the solution that you're creating even if it's just a spoke people are going to trust it more because it looks like it's professionally put together not something somebody slapped together really really quickly so that was important is make sure you take the time to add the adequate branding to make it look like it's a professional product not just something you did in your garage in two minutes so um the product let's go ahead and jump over real quick i want to show you what we did so at its core we added uh essentially the ability to track shipments and relate those to orders um we added within the um the the product itself a table as well as a workspace experience where the workspace manager could come on look at dashboards related to how many shipments they have in flight and deliveries and then view the shipping status and filter and manage these shipments but they were all driven by the actual flows uh so if we go into the actual flow designer you can see that the flows are actually there's there's two of them and i probably should have pre-loaded these but it takes a second to launch them but you can see that in the flows themselves essentially it's a lookup that happens every hour we felt like one hour was frequently enough uh in this case to get current status obviously you can change that if you use it more frequently or less frequently but what we do is we scan the shipping records label our table and go out and look up all the shippings that have not yet been delivered to get the status from each of the different carrier spokes here again adding these carrier spokes with their own branding conveys that sense of it being a complete solution uh once it's actually created we then go and update the actual shipment record and then all sorts of logic is performed in our case the use cases were again a change manager is waiting on a shipment and has to delay a release package or release a release package as a result of a switch not being unpresent so we update the change order and notify them and the requester of a specific item from the service catalog isn't going to get it in time they need to be notified so although that is handled in the subtask for the subflow of the getting the shipment record um one of the nice things too is that we built out the idea for the future design so with the action we didn't just have the action for instance for the get shipment status that we had we built out subs for future development things like validating address or creating labels or calculating costs those are things that aren't built into this version of it that certainly could be added to add value uh in the future that's our that's our solution um again from uh from a functionality perspective it's fairly straightforward but we felt like it added a lot of value because we contextualized it around those user needs so go through the uh the process flow in the product of of what a day in the life might look like for some of these personas sure absolutely we had a couple minutes yeah the use case that we went through for the requester was a requester is on the actual um uh catalog they order a webcam because we're all zooming these days and they needed to uh they needed to have the webcam for an investor relations meeting and the shipment was delayed and the use case was that in the current product there's no status about what's going on with the shipment all they see is their status of the order which is the order is currently not meeting its sla but they don't know why they don't know when to expect it and they don't know whether or not they should be panicking should i be running out to a to a retailer and buying my own webcam what's the story and so the use case is this update status the shipping record was able to notify them that the shipment was in fact delayed but that it will be there later on that day before the actual meeting occurs they're not then required to panic and go out and make some other business decision so by giving them that insight they understand that they're going to have what they need by the time they need it or that they wouldn't and that they're going to need to go out and buy the webcam the other use case that we walked through in the video that we produced was again a change manager waiting on a release and had started reorganizing um priorities and resources in in preparation for this release when they find out that their switch that they're waiting on is delayed in customs um and so when that track when that actual trigger occurred the change order was updated and the change manager was notified such that they could say all right rather than continuing to pull all these resources and putting other projects in jeopardy i can now re-schedule this release to a date past the time we expect the switch to arrive thereby be getting other work done and not wasting the cycles fitting up for this release that isn't going to happen nice so you've really put more of a in terms of the catalog example in the first one you've put a a bigger picture of the supply chain management around it to to improve that experience i mean the catalog is nice and everything you know you know when it's on order and whatnot but you've almost given it more of that amazon experience that i just got this week and said hey one of your products is delayed it'll be there thursday instead of tuesday sorry would you like to change your order you can take action on it but you know now we've got that kind of experience in the platform wonderful yeah that's precisely what we were going for we wanted an amazon style experience so that the users wouldn't have to go out to extras first of all they wouldn't have to swivel chair because a lot of times the users who are making those requests they don't have the ability they don't have the tracking numbers they don't have any of that information right we don't necessarily want to expose that to them but giving them the information allows them to make business decisions that drive better belt and they're getting that via slack message email you said a couple others well so in the change manager case we actually updated the change order and sent them a notification which would go via their predefined notification methodology and the same with the request user we're updating the request object and notifying them um if they're set up to receive uh mobile based notifications or or you know emails whatever notification that they have set up so what were some of the more challenging bits that you encountered on this so and i'll let the team jump into here if they want but i think from my perspective the hardest part was putting a box around what's really going to add value because once you start to try and open up that world like one of the things we talked about was well you know some of the carriers allow you to put in an account or an address and get all of the shipments you're expecting back but as we're thinking about that does that really add value because if i know a shipment is coming but i don't know what it is or why someone wanted it or related to the demand then i'm not adding business value so that's one of those areas that again if you don't think that through the design of what it is you're trying to achieve you could have easily gone down that rat hole and started developing all this great stuff it created all this data that nobody's ever going to use so that for us i think was one of the challenges was just trying to understand where how do we target this so that we're adding real value to customers today well and although a hackathon is a competitive thing where you've got a finite set of time that's a very close analogy to what developers have in the real world you have a finite set of time you've got two weeks to do this or you've got 40 hours to do this or you've got you know whatever it is you've got to go build it so you better know the scope of what you're building so you're working on the right things that add value at the right time so that's a same thought process you went through for this internal competition is what every developer should be going through uh you know if they're as long as they're involved in the design phase you know that's that's a different story so hopefully somebody should somebody should be yeah yeah and that was that's why that presentation on the process two-thirds of the time easily should be on the thinking through the ideation and then the design if you're if you're diving straight into development you're spitting you're wasting time because you're developing stuff that's probably not going to be needed or used ever i like i like a story that david liu shared with me about fred luddy this is going to the way way early days of service now fred often said i want to give you an assignment it's due in a week you're going to think about it for six days and implement it in one that's like wow okay that seems that's not probably that probably not quite my ratio but i get the idea but if you spend six days thinking about something you're going to be a lot more effective when you actually start the work that's for me absolutely and that's the goal yeah all right anybody from the team want to jump in comments thoughts lessons learned hey chuck it's jimmy sorry yeah i just add and re-emphasize what what joseph said right we did spend a lot of time doing the um the thought process behind what we were going to build and why we're going to build it um one thing i was going to just kind of toss in there with the design right we spent a lot of time talking about through the design but there are also places where we consciously talked about decisions that we made that you know in the design where it's like let's it's a hackathon we don't have to build this to production level right so we can take certain shortcuts in certain areas but in the process of doing that we did talk about like what we would do if it was production like you know one of the goals that we had at the beginning hackathon was this is also educational so let's kind of teach each other maybe some of the things that we might do if we were coding for production so uh just just a small example of that is the return values from the various actions the the various carriers all return different things for the same state right so something that's on time might not say on time from one carrier to the next so in the course of the actions building the actions we just kind of short cutted it and then put that logic in the actions itself kind of normalized it so the actions all return the same thing just to make it easier but we talked about if we were to take this to a professional like production level thing we probably would have some kind of a lookup that said this is the value coming back from a particular provider um this is the value and this is the normalized value right so you can look it up and just kind of abstract it so that the the carrier action itself would be you know clean and pure and returning basically what the apis from the providers gave uh let the consumer actually do it with what they want um but we we just kind of shortcuted it there just to save some time right so those are the kinds of things that in the process we did just differentiating between what professional level production level development might be versus what we didn't hack of them yeah there's there's mvp and then there's you know the ultimate vision of what you see as the clean full end product oh yeah we've all got those yeah since we're talking to developer audience i figured we might just kind of differentiate that a little bit too because we are talking about hackathons hackathons are not finished products they're good enough to show what you need to show right [Laughter] um i saw some workspace i saw some flow i saw some integration hub what other parts of the platform were involved in this application so we we again we added a table space around it we added some business rules for logic for when uh statuses were updated to handle some of the notification stuff obviously we were using the notification engine on the back end um we were using slas and timers uh logically although we didn't actually have to code all of that someone was just in the design phase but we talked about how we could trigger secondary lookups when slas will close or stuff like that um so i mean we used pretty much every every part of every conceivable part of the product we wanted to be especially like you know we didn't have to do the workspace view but we thought you know a logistics manager is reasonably a role of somebody who's going to be able to see that dashboard and know where are all my shipments rather than just the end user consumer view we wanted to create that role who could go into that one source too so we tried to think about it more holistically yeah and underpinning all that it's it's uh it's a scoped app so we did build a scope down for logistics around that along with all the various folks yeah all right well thank you hustle and flow designer i'm looking at the clock and we should probably uh turn it over to social hub who will be speaking for your team me it's fabulomy good morning everyone good afternoon everyone thank you everyone and i'm gonna share with you my screen um so uh my name is fabio and i'm here today with william and max and we're going to show you i talk to you about our project for this 2020 integration package so when we when we decided our project so we we took into consideration uh three main aspects uh so um we we wanted to build something uh ninety percent hundred percent from an integration app so we want to use the integration app but we don't want to add any code anything so just integration app just to show how easy is building application building integrations with integration the second aspect it would be of course finding something having an idea that would be innovative so thinking about the future but also thinking about today's so how people is communicating today uh how people are used to a better what are the better you know the best solution they choose to communicate between each other and then the third thing was to build something that would be valuable for uh uh for the customers so something that can bring some benefits so uh thanks to a william idea what we uh what we decided to do was to put in the basis for a solution to improve customer service so the idea is to make customer service much more productive proactive and improving general customer satisfaction so this is mainly about connecting people exploiting modern channels modern communication channels get people sentiment also in order to get closer to final customers and um and that's basically what we did so i leave now william and max to explain the taste of what we or what we did thank you fabio and thank you chuck for letting gaza in your web show so i'm going through quickly on this uh on this slide and then we will switch on the on the instance so um mainly the the idea the basic idea is to collect information from social networks and bring this information inside servicenow and when i see information i refer to made it to posts a post is just as i can imagine you're familiar with social networks so if you use facebook or twitter or instagram or something like that a post is a message a text a picture that the person can publish on the on the network on the social network the point is that usually people use social network also to share their ideas their feeling the sentiment they have with the product or with a service so probably if you are a company you want to know how people uh what is the sentiment of people that are using your products and your services and if you go on the on the web on social network uh probably you can get some information about your brand about your products about your services just looking at public posts so uh we selected one social network just for the the sucker of the hazon but basically you can extend this implementation to other social networks so as you can see uh the icon in the middle of the slide is the icon of twitter it's a social network very used in the let me say in the western world and um so we went through main uh three main steps the first one was to build uh the data structure to to collect information to collect pos to collect repos to collect uh author information to collect like information like number of retweets number of followers and so on and then we uh the the biggest part was to integrate with the twitter so with all the spokes all the actions all the flows we need to talk with twitter and to collect information and the third step was to integrate with the google sentiment analyzer that is a very simple api that you can invoke and you push a text a text a piece of text to this api and google will answer you with a numeric score that goes from minus one to one where minus one is a bad sentiment one is a positive a good sentiment and zero is a neutral um i will switch to the instance max can you show your screen please okay so let let's start from the the final result okay so this can you can you close the the menu on the left max please no good demos doesn't good demos always start with a colorful dashboard don't they yeah and um so in this dashboard you can see uh the big number on the left is the number of uh posts we collected today on this instance so as you can see it's a big number and how we collect them we have a configuration table where you can set up uh the the hashtags or the so the account on the social you want to search for so you can invoke twitter apis and ask two twitter apis give me all the posts that contains the specific hashtags or this specific keyword or this specific account and with flow designer you can you can configure it to do it periodically like every hour every 15 minutes as you want and and and and the first thing so is to collect the data once the data are in service now you can build all the the thing you want to build on it so we integrate the platform also with google sentiment analyzer as you can see um at the bottom uh there is a yellow and uh green line all over the chart and sorry the and the bar the the blue bars okay the blue bars is an average sentiment score calculated by google analyzed so basically how it works we configure some keywords we want to collect from twitter like hashtag servicenow at mikkel mcdermott or whatever you want hashtag ferrari or the brands you want to monitor or the account you want to monitor and we collect tweets every uh some hour sometime bring this data into servicenow and for every single post we invoke the google api to get the sentiment score so google can see no matter the language so we collect tweets from every language and um [Music] as you can see on the chart on the pie chart on the right so as you can see there are many languages no matter the language google can say if the text is the post is a good post it's a bad boss or is it if it's neutral and try to imagine this maybe you are launching a new product or a new service on the market and you want to see how people our customers react to this new product or new service so when you launch this new product you can start to monitor twitter and every time a person put a post on twitter with the hashtag related to your product or with some specific keyword related to your products or services you can see the sentiment if people are happy if people are not happy and this is just an example imagine if you want to monitor a competitor for example how people are talking about your competitor and you can also start and taking action um but let's go through a little bit of this uh numbers and chart just to show you what we what we did so number of posts top left uh number of reports so in twitter there is this concept that you can retweet and so take a post of another person and and republished so you can count also how many times a post is has been retweeted the sentiment score and we can obviously calculate an average as you can see top in the middle and with the performance analytics we can say okay the sentiment is going up or the sentiment is going down so based on this you can analyze um the quality of of the sentiment uh then we have a post by source so what kind of technology are using customers are using to to tweet about your product and services and maybe this is not so important but think about it if you're launching a new application on the market you see the people that are talking about your brand are using more android than iphone probably is important before uh to decide what kind of application deliver on the market and then we have some information about uh the language as i said before on the second tab of this dashboard we have the word cloud we are just leveraging on um standard reports and performance analytics stuff um as you can see these are some keywords uh used in posts collected by twitter and you can easily understand what kind of information we are collecting like information about apple microsoft ferrari servicenow uh kovi 19 tesla and so on so this is a good way to monitor what kind of words people are using when they are talking about you and then we have clustering this is another idea so the the basic concept is the point is when you once you have the data in south servicenow you can treat them using all the the tools you have in the platform so you can use performance analytics to analyze them you can use clustering and predictive intelligence to see uh if there are some cluster topics related to the post so no matter what is the scope the final scope of the thing you want to implement but once you have the date and service now you can do a lot of things and uh let me show you also max switch to the uh to some table yeah let's show something about the data structure because these are very important obviously this is the first thing you have to do you have to prepare tables and feeds and this is the configuration table so every row in this table is the kind of is the configuration of the thing you want to collect so we want to collect from twitter as you can see a twitter is a drop down list so uh actually twitter is the only the unique social network we integrated during the hackathon but basically the idea can be extended to other social networks so we want to collect from twitter all the tweets related to the keywords at servicenow the configuration is active and if you want you can also create interaction so the flag create interaction um is used to create an interaction so i mean when i say interaction i mean the interaction record in the interaction table and so you can start also to uh to talk to have a talk with the the customer that post this tweet on twitter so but we will see this later and as you can see at the bottom in the in the related list we have all the executions so this is a kind of log of all the time the flow designer collected tweets from um related to this configuration and in the past table the post related list we have all the tweets collected from twitter related to the specific configuration uh max just open one of them this is the post table as you can see a lot of information obviously these are provided by twitter so why we choose why we choose twitter because if you go on developer.twitter.com you can have a free account you can collect the data about public twitter public tweets uh without pay nothing it's free you can play with the with the apis you have some limitation but it's fine for the sucker of an algorithm um so that's it so all the information you see here all the fields are feeds collected from uh from twitter and i can say that they can be generically uh intended to be used by every social network because every social network has the concept of the content of a post the source um the howther the language the the the url that brings you to the social network post the hashtag used and where possible uh we structured the structure structured the data in different tables as you can see from the reference fields we have here like the household for example so about the half hour we collect everything so uh the social media the number of followers the picture uh this can be useful if we see a customer that is not happy so google can say that the sentiment score of a tweet is very low so it's bad and we can see that this this feat is post has been posted by uh an influencer maybe with a lot of followers so we can take action maybe we can get in contact with this person and uh try to be proactive so the idea is to collect information also about uh the alpha uh so fast configuration author uh what i missed executions yeah executions is the let me say the log of every single execution why this is useful because uh it takes some time to collect tweets so we we can see if there are job running and uh how long it takes to collect some some some jobs if we have some error and so on and then also we have a hashtag stable where we collect the most used hashtag you know the hashtag is very common in social networks is just the hashtag the sign followed by a word and the idea is that sometimes you want to know what are the words related to your brand so when people talk about you what are the most near aspects they use and this can be used to see so the point is using social apps social lab you can see how people are talking about your uh products your services how people are talking about uh your competitor okay so you can react based on this and using the concept of the interaction you can also react proactively to customers on social networks so if i'm going to tweet something bad about uh i don't know a company because i'm not uh excited about their products and i just buy a boat a new phone and the phone is slow i don't like it and i don't know whatever you want probably one of the first things i'm going to do is to share on social networks how sad i am with the product so if the company can intercept this bad sentiment can get in contact with me soon and pro proactively give me a a customer service that is different from the company so i'm not getting contact with the company through traditional channels let me say phone emails even web portal i don't want to register a new account on every single company just to get assistance i want just to use my favorite channel maybe twitter maybe instagram maybe i don't know whatever it is and get in contact with the company um this is something that is already let me say it's not something new if you go on twitter a lot of companies give assistance on twitter uh taco company insurance company banks uh it's just another channel the and and and for sure there are on the market products like social apps i mean if you go on marketing departments probably they already have tool like this now this is on service now and this is the the real differentiator because you can mix data from social network with data from customer services that's that's the the very good thing so interaction what does it mean this is a post collected from twitter this is just a test we did with a fake account that at social and there is a long number it's just a an account we created just for for the hackathon and as you can see for this specific uh post we created an integra an interaction so this has been created automatically because the configuration related to this post has the flag create interaction set to true so if you open a direction max please so the idea is that we can bring the conversation inside uh into servicenow into an interaction and so for the end user for the customer they are having the interaction on twitter so they are just tweeting with us and behind them is now we are not using twitter we just uh adding comments and or in this case work notes to the interaction so every time you post the work notes here um a reply to the original tweet uh is made on servicenow on twitter sorry uh i don't want to take more time max do you want to show what we did on on flow designer and integration up that's probably most interesting yes thank you and yeah but based on this uh configuration what we have here in the interaction is also a reference to a post that is telling us which is the source that has generated this kind of interaction and from here you can also navigate through the references to get the the sentiment score for that post or to the author or uh directed to all the information that are coming from the the social network that we are using as william has said when an operator an agent is replying to this interaction there is a flow that automatically uh post this uh um this comment as a reply to the original post that has in uh that it is in the in twitter i like that because you don't lose the threat you've got everything captured in service now as well as you know the the end user really doesn't recognize that they just go oh i got a reply from you know ferrari or whatever it happens to be but you've you've got that whole transcript not just from twitter but from you know the other social networks and you can aggregate that this is very powerful stuff exactly and the other the other point is that uh when you have uh let me call it a root social id so a root post that is creating an interaction then related to this post you have all the other parts that are coming from them from that post so also the reply that has been entered as a comment in interaction is tracked in the system as another post that is or also coming from the the get tweets that we are doing for retrieving the information so for retrieving the tweets you've even got a source field to tell where that message came from that's that's amazing i like that exactly and to do that uh we used i said the the flow designer we have uh some main flows like the get tweets the get tweets is triggered every one hour or whatever it's your best interval to to set up and what it does is to go through all the configurations that are active in the system and try to to get all the tweets related to them using the the keywords as a filter in the search to to call the api from google sorry from from twitter and this is the specific action that we implemented to do this kind of uh interaction integration and what we did is uh because this api is using an old version of the authentication we did a sort of custom call to have the first action the first script that is retrieving a token from the token api to then be able to retrieve all the information about the tweets so this is something that was done let me say custom and then we have the the logic to store the tweets in the the tables that we have created in our custom application the second step is that once you have all your tweets in the platform you can start to build all the logics that uh that you want to to implement so in our case what we did is to create another flow which is called get sentiment this gets sentiment is triggered when the post is created or updated and also we had added some conditions to understand if we have the information about the content or if it is empty and if we have the information about the language and then we can call another action that we implemented which is called google sentiment analyzer this one is not something new that we did from scratch but we are using an api that is already in servicenow in the platform if you activate the plugin so it's a feature that is already in use in the platform to analyze the the surveys for example for the customer satisfaction the csm so we utilize that the same script include to adopt it uh for our use case and the the next thing that we did is uh another flow called create interaction so when we have a post that is created and the configuration as the flag that we were talking about uh called create interaction is set to true what we do is to check if there is there is already an interaction related to this specific post and if not we are going to create a new record in the interaction and we are relating this interaction to the twitter that is triggering this introduction and once the interaction is created the the last one uh it's the interaction commented so when the interaction is updated and the work notes are changing and the type is twitter obviously because now we are just integrating with twitter we call another action it's called reply to twit that now is using what again is already in the platform so we have a twitter plugin that can be activated to create the integration with twitter to post a message to post a message we need to define the credentials so the twitter credentials this is what we have used so we have an access token a token secret a consumer key and a consumer secret and with this record with the for twitter credentials we are able to generate an authorization header and then we can call the api to post the twitter using the the body the text message that the agent has inserted as a comment in the interaction then we have developed also some other flows just to to try to understand what uh can be added in the future and there is one flaw related to the population of latitude and longitude if we would like to relate to a pause or to an author a specific geolocation if you want to understand where the these tweets are coming from we have another flow here which is called the get similar post because we should be able also to understand if some tweets are related together so if they are talking about the same things so as william said in a service now we can also use the clustering and the similarity framework to try to to to create some aggregations for better analyze all these kind of contents and the last one is that the get profile picture which is what we are using when creating an author to get to to download the picture the public picture of the author and that's it so what was the what was the inspiration for for this idea did it come from a customer you did you see it as a as somebody mentioned that where did the idea come from to be honest actually it was in my mind uh just went out during a brief summary with the team um i don't know why is is in my mind probably because i'm a social uh network heavy user in my personal life and and it's something that is missing in the platform and and sometimes i used to interact with companies through the social networks so i prefer to use social network channels to interact with the companies they want assistance from so uh probably that's that's something in my mind and and it's if you think about it it's something that is missing in csm and it's not a big deal but it can make uh it make it it can makes the difference sometimes yeah i like the way that you hooked it into csm that's a perfectly logical way um i don't know who's sharing at the moment but we might want to stop and go back to talking faces there we go the uh what was what was the most fun part that you built out in this app anybody can answer that one uh the fun part for me to me for me um the the content of the post you can collect from twitter sometimes are very funny so uh because you now you can understand how information because they are public information we are just collecting public posts so they are not private thing and the funny thing is to see how people are talking about some specific companies and to see the sentiment of this of this on some specific brand so for example some iconic brand like apple tesla ferrari the sentiment always is always good service now is is neutral good let me say and sometimes we have i don't want to say the name but let me say traditional companies uh and you can see that people are very sometimes angry with them you know so probably they should consider to use social lab to to fix this this situation because the brand reputation is very important to me so that the funny part you see the content of the post that's that was funny do you think we could or maybe we should connect this up to the presidential election to try and predict who's going to be the next u.s president i'm sorry i'm not getting annoyed we couldn't do it that's a side project that you may want to do off to the side but i'm not going to endorse it but it'd be interesting to see how the sentiments today relate to the outcome let's let's add that configuration record and see what happens in the next phase let's see socialize that internally at servicenow only today's poll results [Laughter] all right i had to go there well we are just about out of time thank you to both of the winning teams social hub and hustle and flow designer i love the names by the way that's that's awesome the uh you guys did a great presentation wonderful work how long was the hackathon just curious how many hours it took to put this all together those are two separate questions because i think the whole hackathon was four weeks but remember this was on top of our day job so okay hours but together was was a little bit less than than we would have liked in our case and i'm sure in in the other team's case as well doing uh doing the best we can with nights and and weekends and such very nice and time zones and yeah whatever else was in there excellent work well thank you once again everybody i am going to give our salutatory sign off for this so get the right background on there there we go don't want to show everybody my notes of what i was doing thank you for joining us on youtube and twitch and watching this on the community i appreciate everybody joining today hope you can join me for the next episode on monday the 31st yes where we'll be talking about script actions going into actions that are triggered by events and what you can do with them this is another one that i've been using for years but when you got to go teach somebody about it you always learn something new so i hope you can join me for that one and until then take care be safe learn something share something and uh i look forward to seeing you on the next community live stream thanks everybody and bye [Music] you

View original source

https://www.youtube.com/watch?v=mj3Xdkx7Nhw