Hello everyone, I am Sanjay Gupta, I welcome you on Sanjay Gupta Tech School.
So we are back with one more session on Salesforce OmniStudio.
So I have Abhishek with me, welcome Abhishek on the channel.
So Abhishek will be delivering something new today.
So as you all know, we already covered Data Raptor and IP related sessions.
So in today's session, we are going to discuss about OmniScript.
So first Abhishek will be giving you the overview, like what OmniScript is, what is the advantage
of using OmniScript, and then he will do some demonstrations so that you can understand
how you can create your first OmniScript.
Okay, so before starting the session, I just want Abhishek to introduce himself, over to
you Abhishek.
Yeah, thank you Sanjay.
So hi everyone, myself Abhishek and I am working as a Salesforce and Velocity developer
in Salesforce domain since five plus years now.
And I am a Trailhead double star ranger and I have done some certifications on Salesforce
like OmniStudio, Cpkish, Passlist, PD1, Admin and Service Cloud.
And I have done several projects around Salesforce as well as OmniStudio slash Velocity.
And mainly I have worked upon like industries like health and style of communication, industry
CPQ and yeah, that's all.
So that's about me Sanjay.
Thank you Abhishek.
So this was about Abhishek and moving on to the next slide.
So if you want to become part of a community where lots of freshers and experienced professionals
are connected.
So they are helping each other and they are like sharing if there is any job opportunities
available.
So it would be great if you, if you're a beginner or intermediate, if you join this group, you
will get to know lots of information.
And the best part is in this group, there is no paid promotion kind of thing happening.
So it is a clean group, which is dedicated for learning and jobs.
Moving on to the next slide.
So if you want to receive timely notification regarding current bootcamps or upcoming bootcamps,
so you can follow Sanjay Gupta Tech School on YouTube, LinkedIn, Instagram and Telegram.
Okay.
And the session tracker link is available in the description of video and wherever you
see live session.
So in the description, you will find a session tracker and I have created one session tracker
for all the bootcamps so that you will be having everything on one place.
So next is like if you find some time and if you want to share some reviews or feedback
about the bootcamp, so please feel free to share because it motivates us like whatever
we are doing for the community, it is helping you guys.
Okay.
So with this note, I pass it over to Abhishek so that he can start with the new topic that
is OmniScript.
Yep.
So till now, I mean, like we have done, I mean, like I think 11 sessions on OmniStudio.
So I mean, the topics or the components that we have covered on OmniStudio was like first
was the DataRaptor that we covered, then we covered all the types of DataRaptor.
Why do we use DataRaptor?
How do we use, how we use DataRaptors?
And after that, we completed the integration procedure.
So it is kind of a, if you want to write some sort of business logic around it, around whatever
data you are receiving or the data you want to push it to the database.
So that sort of all things we can do it into the integration procedure.
So if we talk about Salesforce terms, we have completed all the backend parts, right?
Yeah.
So when, yeah.
Also like if you, if you can showcase that slides so that folks can see like what is
today's topic.
So.
Yeah.
Sure.
Yeah.
So, yeah.
Okay.
So, so basically till now what we have, we have covered all the backend parts.
So whenever you are creating a flow or LWC or VF page or, or a component, right?
Into the Salesforce, the first, the very first thing you do before writing any sort of Apex
code or the SQL queries, first you, you will be designing the UI component, right?
So like if you are working with LWC, you will write, you will be writing some HTML code.
If you are working on the flows, screen flows, then you will be first designing some sort
of screen where you will be taking some inputs from the user and these sort of things.
So now what we're going to do is in OmniStudio, as, as I have already told you, we have covered
all the backend components, which includes your data rector and integration procedure.
Now there are two tools that OmniStudio gives us, which, which we use for creating the UI
components.
So the two components named are FlexCard and OmniScript.
So in today's session, we're going to cover, we're going to, we're going to have some little
introduction.
What is OmniScript?
Why do we use OmniScript?
What are the benefits of using OmniScript and what can be the scenarios, right?
Where we can use OmniScript.
So OmniScript is like, we can configure interactive business processes that are easy to use.
So if I, if I give you a, you know, definition of OmniScript in simple words, when you are
creating a screen flow right into the Salesforce, that is a kind of similar thing that you are
doing over here, but with, with some more advanced, advanced functionalities that you
can build around OmniScript, but not into the screen flows.
So that we will be go through, but I mean, like whenever you want to create some business
process process or step-by-step process for, for user, then we will be creating OmniScript
and have complex functionality in the background processes.
So as in the screen flow also, we can call some Apex classes, we can push some data,
we can fetch some data from database, that sort of also, all these things also, we can
do it, do it into the OmniScript and it all, it supports branching capabilities.
What do I mean by branching capabilities is like, you can create child OmniScripts
and then you can call it from the parent.
Okay.
So that, that child OmniScript can be reusable to any n number of OmniScript.
So that is also one of the advantages of the using OmniScript, shows different pages or
groups of fields based on user's choice.
So basically, let's say you have two-step process created, or you have two-step OmniScript
created into your OmniStudio.
Now there, there can be some sort of logic where if you select one element into the first
screen, then only into the second screen, it would be visible, otherwise it will not.
So that sort of functionality we can build into the OmniScript, where screens elements
can be visible according to the conditions.
The other part is for users, it can be considered as dynamic or personalized experience.
So I mean, you can create one OmniScript to let's say, show the account data to the user,
which will only show the data of the accounts that user have access to.
If he doesn't have access to any other account, that account will not be visible.
So moving on to the next slide.
So if we see some sort of scenarios where we can have the OmniScript designed for us,
it can be first view and update contact information of customer.
So basically, let's say you are having a call center application, you want to configure
some sort of call center application.
And as a UI, what I want is my call center agent will type in the customer phone number
or email ID, and then I'll be able to see all the contact information.
And if I want to update the contact information, that also I can do it.
So that now, if you see in the first screen, what we are doing is we are getting the contact
account number, sorry, phone number or the email ID.
And in the second step, we are showing all the data related to that contact.
And in the third step, if user or customer wants to update his or her information, then
we are doing it into the third step.
So these sort of business process or step by process can be configured with the OmniStudio.
And now if I go, like another can be insurance selling process.
So as I was saying, OmniStudio is widely used into the insurance domain.
So let's say, if I want to create a business process where I want to sell the insurance
to my customers.
So I can get all the information into the OmniScript, like getting the account information,
what is the, let's say if I'm selling any sort of health insurance.
So how many children that person has, what is the age, what will be the, you know, diseases
that they will be having, what sort of plan they want to have.
So all these sort of things we can combine into the step by step process into the OmniScript.
And let's say I want to renew or update my insurance, that also I can do it, capture
service specification from a newly added customer that we have kind of covered into
the first scenario.
And the last scenario is like a customer completes forms of or different services like government
benefits insurance policy.
So that is also kind of similar to insurance selling process, right?
So moving on to the next slide.
So what sort of capabilities OmniStudio have is like, it is a declarative scripting tool.
So you don't need to write any sort of code for creating any OmniScript.
So if you are building a LWC, you must have knowledge of HTML, JavaScript, CSS, Apex and
all these things, right?
Like if you are using OmniStudio, then you do, and if you are building some sort of OmniScript,
then you don't need to know what is HTML, what is JavaScript, how JavaScript works.
I mean, this is all UI drag and drop components.
So it's, as third point says, low to no code development.
And also, if you want to debug your OmniScript, like the similar way we do the screen flows,
that also we can do it into the OmniScript.
We can preview the OmniScript and debug it using the built-in troubleshooting tools into
the OmniScript that we will be covering up into the practical sessions.
And it can be used on any device, mobile or customer, or modular architecture, that means
it supports JSON stylesheet and data separated from each other.
So basically, all the screens that we have into our OmniScript, all the data will be
separated with the separate step name.
So let's say you, if you are having first step and second step, and in the step one,
you have one radio button, and in step two, you have some sort of text box.
So these two elements will be separated by the step elements into the OmniScript.
So this is a modular architecture.
It's not kind of a combined where user will get confused.
And if I go to the next slide, so I mean, we have some other scenarios as well.
Those, I mean, we will be doing the practicals around these scenarios into the upcoming sessions,
like creating an OmniScript to get account and contact information and insert the records.
So basically, we will be having, we will be taking inputs from user for account and
contact, and into the database, we will be inserting it in the OmniScript.
Another can be create an OmniScript for updating an account fields.
So I mean, what we will be doing is, we will be fetching some, I mean, like, we will be
fetching the account information.
And then user will update pre-populated values into those account records.
And whatever user is updating now, we will be saving it to the database then.
So yeah, I mean, like these sort of scenarios, we will be covering into the upcoming sessions.
So now, I think Sanjay, we can move on to the practical part, how OmniScript looks like,
what is OmniScript and all these things.
Yeah, exactly.
Because theoretically, like folks are able to create some picture in their mind.
But if you deep dive, like how actually it looks like, and how we can relate DataRaptor
and IP.
So that would be helpful.
So maybe we can start with a very simple example today.
Then in upcoming sessions, we can take difficult ones.
Yeah, definitely.
So basically, I mean, so first of all, what I have done is, I mean, I have opened my OmniStudio
app.
And from that OmniStudio, I have clicked on this OmniScript tab.
And if, okay, just a second, yeah.
So if now from new button, we can create a new OmniScript.
And I mean, like, if you have, if you are following the previous sessions, when we have
created an integration procedure, if you remember, we used to give the type and subtype, right,
for creating an integration procedure.
And another thing, we were giving the name as well.
So you can consider it, I will explain you again.
So you can consider it, the name field as your, if you're creating any sort of field
on object.
So there are two things that you provide.
First is your label and second one is your API name, correct?
So you can refer the same thing over here.
So let's say, I'll say my first OmniScript, okay, first OmniScript.
This will be my label.
And now type and subtype combination of the OmniScript becomes your API name, okay?
So like, just a second.
So like, I will open the integration procedure so that you will be able to recall it.
Integration procedure, and let's open this one.
So as you can see, this is your label, this type and subtype, which, the combination of
the type and subtype will become your API name.
But when you are working with the OmniScript, then type, subtype, and language, these three
components will make a unique combination of OmniScript.
So let's say if I'm giving the type as, let's say, first, I will say OmniScript, and the
language is English.
So now let's say, if I want to create another OmniScript with the type first, subtype OS,
and language as English, then I will not be able to create one because it will say, an
OmniScript is already present with this combination.
Like if I click save, and if I'll be creating another OmniScript, I'll go here, click new,
I can give the same name, there is no problem in that, first OmniScript, correct?
I'll say, first, OS, and now if I click it, so it will get saved, but what will happen?
Just look at there, first, it will save, but it will automatically create the second version.
So if you remember, in the IP also, we used to create the versions of the integration
procedure.
So here also, we can create different versions of OmniScript.
So if you will be giving the same name and same type and subtype, then it will create
another version, not the new OmniScript, okay?
So now we will move on to the OmniScript designer, and we will see how it looks like.
So here you can see, this is your label in the top, then your type, then subtype, your
language, your version, this OmniScript is active or not, and the description as well,
okay?
And into the left-hand side, so by default, OmniScript will give you one screen created
automatically.
So basically, this step is called a screen.
So if you have worked upon the screen flows, we used to create screens into the screen
flows.
If we want to create another screen, we will be dragging and dropping another screen to
the screen flow.
So this step is similar to the screen.
So by default, OmniScript will always create one screen for us, which is called a step
into the OmniScript.
So right now, we have only one screen.
So in the left-hand side panel, you will be able to see the structure of your OmniScript.
So for example, right now, I have one step.
If I add another step, in the left-hand side, I can see the second step has been added.
So this is a kind of, you can say, a pictorial representation of your OmniScript, what you
are using into your OmniScript, right?
So for now, I will be deleting the step 2.
And into the middle section, what you can do is, so like this is your step.
You can see what elements we have in this step.
So right now, we don't have anything.
It's just the step name and all.
It's just the step name only.
We can expand and close it, right?
Now in the right-hand side, what we can do is, first of all, into the build tab, you
will be having all the inputs that you can have into your OmniScript.
So like in actions, you will be having all the data.
If you want to call drExtract, drPost, drTransformTurbo, deleteAction, I mean, these are all sort of
things we have seen into the IP, right?
So those all elements are individually, also are available into your OmniScript.
So basically, if you want to call only one dataRaptorExtract, then you don't have to
create an IP and call your dataRaptor from there.
You can call your dataRaptor from OmniScript directly as well.
But for example, if you want to call five dataRaptors into your OmniScript, then it's
not a good practice to have five dataRaptors into your OmniScript rather than create an
IP, call those five dataRaptors into your IP, and then from your OmniScript, you can
use this indication procedure and call that IP.
So I mean, these are the actions available into the OmniScript.
And in the display, we have this line break text block.
In the functions, we have aggregate functions, formulas, messaging.
And if I go to the groups, then we have block, edit block, radio group, step that we have
over here, type ahead block.
If you want to read about anything, you can just click on this question mark and a brief
description will be here.
Yeah, I think it is self-learn guide, right?
Correct, yes.
And guys, we won't be able to give you a demo on all the elements.
So you can just go one by one and you can try how that particular element will be working.
So we'll try to pick as many as we can, but still, there are some helps available so you
can just go through.
Yeah.
And in the inputs, you will be having all your input elements that you have into that
statement, checkbox, currency, date, date, time, email, file, all these things.
And into the OmniScript, you can call another OmniScript from an OmniScript.
So all the OmniScripts, which is a child OmniScript, will be visible over here.
So that is there, if I go to the properties tab, so like I have dragon, I mean, this step
one was default available for me.
So into my step element, like I can define the, what I can say is, I can define the heading
for this step.
So let's say, what I'm going to do is welcome, I will say welcome screen, okay?
Or I can say homepage.
So it is getting reflected over here.
And if I go to the setup, from the setup, we have so many options available, like step
chart option.
So before going to the setup, I'm going to explain you about these buttons, then we will
again come back to the setup tab.
So basically, if you want to create a new version, you can click on this new version.
And as similar to IP, if you want to activate it, you have to click on this button activate
version.
On the edit, you can edit the name, type, subtype or anything.
And this export and how to launch is the part of all the deployments of OmniStudio
components.
And yeah, so what we're going to do is, we're going to click on this preview, okay?
And we will see what will happen.
Yeah.
So there are two things, there are so many things available into this preview section
as well.
First is the context ID.
So if you have worked upon LWCs, and if you have exposed your LWC onto some record detail
page, right?
So there is a variable called record ID is automatically available into that LWC, right?
So similar to that, if you want to pass some sort of record ID to this OmniScript, you
can pass it into the context ID.
And we will see the practical implementation as well.
Preview device, it can be desktop, it can be tablet.
So if I switch it to tablet, it will be visible into the tablet mode.
If I switch into the mobile, it will be visible into the mobile mode.
Theme will be lightning new port.
So nowadays, we only use the lightning view, but previously when lightning was not there,
so this new port design used to, we used to show it into the new port design.
The reason is, when the velocity got launched, it got launched with the new port view only.
But gradually, time by time, they introduced the lightning view.
So nowadays, we use the lightning view mode, but not the new port.
And this data JSON, we will come on that because it will be related to some other thing, and
this action debugger as well.
And now if you see the preview design, we can see, first of all, we are having this
step chart, correct?
So right now, I have only one step chart, one step only.
That is why only one thing is coming, and this home is coming from the header that we
have given.
Now, if I go to the design again, and so we will go to the setup now.
So into the setup, now we know what is the step chart.
So right now, step chart placement is on right.
We can do it into the left, and we can also do it to the top as well.
So it will be like only the where will be the step chart will get placed, right?
And cancel options, let's say if you have launched your OmniScript, and if you want
to cancel it, so that also you can do it.
Save options.
There is also one more thing that OmniStudio provides.
Let's say you have three steps into your OmniScript, and on the second step, you are seeing whatever
I have populated or filled into my steps in step two, just save it.
And after that, I will come back and fill the step three part.
So that sort of functionality we can do over here, allow save for later.
Knowledge options.
If you want to enable knowledge, that is a Salesforce standard thing.
Knowledge articles, that also you can do.
If you want to give some error messages, I mean, these, again, all these things are very
advanced version of OmniStudio, when we will be working on.
So I mean, like, right now, I think we should only cover the basics so that all the folks
will be aware.
I mean, what the basic use of OmniScript.
Right.
I think you already covered all the aspects.
So build property setup, and you also shown like how it will look like.
So I just want to give you a small demo today.
So what we're going to do is, we're going to just have one text block into our step.
Okay.
And in this text block, I'm going to write, let's say, welcome to SGTS, save.
And if I go to preview, as you can see, we will be able to see this welcome message.
And now the part why Velocity or OmniStudio got popular, I will tell you the reason behind
it.
So as soon as you are clicking on this activate version, right?
So what this OmniStudio is doing is, in the backend, OmniStudio is creating an LWC.
So basically, when you are working with Salesforce, and if you want to write, if you want to create
some UI component with the help of LWC, then you have to know the HTML, JavaScript, CSS,
all these things.
But when you are working with OmniStudio, and if you are creating an OmniScript, and
as soon as you will activate your OmniScript, right, and LWC will get created at the backend.
So like this, this OmniScript is now activated.
And if I go to my setup, and I if I see lightning components, lightning components, and the
name was, the name was first OS, right?
So go to F and see this one, OmniStudio has created a lightning component for us.
And we have not written a single line of code for creating an LWC, right?
So that is the, that is the power that this OmniStudio tool has.
And not only this, I mean, like, if you want to add this LWC, right?
So like, I have my account page, account record page open.
And if I go to flexi page of this edit page, and if I want to add that LWC to my account
record page, so basically, OmniStudio has created one LWC.
And if you want to add that, and as soon as you have created your LWC, it can be added
to your account page, community page, home page, anywhere else, wherever you want, right?
So I can just simply drag and drop my LWC over here.
And I'll click Save.
I don't know if this account record page has been activated or not.
Assign a system default, next, save, save again.
And if I go back, I will be able to see my OmniScript onto my account record page.
See over here, this is your home, this is your welcome message, and this is your step
chart.
So isn't it amazing, I mean, when you haven't written a single line of code, and you are
able to create some sort of LWC, and later on, we will be taking some inputs, pushing
some data into the database, fetching some data, and we will be doing a lot of things
with the help of OmniScripts.
Yeah, I think this is amazing.
And those who have already used ScreenFlow, they are able to, I think, relate.
It is kind of same, but it is having a lot more features compared to ScreenFlow.
Nice.
Yeah.
So I think for today's session, we can end here with the...
Just one thing, can we add one more, like this thing, home, what this component is called?
FirstOS.
No, this home, like, if you click, yes, this one more screen, like this one more step,
if you can create that, we can see two screens, like, through one screen, we can just jump
to another one.
Sure thing, yeah, why not?
So this is your step two, let's say, enter account info, right?
And in this step two, what we can do is, for just demo purpose, we can have one input element
here, just a second.
I think you have applied searching step, so you need to remove that.
In build, you, at top, you applied some search.
Oh, correct, yeah.
So input, and if I go to some text, we're going to name it as, like, let's say, account
name.
So right now, we are just creating the UI, and if I activate it, so, I mean, whenever
you are deactivating and activating it again, then it's kind of updating the HTML and JavaScript
code of LWC into the backend.
That's why it will take some time when you are activating the open script.
Now if I go to account record, because we have already added our LWC to the account
record, right?
See over here, right now, there is one more button is called as next, because we have
now two steps, and now if I click on next, we'll be having some, and we can write some
sort of name.
Yeah.
Correct.
And I see the right thing, right inside, yeah.
This is, like, awesome thing, which is not available in ScreenFlow.
Yep.
This sort of thing, steps, are not available.
So basically, what you can do is, you can either click on this previous button, or if
you want to go to the previous step, then you can click on the step name as well.
Yeah.
And I think we can shift it to the top of this component as well, right?
Yeah.
So, I think three options are there, left, right, and top.
Correct.
From the setup, from this step chart, we, like, I mean, right now, this open script
is enabled.
Right.
That is why this is disabled.
But once you deactivate it, you can add it to the right, left, or top.
Okay.
So, this is great.
And we have two more sessions, guys, tomorrow and day after tomorrow.
So we'll be implementing more Omniscripts, and, like, today, it was overview of Omniscript,
you can say.
And tomorrow, you will see, like, how we can connect IP and Data Adapter.
Maybe tomorrow and day after, in these two sessions, those things will be covered.
Yeah.
And I already updated session tracker.
So keep an eye on that.
So this week, we'll be completing Omniscript sessions, then FlexCard and one end-to-end
project that we'll be doing next week or maybe next to next.
So I will try to have all the sessions this week and next week so that everything will
be completed from our side.
So along with that, a major bootcamp that I started in January.
So that is also going to end this week, and this Omnistudio bootcamp will be ending by
next week.
So these are two major bootcamps, which I successfully, I'm able to complete by this
month.
Other than this, like, Appian bootcamp will also be completing maybe this week or next
week.
So whatever I promised to you, like, somehow, whatever I have started, I am able to complete.
CNC++ bootcamp is in progress.
So due to lack of time, I am not able to conduct some sessions.
So soon, I will resume that bootcamp as well.
And from next month, I think we'll be having a few more things lined up.
So a few more bootcamps I will be starting.
So we'll share that information with you soon.
And other than that, like, limited seats, batches, I already started.
So those information I'm sharing in the Telegram channel.
So if you're part of the Telegram channel, so you will find all those information there.
Okay, so like, I just want to thank Abhishek as well, like how patiently he is explaining
everything in detail.
So I think whenever you get a chance to have any interview on Omnistudio, so I think all
these sessions will help you to prepare for interview.
And once you clear the interview, and you are working on any project, then also, like
with the help of those scenarios, which Abhishek demonstrated, and those are available in the
session.
So if you practice those, so you will be able to do wonders while working on the projects.
So all credit goes to Abhishek, whatever knowledge he gained, he shared with you.
And like directly or indirectly in present future, it may impact your lives as well.
So, I appreciate your hard work, Abhishek.
Thank you.
Thank you so much to you, Sanjay.
Okay, guys.
So with this note, we take your leave and we'll see you tomorrow, same time.
Thank you, everyone.