 Okay, go in live. Hello, hi everyone. I'm Sanjay Gupta. I welcome you on Sanjay Gupta Tech School. So I have Abhishek with me. Welcome Abhishek on the channel. So today Abhishek will be giving some demonstrations around Omniscript. So we already covered two parts of the Omnis Studio. One is data raptor and another is integration procedures. So I hope you are enjoying all the sessions and you are able to practice whatever scenarios Abhishek is implementing and demonstrating to you. And I'm like seeing the impact of these sessions like people are getting certified and they are taking us so that we can, we can aware about those. So I'm happy like whatever efforts we are doing due to those efforts, people are getting certification in Omnis Studio. Like we told you, you will be able to do two certifications. So one is Omnis Studio Developer and one is Omnis Studio Consultant. So people are like able to do Omnis Studio Developer certification. If you want to do consultant certification, so through these sessions, you will be able to do that as well. So in continuation to that next topic is like Omniscript. So now you will be able to learn through the scenarios, how you can utilize your DR, data rector and IP integration procedures with the help of Omniscript, right? So in the season two, for the first time you will see the UI. So you will be providing some inputs from the UI and basis on that in the backend IP or data rector will be working. Okay, so with this note, I pass it on to Abhishek. So Abhishek, I think we can start. Yeah. Thanks, Anjay. So hi everyone, myself Abhishek and I'm working as a Salesforce and Velocity Developer since five plus years now. And I have done some certifications around velocity as well as the Salesforce. So I have done some certifications like Omnis Studio Developer Interest PQ Developer and also one Health Insurance Quoting Developer from Velocity. And I have some few certifications from Salesforce for as well. So yeah, that's it about me. Okay, and if you want to become part of a group where lots of freshers and experienced folks are connected so you can scan this QR code and you can join the telegram group. Next, if you want to share some reviews or feedback so that we can have some motivation and we can plan some more sessions for you. So we are thinking about industry CPQ or CPQ. So maybe soon you will hear from us about that as well. Okay, so I think now we can start with the scenario implementation. So these are the three scenarios that one by one Abhishek will be implementing. So with this scenario, you will be like leveraging your DR and IP along with Omniscript. Okay, so yeah, we can start now. Yeah, so as Sanjay mentioned like till now what we have done is like we started from data rector then we came to integration procedures. So if you all remember the preview tab from the preview tab we were always used to provide the input from the temporary JSON that we used to create, right? So while explaining the preview tab I was always telling that this is some dummy data that we are passing it on to Omnis data rector and IPs. So from today we're gonna feed the data to IP and data rectors in their actual values. So basically if you compare it with the Salesforce, Salesforce we have LWC. So from LWC we, from the UI we get some inputs from user and then we pass it on to Apex classes to create some records, update some records or do some sort of business logic. So today onwards we're gonna use actual UI of Omnis Studio from where we will be getting the values from user and after that we're gonna feed it to IPs and data rectors so that the preview tab, the values that we used to provide into the preview tab from today onwards we're gonna pass it on to the actual values. So the first scenario that we're gonna discuss today is we're gonna create Omnis script to get account information with the help of user and we will insert that account into the database with the help of a data rector. So let's jump on to the arc. So first of all I'll explain what is Omnis script and how Omnis script looks like. So if you all remember when we used to create an IP we used to define type and subtype to uniquely identify an IP. There will be another attribute added to the Omnis script so type, subtype and language. This is this combining these three fields will be a uniquely identifier for an Omnis script and the name will be your, I mean like the label whatever you want to get. So let's say I'm gonna say Omnis script to insert an account and type, let's say I'm gonna keep it as account and here I'm gonna say insert account and the fundamental will be the same for type and subtype. Whenever you want to do some sort of multiple Omnis script if you want to create around account then you can keep the type as always account and subtype will be different so that you can categorize your Omnis scripts. I'm gonna click on save. It will take some time, yeah. So this is the UI structure of Omnis script builder. So basically it consists of three parts again. This one is the structure panel where you will be seeing all the elements that you will be using in your Omnis script and this is the panel where you will be, I mean like you will be seeing all the elements that you are using and you can also modify them and into the third parameter, we have two sub tabs, one is built. So in the build you will be finding all the elements that you can use. So if you compare it with the IP in the left hand side we used to have available components, right? So that comes onto the right side in Omnis script where you can use like data rector extract action, data rector post action and all. If you compare it like, if you compare it with the LWC, we can use multiple inputs. So like if I expand the input panel, here we have checkbox currency, even you can use a lightning web component date, date, time and so on. So here you will be finding whatever components that you want to use or the elements and into the setup, you will be able to see so many options over here. And I mean like is this Omniscript is reusable? Is this Omniscript enabled tracking? So I mean like if you want to know more about all of these options, you can always click on this information icon and you can check it out. And yeah, so this is a structure, a clarification for the Omniscript. So there is one thing, whenever you create an Omniscript, there will be always a step added by default, okay? So if I talk about what is actually Omniscript means, Omniscript means a user guided flow, okay? Where you will be having multiple steps and in those multiple steps, you will get some data from user and you will pass it on to your IP or data adapter so that you can insert, update or perform some sort of business logic. So according to this first scenario, what we're gonna do is we're gonna get some information for account and then we want to insert it with the help of our data adapter. So from the build tab, so first of all we're gonna give it a name to this step. So let's say I'm gonna give it a name, let's say account information, okay? And this is the developer name, so we have to keep it like this. Label, we will be having, we can have a space, okay? And we have some sort of properties in here like button properties, what are the button available when we will be previewing? So like if you want to preview this Omniscript, you can click on this preview button and here you will be able to see the step that you have added. So like you can see the account information. Right now we haven't added any sort of input element so there is none. And on the right hand side, you will be able to see the steps. So whenever you visit any website and if you are entering some sort of information into a guided flow, there will be always a step chart will be there. So this will all, I mean like if I'll be having multiple steps, then there will be two steps shown over here, right? So I'll go back to the design and I'm gonna take let's say one text input. I'll just drag and drop. And for example, this will be the name and I'll take one more which is select I think so that we can have the active active value, active field mapping. So this will be like we can have it like account name. So select is basically a pick list here, right? Yeah, correct, correct it does. So this is your account name. And you have multiple options like if you want to make it this field as required you can just select, check this step box. If you want to make it this field as weird only you can do that as well. If you want to provide some sort of default value that also you can do. If you want to mask your input field, what will be the minimum length, maximum length, autocomplete and repeat settings, all these things. So basically the best part of Omniscript is that this is kind of a self-paced learning that you can do with the help of Omniscript build structure because with every option you will be seeing an information icon and by reading that you can get an glimpse of it. I mean like what exactly this option will do, right? So I mean like this is there and there is one more thing over here is like you can have some sort of condition as well. So if you remember in the IP, we used to have one section called execution formula. So whenever that formula used to get a value as true then only this, that element will, so we can have the same thing over here as well. So we can have, I mean like we can say, we can define some sort of condition if that condition is getting mapped or matched then only this element will be visible on UI, right? So we can say it has a visibility filter. It is available in screen, yeah, screen flow also we use this functionality a lot. Correct, correct. So it's totally similar to that. Okay. And so this is the text configuration that we did. Now for the spec list one, we're gonna say like say account active, all the say similar, required and read and read. Now, what is this option source? So option source is like you can do multiple things, you can have your custom as well. So in this, if you are choosing the custom then you have to call in epics class, then you will be providing your options from an epics class. If you choose manual, then you can add manual options for your pick list. If you use as object, okay? Then in this one, what you can do is you can type in the, oh, I think here it will be account type thing, so yeah. So here what you have to do is you have to first type in the S object name and then you have to dot, then you have to type in the, your field name. So as soon as you will type this format, it will automatically fetch all the pick list value that you have onto your S object and those values will be available to select. So now if I go to preview, I can type in the name in here and in the active, I have, automatically, I have two values, no, yes. This is the advantage of Omniscript that when you are using a pick list mapping that you will be getting from user and if you want to map it with any sort of S object field that you can do with the help of this functionality. You just give the S object name dot the field API name, that's it. So I mean like till now what we have done is we have created a screen where we will be getting an input from user that enter your account name, enter your active field value for account record. Now if you want to insert this account, what you have to do is you have to drag and drop one data rector post action from here. So, yeah, so now there will be two things. If you drag and drop your data rector action into the step, okay? This will be visible as a button. The reason is because whenever you click on next, I mean like if you drag and drop your data rector outside your step then if you click on step, next button, this data rector will get executed automatically in the backend. But if you drag and drop this data rector into the step, this data rector will not be, will not get executed until and unless you will click this button. Okay? So for now I'm going to keep it outside and we're going to name it like DRP insert account. And here we're going to select one data rector which will insert my account. So let's say I'm going to select this one and if I open this. Okay, so here like with Omniscript, we are directly attaching the data rector. Correct, yes. We are not using the IP for now. Okay. So now if you remember from preview, we used to give all the account information, correct? These were the temporary values for now. Whenever we executed from data rector, but now we will pass the values from Omniscript to the data rector. So this time these values are not temporary. We are getting it from user and we are just passing it to the data rector. So here what we can do is... One question in the data rector, in that input, whatever JSON we provided. So that will be overridden with the value which we are providing in the Omniscript, right? Correct, correct. I mean like these values just, these values are just here for the preview purpose. Okay. These are not the actual values when we will be executing from the Omniscript. Okay. Perfect. So now if I go to preview and for example, let's say I'm going to type in let's say test or SGT as Omni one Omniscript one and active is yes, okay? So when you are into the preview mode on the right hand side, you can see two sub depths. First is the data JSON, second is the action debugger. So I have a name and the active field as user inputs. So into the data JSON, these values, correct? These values are automatically created by Omniscript but these two things are created by us, okay? So this is the account information, which is our step name, account name, which is our name input element, account active, which is our active input element. So if I select the no value over here, it will get automatically updated with no. So what does that mean is let's say if you have multiple steps into your Omniscript, okay? So whatever values you are selecting into the preview, those all values is going to get saved into your data JSON. So whenever someone asks you what is data JSON into an Omniscript, you can just simply say it is a data model, which will hold my, all the values I have populated into my Omniscript journey, those values will be hold into the data JSON or Omniscript data model. You can say anything from that, okay? Right? And what is action debugger? So whenever you are calling some sort of data after IP from your Omniscript, so as soon as I click on next, so I mean like the UI is not that good for Omniscript. So my data rector has been called, okay? And in the request data, if I copy this and go to JSON blog once, in the request data, my whole Omniscript data JSON is getting passed to my data rector. So basically what is happening into the background in the preview, this is getting passed to my data rector. I hope I'm well to make sense. So whatever you have given inputs into your Omniscript, and as soon as you click on next, whatever you have into your data JSON, correct? Into your Omniscript that all data will get passed into the request data, and this request data will pass all the inputs to your fields, kind of, it will pass the mappings to your fields, sub-tap. So do we need to change these mappings also? Correct, yes, that is I'm gonna do now. So now what will happen? So I'm gonna copy this, and here I'm gonna say account information colon accounting. But here, node head, node name, the top most node name, if you go to the JSON, so object list, do we need to use that node name as well? Object list, the second line. So that's, yeah, so I'll tell you. So this object list is only for the action debugger. So what actual data is getting passed to your data rector is this, right? So you can ignore that object list. Understood. So account information colon account name, then account information colon account active. I'm gonna create one more mapping. So either we change the data rector, otherwise whatever name we used in data rector, we need to use that in Omniscript so that both will be on sync. Right, and now if I go back, I'll refresh this and I'll pass the values again, because previously the mappings were not created, that is why account didn't got created, now it will get created. Let's see two, four, one, and that's it, active is gone, I guess. I'm gonna click next, and this is the third tab of your data rector debugger, and if I copy this and go here and paste it over here, here you can see this is providing me the account ID. If you can see here, okay, I'll do it over here. So return created objects by order and if I expand it in this one, I'm getting one account ID, correct? So when we were used to execute it from the preview and click, we used to click execute the account, the record which was getting created, we used to get it as an output. So that output is coming into the data rector, action debugger in the form of this, created objects by order, DR load, insert, and this. And if I go back to my data JSON, so I'm getting that record ID into my data JSON as well. So if I want to use this ID in future into my Omni script, I can use it. So is there any confusion that can be there according to you? No, I think everything is clear. The only thing whoever is watching this, they just need to follow the steps which you explained so that they can get their hands dirty and understand how actually things are working. Correct, yes. So this was our first scenario. I mean, initially Omni script, to understand the Omni script will be difficult because it's not that straightforward if we compare it to data rector and IP. But whenever you do the more practice you will do, the more familiar you will get with this Omni script. Let's execute the second scenario where we want to, okay, where we want to do, in the first step we'll fetch the account details and the second step we'll get the contact details. And then we'll insert both the records into a single data rector. And can we do the linking as well? Like contact should be related, okay. That will be done through data rector. Correct, with the link, I mean like with the link option that we have into the data rector. So I'm going to use the same Omni script. Let's do one thing. Okay, we'll get one more step after the account stepped and we're going to call it as contact information, information. In this one, okay. We're going to again have one input element which will be text and one more input element which will be your first name and last name. Yeah, I think. Okay, we'll keep only these two. So this will be your first name. This will be your last name. Let's use the same data rector. So now what will happen? So this time what we're going to do is we're going to create the mappings first into the data rector. Then we're going to execute it from the preview tab. So I'm going to go here and I'm going to add one more object into this. So this should be familiar to all the viewers who are watching because this has been explained by us previously. So in the second step, we are adding the contact. We are adding a link between them which will be the account ID which will be coming from the first step and what field that we want to map is ID. Correct? If I go to fields, the contact tab will be automatically created and the account mapping will also get created automatically by the linking process. And the data which will be coming from our Omniscript into the contact information. So I'm going to create a mapping contact information first name, the element name that we kept. So if I go back and if I see the element name is first name and for the last name, we have the last name. This will be like this. This is last name, last name. Okay. And okay, let's go to the preview and execute it from the UI. So see now I can see two step into my step chart because I have added two things here. So let's say SGTS Omniscript. Second example, active will be yes. If I click on next, the data rector will not get called because there is one more step that we need to populate. Let's say I'm going to populate Omniscript. And if I click on next, this time data rector will get called. And if you can see into your data JSON, you have two objects in it, account information, contact information. And if I click next, as you can see into my data JSON, one account has been created and one contact has been created. And we'll see it from the UI as well. So this is your SGTS OS2, the account. And into the related tab, I have my contact as well. Okay. Correct? Yep. And one more thing I want to ask, like we entered account information, we entered contact information. Can we have one more step where we can place a simple text, your account and contact information has been recorded or like records has been created. Can we show? Yeah. We can definitely do that. So what we're gonna do here is let's, okay. Let's have one more step after the account, after the DR call. Right. And we're gonna name it as confirmation. And in this, we're gonna select one input, I mean like one element from the display and we're gonna use the text block. Okay. Yeah. And into this text block, we can just simply say your account and contact information has been saved. And if I go to preview once, I just wanna get this information, DRID account, because the account ID that we are getting, which is into this one, right? DRID underscore account. Correct? And you must be wondering how this name is getting created. So the name is DRID, correct? The name is getting created like DRID underscore account is like, it will always, I mean like, if you have two things, DR account tab and contact tab into a data actor. So this will always come something like this, DRID underscore account, DRID underscore contact. Okay. Okay. Always. Always, yeah. And in the navigate action, what we can do here. So navigate action is used to navigate the user from Omniscript to the record, actual record, or you can navigate to some sort of page as well. If you are using communities, you can navigate to the community pages as well. So I'm gonna call it as navigate account copy. And page reference type, we have so many things, record, current page, knowledge, article, login, so many things that we have, web page velocity and all things things. So for now, I'm gonna keep it as a record, object, EPI name is account. And the record ID that we are getting is will be coming into this DRID underscore account. Correct. It will be in percent inside the percent. Yeah, yeah. Yeah. Okay. So the thing is, if I preview it, and from the preview, navigation action doesn't work actually, because this is your testing environment for Omniscript. Okay. So basically, I mean, like whenever we try to, whenever we implement any sort of LWC, we always add it to onto an homepage or record base, something like that. So similarly, we're gonna do that thing only. So there is one feature of Omniscript and Flexcard, which is the UI tools of Omnis, Omnis Studio, when you have to activate the version for this one. So as soon as you activate your version, Omnis Studio will automatically, will create a LWC component into the Salesforce environment. Okay. And you all know, whenever you create a LWC component, you can add it to onto your homepage, onto your record page, onto your community page anywhere. Right, right. So now let's say I'm gonna go to the homepage. Oh, and how we can add this to your homepage. You have to edit your flexi page and do the configuration. Let this get loaded. Yeah. Okay, I have done so many. So many examples over here. So I'm gonna click on edit page. Your, yeah. So your LWC component name will be your Omniscript name. So you can search it by OS. Okay, it will come into the custom, which will take some time to load. Some Salesforce things that we don't understand. OS, just a second. My Omniscript name was OS insert account, right? Yeah, here we go. Account slash insert account. The type is account, type subtype is insert account and the language, the combination of them, the name, which will be the combination of those three fields. Okay. So I'm gonna drag and drop that LWC over here. Click on save. And if I go back, here we go. This is our LWC. So you can see, you haven't written any single line of code and you have created LWC, which is some sort of a good UI. Yeah. So those who are not good with the code, they have to be happy without doing any coding. We can create the UI, similar to LWC. Correct. I mean, you have created one user guided flow without writing a single piece of code. And also you are inserting the account, you are connecting your contact with your account, all the things with the configurations. Right. As it is OS 3, select the, yes, yes, click next. Fill the information and click next. You will be seeing the confirmation screen, your account and contact information has been saved. And if you click next, you will get redirected onto your account record page. And here we go. Yeah, awesome. So simple. If someone implement this through LWC, so I'm sure it will take around minimum to minimum one hour. I mean, like for a beginner, it's kind of one or two days off. Yeah. If someone into a learning piece. Yeah. And even for beginner, this Omniscript data rector, if someone is following all the sessions, they can create in half an hour. Like if you are taking for LWC to three hours, so it will be reduced to half an hour only. And then too, without writing any code, without like remembering everything. So we just need to drag and drop. We need to fill some configuration. And yeah, that's why like local development is now in demand. And in most of the industries cloud, I think this Omniscript tool is being used. So this is good if someone is targeting their job, upskillment, like if you are thinking to become like industry cloud developer. So from Salesforce developer to industry cloud developer, if you want to switch, you need to learn Omniscript. Sorry, Omnis Studio, whole tool. Yep. Okay. So I think first two examples are done, right? Anything left on that side? I think we have the third one as well for the typehead block, but you said this, and you want to continue. We can cover that in our next session. So let viewers implement this whoever is following. And we can cover the next example in our next session. So maybe we can have one more session on Omniscript. We are, so I just want one thing, like how we can connect Omniscript with IP and then data raptor. So that example we will do. And we will cover typehead and like update sort of functionality. So in one session, we will cover that. Then we can do a flex card also. So that all four will be explained, and then we will be doing the projects. One project, yes. So I mean, like there is one more thing that I want to suggest whomsoever is learning Omnis Studio. So I mean, like first, whenever you will see all these options, it will be very overwhelming for you because these are so many options and configurations for you. But if you follow the approach, that I always use to implement any sort of business problem that is given by the client. I always follow the same process. First of all, I create the UI. I call the backend process, which is IP or data raptor. And I never create the mappings. First, I will, what I'll do is I'm gonna go, I'm gonna get the, enter some values. I'm gonna get my input data addition from the Omniscript data addition. And according to that, I'm gonna create my mappings into my IP and data raptor, and just drag and drop your data raptor IP actions in it and do your stuff. So if, I mean, like when you are a beginner, don't try to rush and create the mappings before checking the preview. Always check the preview, then create the mappings so that will be easy and that will be, I mean, like in your mind, you can imagine however, how you want to proceed. So that's one suggestion from my head. Yeah, perfectly, makes sense. So there is one question from Surekha, how Omniscript and CPQ are related. Okay. So, I mean like these two are different entities, I can say. So I'll give you a simple example. So you have APEX, you have SOQLs, you have LWC, you have Aura components in your Salesforce core system, but those are the tools by which you implement some sort of functionality. So similar to that, you have your sales cloud, for example. So that sales clouds have been made with the help of the components that Salesforce has provided, like APEX, like SOQL, like LWCs. Similarly, the Omni Studio is a tool for implementing the industries cloud. So the term that you always hear, which is industry, CPQ, the public sector, the insurance industry is from velocity. These all are the solutions by the velocity, but the core tools that have been used to create those solutions is Omni Studio. Yeah, right. Next is someone is asking, someone, not someone, Pawan Pawan is asking, Hi, Pawan. His question is like, if we created an integration procedure. So can we call that through postman? And if we can, so can we change the status code? So I mean, like don't get confused with the word of integration. Integration procedure is nothing. It's not some sort of a integration tool. It's a tool in that you can call multiple backend processes. It's not some sort of integration by which you will integrate your two systems. It's kind of a process in which you can call so many things in a single transaction. Yeah, exactly. So Pawan, it is not exactly related to that integration which you are thinking to call it through postman. So it is internally available with Omni Studio. Yeah, so within Omni Studio, you will be able to use integration procedure to connect with data rector, Omni script, flex card and other things. Okay, so I think we can wrap the session here only. So guys, please implement whatever Abhishek explained and we will be having one more session on Omni script so that you can learn a few more things, right? So I think next two weeks, few more sessions you will see on Omni Studio, right? And maybe after that something new I will going to start. So in last year, I promised you like we'll be having sessions on different clouds. So I'm planning those. So soon I will be starting those sessions. And I gave a challenge to Abhishek to have a sessions on industry, CPQ or CPQ, whatever he can. So let's see when he will be ready. Okay, yeah. Thank you guys for joining the session and thank you Abhishek for sharing your knowledge. Okay, see you next week with another session. Bye everyone.