Notification Translations in Tokyo - Creator Toolbox
[Music] thank you foreign [Music] ER toolbox this is the video series from servicenow where we give you the tools to make you more effective developer whether it's admin developer somewhere in the middle all skill sets we've got something for you on this show so let's do some quick introductions before we go around there's no drinking on this well that's the other show we do it's a lot alike I know it can be confusing sometimes that's live coding happy hour this is Creator toolbox my name is Chuck tomasi senior developer Advocate with servicenow I've been with the company since 2010 customer for a couple years before that and a long long history that now extends past 40 years into the distant past on Computing and developing next this young lady over here hey good morning or evening or afternoon everybody uh my name is Laura McManaman movie I was in a technical sales role and prior to that I was also a servicenow developer at one of our lovely customers so extremely excited to be here and I'll pass it down below oh and exciting exciting times because you won't you'll very soon not be the newest team member and a new team member will be joining us we'll have an announcement in a couple of weeks stay tuned uh My Name is Earl Duque I am a developer advocate here at servicenow I've been with the team for about a year a little bit more than a year now but before that I was doing development and Senior development at a bunch of customers in higher ed and mostly higher ed yeah um and back to Chuck thanks we're having fun with the windows now all right quick reminder that this content is part of our Tokyo series we are still in well no we're not in early availability because it was General availability about a month ago at the end of September but we are covering all of our platform app engine automation engine content that we can if you want to find the whole calendar of what we've done up to this point and what's still planned you can go over to devalink.sn Tokyo good stuff there we've also got uh it is between October 18th and November 15th as we record this I feel like you know the movie The Jerk where you can have anything between the Chiclets and the pencil erasers but uh that's a reference for another time we are in the call for Content period so if you are interested in speaking at our next knowledge event particularly the developer part of it called Creator Cod you can go to devlink.sn C C 23 that's create account 23 CFC called for Content not chlorofluorocarbons those were banned years ago but you're you're not banned from doing your call for content if you've got an idea we just need to title and Abstract we've got open Office hours if you go to that page and you want to polish that idea you want to get an idea inspired from somebody else or some from some projects you've done we would love to hear your ideas uh we have another one coming up tomorrow too actually we do these that are time zone friendly for as much as we can of the world so hope to see you there and uh what did I miss oh meetups are coming up we've got Lauren doing a few in-person meetups Chicago and Madison and Atlanta and I've got Boston New York and Washington DC at the end of November so if you want to know more about those you can go over to devalink.sn meetups and if you can't remember all of these devling things you can go to devleague.slash Links that's sort of our Master directory of the common ones where we want you to go look at that Earl is on the ball with those subtitles soon I'm gonna have to learn to be his master as he is at changing the scenes and changing the titles because Earl is going to be taking some personal time soon this was my last last live stream of the year I will be taking parental leave starting well any time now you're still going to be releasing shorts you know I have a lot of ideas we'll see how the baby allows me to record any of them how to record as a new I mean how did how to do development as a new parent typing one-handed laughs all right enough with the intros let's get on with the general content uh I am going to step aside virtually not literally and let Lauren take over and show you what we what do we have today as the title suggests today we're talking about oh uh I wasn't ready for that one sorry sorry it was today we were talking about a multilingual email notification so for the vast majority of servicenow customers email still represents the most popular means of communicating both sometimes internally and externally using the servicenow platform obviously we have a lot of other tools for communication such as maybe not doing communication with a human like agents or doing things with the mobile push notifications um but it's really really really really really really difficult to get organizations unentrenched from the usage of email and one of the blessings of today's world is really easy to communicate with anyone anywhere in the world but the consequence of that is that sometimes that is not done in someone's native language I know that personally at servicenow we work with a variety of countries as customers we have a variety of offices to work from and sometimes it does present issues of like how is it the best way to communicate with somebody um when you don't speak same language luckily Tokyo offers a kind of a nice Bridge into easing that process that's not it is not completely at the behest of organizing multiple multiple versions of email notification templates and kind of uh kickstarts a much more fluid process so before we start um there's actually two ways this is now handled on service now the first is probably the more it might be the more familiar way which is dynamic translation Dynamic translation has existed to some extent on the platform I think since Quebec Chuck I can't be certain I wasn't paying attention it's one of those features I just sort of snuck up on us like hey that happened well I don't know it could have been Dublin for all I know true I mean to some extent I know that they were building um they were building these servicenow spokes for those of the I think it's IBM's Watson the Azure translator and I believe the Google one as well that basically allows service now to uh reach out if you are a third party customer of one of those services and use that engine to translate various things on the platform that is something that existed um but however that's not a service that everyone has access to I believe that those are all paid Services as well so oftentimes there's some sort of globalization team or something similar that helps with internal translations of assets however there was never a good way of organizing those like I said before most people were just creating multiple multiple multiple versions of the same email for the variety of languages it could go to but there was no link between them so if one expired or one was changed there was nothing um out of the box that would intuitively tell someone to do the same to the other languages um similarly uh the step a lot of customers took was to like build that aspect themselves elves and so obviously if there's something that a vast majority of people are doing we try to provide as part of the platform for free as well um and so that was what we are focusing on today which is the static translation aspect of the platform and now I will go over to my screen or I'll thank you so much um because this is a part of the platform that is available today I wanted to kind of highlight the steps that you could use uh to get started so essentially where does where do most turning ons begin um they they begin as part of the plug-in system so if you go to your servicenow Store and search through the variety of plugins the plugin that you are looking for today is this com.glide dot notification.translation which I will put right there in our chat as well this plugin doesn't take super super long a turn on which is nice it's not going to kind of completely take down your instance um in the process but this is what sets up the translation aspect of email notifications another thing that you must do after this is active actually you actually don't have to wait for it to be active you can just kind of do it on your own is that you also have to create a system property um this property does not exist so if you search for it will not show up um which I will put as well in the chat um is Glide dot email dot outbound dot static translation dot enabled um a very eloquently named system property that allows you to essentially turn off or on the option for static translation when you create this make sure you create it in the global scope obviously if you're developing a lot of apps you might have a scope previously selected so make sure that that is the one that is global I don't know if you're in the wrong scope because it'll put a prefix on there for you and suddenly you'll go wow this is really really long with X underscore something something underscore something got Glide guys like that ain't right brevity is not the strong suit of this but it works very well um also make sure that the type is true or false obviously to make sure that you can turn on or turn off this property and set its value to true now in addition to this um if you are wanting to test this out let's say that you work at a company um that you know like only predominantly uses English yours your system uh instance is set to English and there is no um internationalization settings previously turned on if you're wanting to test this out you can go ahead and go to all again you're going to search for language and under the system localization settings you will see a list of all the languages that service now um handles now obviously from this most of them are set to false so if you're wanting to test this like for example uh in honor of Tokyo we're testing this out in Japanese I had to go and turn on Japanese to be active because otherwise we could not set that as one of our users uh preferred languages so uh the nice thing about this is this revolves around the concept of like helping out your users so our story today starts with a user obviously Tokyo instance we have to use Japanese one of my favorite Japanese celebrities is as a figure skater um his name is yuzuru hanyu he's unbelievable he won two gold gold uh good he's uh if you have any time uh Google his uh his routines um but as you can see here we've set this up and we have set his language as Japanese if this if we had not turned on the language to be active it would have just shown system English and English as the option so that's what I mean when I said if you want to test this out appropriately you're going to have to um turn on those localization settings yeah turning on the the language translation like the core localization stuff does take a while so be patient about that and then you'll need to activate each language as necessary so it's it's loading up a lot of dictionary entries it's loading up a lot of CIS documentation entries it's it's doing a lot of stuff behind the scenes for assist Choice a lot of the out-of-box stuff if you've done any development just a quick disclaimer if you've done any changes like hey I added a new state to the incident table it's not going to translate that so we've got a whole other set of videos and podcasts and whatnot on language translation I think we've had like old Tech Now videos from years ago that can help you go through that but just wanted to make you aware these things don't just show up by Magic it's not going to recognize a new custom table that you made and go I'll translate the labels for that too nope it does it's a considerable amount of data so that's a really good point Chuck uh obviously to to work with notifications we have to pull up an email notification itself which is the one thing I did not add to my favorites today so we are going to go into uh to search for the word email it will be relatively towards the bottom and go under notification so if you've never worked with email notifications before essentially allows you to set up a template for who what and when something will be sent to a user so I think I just called this translate yeah static translation test I'm actually named notification so for us um it's you set this up exactly like you would set up any other notification um essentially you fill it out as you would for the default language um and we're going to add an extra uh come on oh it would be a good demo without one of those no no unfortunately not there we go so as you can see on a surface level this looks like any notification that you might have set up before it has its name it has its table um it has when it is being sent so in this circumstance this email is when an incident is created or updated where the short subscription contains uh standard translation test incidents it is being sent to whomever the incident is assigned to and in what it will contain I just wrote this is the English version and it says hello insert assigned to name here now uh one question I got uh when I was kind of going through the documentation and like the Tois on this was why wouldn't you want everything dynamically translated like why would you want to handle something statically at all if you already had Dynamic translation as something your company was paying for um that could be a variety of reasons and um it could come down to a straight word for word translation and sometimes not the most accurate for like cultural sensitivities maybe you want to add in something specific for a region based off of the time of year or something like that as well um it was just kind of something that we addressed with our templates so again everything looks fine but if we keep scrolling we see that there's always going to be an advanced view of most records on servicenow which is where we'll see the options for static translation there's also a UI action down there that says request translation so if there's something that you don't see you can use this as an intake to find out if there's demand for this correct you're getting some skater smack talk from Gabby I know I see that um I'm seeing the Shoma una representation in the chat which I do like to see he is also very good but he doesn't have two goals though I'm just gonna say that um so as we scroll down past all the other uh aspects of our form we will come across the two related lists at the bottom one obviously email access restrictions that same as normal but now you see that we have a translated notification so if we go ahead and open this up you will see that I created a translated notification uh for the Japanese language so the fun fact you don't have to turn on localization uh to create translated uh emails which is odd dude it's a little bit asked backwards yeah I think you uh you can do this without being able to test for it so that's something to be mindful of so to create this essentially you select the parent so it creates a relationship between these two which is really nice for the sake of management and obviously improvement over time and the various language that it is being linked to so essentially servicenow's platform when it is running this engine will say hey we're sending out this email if a translated notification exists for this person's preferred language send this copy instead so I did my I am learning Japanese I apologize if this is wrong um it basically says this is a Japanese version um it says hello and instead of saying the full name like you would in English it says the last name in San which is much more um appropriate for communicating Japanese so good point yeah there are there are cultural differences you can't just go to Google Translate and say hey translate this for me and get back what you get I mean there's there's a huge benefit to understanding what the the protocol is absolutely so let's go ahead and test and see if this works uh I'm keeping my fingers crossed so uh per our use case we're going to go ahead and create a new incident um I set up a template for this as well so I always like to advocate for the usage of these form templates they're always nice um this just filled in the correct short description so that I wouldn't misspell it and not trigger the notification um and now we can decide who this is assigned to so we're going to go ahead and select useuru and we're going to go ahead and uh save our new instant you got a promotion after a skating career ended he went and he came from the help desk yeah he's a huge promotion um that was way to be in a servicenow developer yeah it's very funny um if you've ever watched his clips from the Olympics it's he's kind of like a rock star he's like one of his favorite things is Winnie the Pooh uh like he has a Winnie the Pooh tissue box and uh when he performed really really well it was like a reign of Winnie the Pooh figurines from office which is very funny also it was very funny because um in China Winnie the Pooh is banned so there was like a controversy around freaking Winnie the Bruin anyway um so let's go ahead and we're gonna check our outbox for our sent email now anything um go ahead and ignore I'll filter those out so uh wait yes okay we're fine uh hang on where is my didn't you translate the subject also uh and I might have selected the wrong mailbox yeah okay so I already sent it so if we go ahead and look at this uh it will say the English version which I at first glance looks like it did not work correctly um however it is also taking into account that I am an English user of servicenow so my preferred language is English obviously if you were an admin checking to see if things were firing appropriately um having this set in Japanese would make my job quite considerably harder considering my tenuous graphs of Japanese so it takes that into effect when it's rendering the email for whomever is searching for them at an admin level however if we um maybe I didn't do this correctly give me one moment it works this morning let me see if I can add it's turning into a little bit of a low code happy that's all right let me make sure the trends okay I was missing the release yeah this is good to show that you have to add the related list so there's a translated email contents that will need to be shown as I scroll down aha okay that was it so essentially again it's rendering in English for me that makes sense I am an English user however it also shows that the actual email that was sent was the one that was sent in Japanese and this is the contents of the email so good to know that it is rendering appropriately the one interesting fix to see especially for uh for languages that work off of character systems instead of uh like the Roman like regular letters is to see if that could be translated as well but the case another day are there any questions in the chat about um these static translations I don't see that but I do have a comment about groups so if you were if you're male notification was sending to a group rather than this one this one was tuned assigned to but if it was a group it said hey let's go to all of the software group and you had software group members all over the globe speaking various languages it will dissect that group and send the messages to those individual people with the proper language settings correct assuming you've got the language translation set up in that related list of translated notifications if you've got just English and Japanese and somebody wants to see it in Portuguese it's going to default to whatever that parent record is so they'll get English if there is no Portuguese translation that's when you might want to request a translation and say hey we need a Portuguese translation of this particular message with the group mail address that like is a distribution list that will no longer work so like I know it's servicenow like if you email this thing all of us will get a notification about it however uh then obviously like it will not it it doesn't know that so it won't because it doesn't know the individual members and it can't parse that from somebody else's DL that's on your exchange yeah that's that's not a thing uh prior to having this capability uh Lisa had mentioned in the the chat that she had done an issue where every all the mail notifications were male scripts and the male scripts would call a script include that then did the translations like that that gets a little difficult to maintain although it means means you can have multiple translations I'm not sure if you can translate the subject uh you could do things through CIS UI message using gs.getmessage in your script I would say I need the you know the paragraph that says your incident's been updated okay let's go do a gs.getmessage in the script to get the proper translation for that so yeah it kind of works but it's a little a little harder to work around one way that I did it when I was a customer way back when was similar to what you were talking about at the beginning I would trigger my notifications on events we didn't have the kind back then where you say incident or the record is updated or created and you know do that but the uh if you go to the advanced view on that particular record right there you'll see Trigger when and you'd have when an event is created that was like the original that's the OG way of went through Sam I still tend to do things that way yeah and it has some benefits it definitely you know there's nothing wrong with it you have to register an event you have to you know do the notification and what I did is triggered one event let's call it incident.updated and then had multiple messages respond to that and check the user's language but it only worked for specific users it when you were sending to a single user not to a group so if you if you go to when to send oh the section yeah yeah there so she says send when record inserted or updated there's some other options and if you had the flow designer stuff in here you could say when flow is flow of notification is triggered whatever it was but event is fired is like the original way to do that and then I would put in the conditions it says short description changes or you know State changes assignment group changes and user's language is English here's the English subject and body users language is zh here's the Chinese language so you'd have to still make individual ones and it was laborious and like you said they weren't really connected in any way other than that event yeah this is this is a nicer way to couple those together similar technology but a much better implementation one thing that I wanted to address I can't show it because I don't have the third party access but if you do use Dynamic translation it is the utilization of this checkbox and the request translations that would what trigger the appropriate obviously you have to set up the links but that's what it would do it one thing that I would challenge people this could be a fun I don't know like build with AES type of thing to work on but um now that these these uh notifications and translations are linked probably a helpful workflow that could be created as if this has changed maybe email someone to update these or turn it into a state of needs update because I that that is one thing that does not exist currently there's no way to know how uh true both are which can get messy especially of the owner of all of them does not speak all of the languages so like you couldn't double check um so maybe be adding an extra field or flow to to handle some of that at least so there's a like a paper trail that hey we've changed this one eight times with the Japanese or polish one is the same what do we do something like that a question of if the email was to be sent to an email address uh like a hard-coded email address but not and not a servicenow user what will happen with the notification and I believe if it's direct to an email address the system since the system doesn't know their preferred language it defaults to the parent notification yes foreign well that is static translations this is kind of a short and sweet topic but definitely one that worth is worth noting especially since it's free um and multiple people work with companies that speak multiple languages so um is there any other uh fun info for for us to discuss team I always get a a moment of reminiscing when it comes to no mid slow down Charles two uh email translations like this uh it's one of my first and Fondest Memories at knowledge 10. I tended I had done this as a customer in the way that I said with the events and multiple notifications and Jared Bennett who is actually a real person former employee of servicenow was doing a presentation on this topic on notifications not not on the translation specifically and somebody asked hey is there a way to do multiple languages in emails and he reached out to the audience which included his mother for some reason she was at knowledge I just get a kick out of that it's like well invite your family yeah and uh and I raise my hand and I explained what I had done so that was technically my first knowledge presentation was alongside Jared how cool Jared Bennett Jared Bennett okay I thought you were talking about the one from The Big Short never mind yeah Jared Bennett is also the one who came up with the original location names for the uh location table which had been replaced in the last few years and then the chat uh Lisa is saying this also makes use of translation request tasks that are used in a Knowledge Management translations I believe very cool nice all right That's All She Wrote for today thank you very much Lauren good topic I'm sure we'll get a lot of people watching later thank you very much for watching live with us if you want you know keep an eye on that content calendar we do have more Creator toolboxes coming up we even had a suggestion I've actually got a meeting later today to talk about a potential upcoming topic that I think is going to be quite fascinating for people who are doing Integrations and exchanging user information but watch our calendar Tuesday Mornings Eastern no Tuesday Mornings well I guess watch the calendar I can't keep track of the time zones for you and then Fridays we have live coding happy hour which is a little more unstructured we kind of Forge our way through we've got a lot of content ideas in the pipeline we have a lot of housekeeping to do on some of our apps a lot of apps being built for the future so a lot of fun happening there and we've got a lot of people raising their hand going hey I'd like to be on live coding happy hour too if you've got an idea certainly reach out to us and it's always fun to uh and it sounds kind of selfish but it's fun to watch somebody else work for once so thank you very much Lauren for doing the heavy lifting um you people watching don't know what happened behind the scenes in the last 24 hours to really pull this together so we really appreciate what Lauren has done thank you Earl we wish you all the best on your fraternity leave coming up and thank you again for everybody watching take care we'll see you all everybody stay safe [Music] see you next year
https://www.youtube.com/watch?v=RyqJOksNFw8