Thank you so much for
being here today with us.
I know it's early morning.
We had an eventful day
one, and here you are.
So thanks a lot
for being here.
To get started
with, I would
love to introduce myself.
I'm Akshata Sawant,
developer advocate,
and I'm focusing mainly
on the MuleSoft side,
With me, we have speaker,
co-speaker Joshua Birk.
He's a senior director
admin evangelism.
I'm sure you must
have know him already.
With that, let's
get started,
and let's straight dive
into agents, agent first,
and everything we are
here to learn about.
So we are actually truly--
you must have already
seen and heard
about agent force
before yesterday
because Dreamforce has
all been about agent force
But for you all
to get started,
But before that, you
must be aware as well
that we are truly in
our AI revolution phase.
Right from chat
bots that were
rigid and quite stable
programmatically fixed
to copilots, which is
smart, and from there,
to agents, we have
come a long way across.
With that, what exactly
is an agent, what it does,
and why do we say that
it's a new software
So the agents,
as they evolve
and how do the agents
comes into picture?
So that's because
of the LLMs.
LLMs can do their job,
but when it comes to LLMs
and AI, so there are
some limitations,
limitations like,
with the help of LLMs,
you actually cannot
access the private data.
There are issues
around security,
about accessing
your private data,
and the most importantly,
LLM cannot take actions
They can only fetch
what is fed to them
or maybe the information
that is available to them
But when it comes to
customization or accessing
your customer data or
your employee data,
your internal data, that's
where you cannot rely
completely on LLM, and
that's where agents come
And this also brings us
a new software paradigm.
So what is
exactly an agent?
It's actually
building the gap
between LLM and a
realistic use cases.
So an agent
would be like--
it's actually
revolutionizing
how we have been
building our software.
Traditionally, we have
been going with something
that is a full software
approach or maybe
a holistic-- what
we call it as--
we have been building a
software as a whole block,
but now with agents,
we're actually
starting with the
granular level,
building several agents,
and then combining it
This particular
agents, they also
focus on a
particular topic,
which would be like
an action, which
would be taking a
particular action as per
desired, as per
our use cases.
And all of these
several actions
will be combining
into topic.
So I will absolutely
be-- and Joshua
will be digging
into topics, actions
and everything, further
in our demo as well today,
but let's get started with
the basic terminologies.
And to top up
with that, agents
are actually
been leveraging
the Salesforce's
security, the trust layer,
Einstein's enterprise
trust layer security.
Agents have been
orchestrating
on the enterprise
data that has
So they also have
the knowledge
about all the
Salesforce CRM
data that has been
provided to them,
and agents are also
bounded by guardrails.
So what do we mean
by guardrails?
They are like
the protection
or the limitations that
we have bounded to agents.
So there is not much
hallucinations, and also
that they have
been secured.
They are also
following the security
They have been doing what
is under the guidelines.
With that, you would
wonder, what difference
does it make between
a software or chat
So to be honest, we
all have experience
working with a chat
bot or maybe using
chat bot at several sites
or different shipments,
We all have actually
interacted with the chat
bot, and we know that they
are really, really dumb.
And we're actually eager
to speak to a customer
agent while we are
working with a chat bot.
So let me give
you an example.
So if you are working
with a chat bot
or if you have to
return an order
or exchange an
order, so a chat bot
can max give you
an information
about the order details
or if it is like eligible
to return or exchange
or not, but that's all.
It won't take an
action for you.
It won't actually go
ahead and make a return
statement, or it won't
do the task for you.
For that, it will
actually connect you
And that's what
makes a different
with an autonomous agent
coming into the picture,
because that is
actually having
the capability to take
an action for you.
It is going to
make the changes.
It is actually going to
fetch the order details.
It is going to ask you
the relevant questions
and further go ahead and
take the actions for you
to cancel or
return or exchange
With that, how do these
agents differ from bot?
So definitely,
they are based
on the natural
language instructions.
More instructions you
feed to the agent,
the better they're
going to perform.
They're going to
be coming up with--
they're going to ask
you relevant questions.
They're going to
stick to the context
and get more information
for you in order
It's also based on the
AI reasoning engine.
It's going to get the data
that it has been already
grounded to the
agent in contrast
to what we have
with chat bots.
So with chat bots,
it was quite limited.
And whatever is
programmatically
fed into chat bots,
the instructions,
the algorithm, it was
quite limited to it,
but that's not the
case with agents.
It's going to fetch
you the information
from the LLMs, from
the Data Cloud,
from your CRM sources,
from everything
that you fed into it
with proper instructions.
And just that,
you can also
train your agents manually
and with minimal training
And it takes into picture
the enterprise security,
the AI Einstein
Trust Layer,
and make sure that
the company's data
Going ahead,
let us see what
are the five attributes
of an agent, what makes
the agent autonomous,
secure, capable and
So the first one is
role, like what role is.
So it actually defines
what your agent should
be doing, what an agent's
particular task is,
what is complete,
what you would say--
what the agent
should be achieving.
So the role should
be defined correctly
so you can get the
best out of your agent.
The second one,
trusted data.
Trusted data is
more important
when you're working
with your agent.
So this could be coming
from multiple sources.
It could be
your Data Cloud.
It could be your
CRM sources.
It could be your Google--
I mean, your web
searches or a company's
private information
metadata.
And you have
to also ensure
that the data that
is coming here
is, as we are saying,
it's trusted data,
it is bounded by
the Salesforce
the Einstein security
layer as well.
The next thing is actions.
And this is so important,
like we have already
seen during the
copilot thing as well.
We have seen the actions
that were out-of-the-box
actions or the custom
actions that we have
built, the standard
and the out-of-the-box
So actions are like
predefined tasks
that tells an agent
what it has to be done.
And this could
be quite atomic.
If you're talking about
a particular action,
like it could be something
fetching an information
with the help of an API or
invoking a particular flow
that is about your
order details or order
So each of these
will be quite atomic,
and it's a
particular action.
So it's one single
atomic action
that's responsible for
doing a particular job
And that further leads
to the next action,
So guardrails are like--
as the name suggests,
they are actually
making sure
that how your agent should
be behaving, how it should
be like bounded by some
rules, limitations,
security
policies, the data
masking, and everything so
your agent doesn't go out
of the way and
hallucinates
or behave like
in a weird way
to give you all the spooky
results, I would say.
With that, let's go
ahead with the last one,
So channel is
the last pillar
of the agent's capability,
which is where your agent
and how your agent
should be interacting
with what are the sources,
how your agent should be.
It could be something
like a digital channel,
You're basically
a trigger point
where you can interact
with your agents.
It could be also
your CRM application.
So I'm sure you must
have seen this slide.
So the agent force, what
exactly is agent force?
Because we have already
seen what is agent.
So what is exactly
agent force?
Agent force is what drives
human and AI together
It actually
provides a platform
to build your agents,
to customize your agent,
They provide tools
and capabilities
And now we are
going to see
what exactly what are the
agent force capabilities.
So what are the
fundamental building
blocks of an agent force?
We have already
seen previously
what are the capabilities
of the agent, what
are the pillars
of agents now.
Now we are seeing
what are the building
And here there are
three of them, topics,
instructions, and actions.
And I think with
this, I would actually
like to go in
a reverse order
because, as I
mentioned previously,
action is the
most atomic one.
Let's first go
into action.
So first, you're going to
create an action, which
we'll see in the
demo as well, how
So it could be something
singular or atomic,
like looking up
your order status,
fetching up the
information, your order
details, and there
could be several actions
that you're
clubbing together
and grouping them
to form a topic.
So this is something
new with copilot.
We just had created
actions, and that's all,
but now it
makes more sense
to create topic because
you are actually clubbing
a lot of relevant actions
into one to give you
a meaningful
result. For example,
you can take an order
management system.
So when you're talking
about an order management
system, there could be
several singular actions,
something like fetching
the order details,
updating the
order details,
or fetching the user
information, updating
what activities it can do
with the particular order.
So all these things
are singular actions,
and they are clubbing
into a proper topic, which
could be an order
Management topic.
And the next one,
the middle part
So the more instructions
you feed into the system,
the better results
is going to give you.
So as much as
information you're
giving to the agent,
as much as reasoning
and the instructions,
the guardrails
you give, the better
results you get.
With that, let's see
how agent force actually
So here towards
the extreme left,
you can see there
are some triggers.
So we can initiate
a conversation
with your agent over
Slack or CRM application
mobile Web Services,
which will further
lead to a query equation.
Basically, it could
be something simple
like, what is the
status of my order?
And it's going to fetch
in this information.
It's going to extract
the information.
It's going to feed it
into the LLM system
and going to ask you
more relevant questions.
If you would have
worked in a similar way
with the chat bot,
what it would have done
is it would have given you
a basic, simple answer,
but with agents,
it's going
to ask you more
relevant questions.
Like, firstly, what
is your email address?
What is your
employee address?
Give me the order
shipment number.
And based on
that, it's going
to actually fetch
all the information
It's going to give you a
proper statistics and then
what you should be
doing with the order.
And to get this
results as well,
it's going to go through
some set of topics,
actions, and it's
going to select
a particular
topic that will be
It's going to take
a particular-- it's
going to execute
particular actions that
are based on the topic
and further select
the chain of actions
and give you the output.
So this is overall how
agent force and agent
With this, I would
hand it over to Joshua,
and you can take it ahead
with the demo today.
Thank you, Akshata, for
that wonderful overview
Let's dive a
little bit deeper,
and we're going to be
talking specifically
about the tools that we're
going to use to actually
And for that, we have
our friend agent builder.
And agent builder
is your tool
to organize your topics
and your actions,
to interact with
your agents,
and then to also debug
to see what it's actually
And in order
to do this, we
can build out a
custom actions.
Custom actions can be
enhanced with flows.
They can be enhanced
with prompt templates,
they can be
enhanced with Apex,
and, as Akshata is
going to show you
in a little bit,
they can also
be extended
using MuleSoft.
Now, actually possibly
one of the most important
parts of this little slide
here since you are here
at Dreamforce-- sorry for
people at Salesforce+--
but please take advantage
of the fact that we have
the agent force
launchpad here.
That is a place
that you're
going to be able to get
hands on with experts
and actually try this
stuff out for yourself
Now before we
dive into an org,
I just want to do
a quick overview
because agent builder
has a very interesting
And so as we're
walking through it,
I just want to
give you a couple
of navigational
points for.
We start over
here on the left,
where we can configure our
topics and our actions.
And our topics are
going to define
the agent in a
very broad sense,
and the actions are
going to give it
its library of things
that it can do in order
Remember, the real
power of an agent
is that it's
nondeterministic.
It doesn't necessarily
know exactly how
it's going to answer that
question until it starts
And it starts to
look at either
the standard actions
that come out
of the box or the
custom actions
that you give it in order
to provide a response.
Now, before you go
into production,
before you put eyeballs
in front of this,
you want to be able to see
how is this agent going
And so we give you an
interactive conversational
pane here where you
can interact directly
with the agent, give
it questions, give it
different kinds
of questions,
give it different
tones of questions,
and see how is that going
to change the outcome.
Because once again,
it's not a chat bot.
You don't necessarily
have a tree
that you can walk
down and determine
right away exactly how
it's going to work,
but-- and this is
my favorite part,
what we do is we
give you insight
into the brain of
the agent itself.
So as it's processing
through those actions
and it's deciding which
actions it's going to use,
a standard action
or a custom action,
the pane in the
middle is going
to walk you through
how it's changing those
together in order to
provide a solution.
All right, let's
go to an org
So in Setup
under Agents, we
see that we have
two agents here.
We have our original
Einstein Copilot
and we have a
Coral Cloud agent.
Now, the big
distinction here really
is, where is that channel?
Remember, Akshata was
talking about channels.
Now, agent force allows
us to expose these
through external channels.
So our Einstein
Copilot is channeled
So it's an internal agent.
However, Coral
Clouds can be
exposed through a
digital experience.
It can be put in through
Experience Cloud.
And that allows
your customers
to actually be able
to interact with it.
So let's jump
into that one.
Pull him up into builder,
and here we have our agent
Now, we have our reward
management topic here.
And this is
going to allow us
to have the topic of
the agent being defined.
And so we give it
a name and we also
Now, the description
is interesting
because it's very
important for AIs
to be able to
have metadata,
to be able to
have context.
So I know we're all
used to description
fields and help
text fields
We know that's
a good practice
to put into our custom
fields and our custom
It's actually very,
very important
when it comes to AI to
be able to give them
as much information
as possible.
So the metadata
that you put here
on the topic, the metadata
you put on your custom
objects, the metadata you
put on your custom fields,
that's all contacts
that the agent can then
use to say, oh, my user
mentioned an experience.
I'm going to go to the
experience custom object
and see if that is
the kind of thing
that they're
going to retrieve.
We also have our scope,
and the scope really
defines that role that
we are talking about.
It allows it
to give itself,
What kind of
agent-- when you
are talking to a human
being, what kind of agent
are you impersonating
as a human?
And then finally,
when we're
talking about
guardrails, you
can give it a set
of instructions.
And set of
instructions can
So for instance, going
back to that custom object
example, we can say, hey,
if you see them mention
experience, they
are probably
going to go refer
to experience
under underscore C.
And you help the agent
actually tie those
things together.
So now let's see
the topics actions.
And I am going to have
to flip over to your org,
You can just scroll
it over further.
If I flip over to
this topic's actions,
this is the
library of actions
that is going to be
able to use to compose
We have a few here that
are standard and out
of the box, and
these are very
basic actions to be
performed on the platform.
These are things like
querying a record
or finding a record by
ID, the basic things
that when you're doing
any kind of logic
about either finding
and manipulating data
on the platform,
you're going to use.
And this means that, as
a developer or an admin,
you don't have
to redefine those
over and over and
over and over again.
Agent Salesforce is
going to do that for you,
but what you
can do in this,
bring it down to
custom actions.
Once again,
custom actions can
be enhanced through Apex.
It can be enhanced
through flows,
and they can be enhanced
through prompt templates.
We're going to see a
little bit of all three
And so I'm going to
look at these two here,
and we're going to
start with the generate
But once again, I don't
have to trigger that
I'm just going
to say, can you
find experiences
I might like?
And I'm going to
warn you right now,
this is actually
not going to work.
And I'll explain why
in here in a second.
But you can see it's
analyzing the request.
It's figuring
out the steps.
So this is where it's
organizing the actions
And then it says
that it's actually
It doesn't know what
contact that's actually
Now, remember,
if we expose this
through Experience
Cloud, the user
is not going to
see any of this.
They're going to see the
nice, friendly customer
interface here
where it's saying,
hey, please, I
actually need
a little bit more
information from you.
Could you tell
me who you are?
So I'm going to say,
I am Sofia Rodriguez.
Hopefully, I'm
spelling-- that's not
Sometimes, you're
just not sure what
Also, it pauses
dramatically all the time.
So, now, the
interesting thing
here is, behind
the scenes,
our contacts actually
have been extended out
And those custom fields
have been extended to say,
So this is actually
a filtered list
of events happening at
Coral Clouds Resort,
specifically that we
think Sofia might like,
based on the interests
that she has already
So you can see
how powerful
that it could be if she
is on her phone or she's
And she just wants to
see what she might be
So let's take it
one step further.
And we're going
to say, can you
book me for the
beach yoga retreat?
Now, notice here,
I didn't have
We have already
resolved the question,
which contact is the
agent talking to?
And because we're in
a conversational UI,
it will maintain
that context
until it has a
reason not to.
Can I get booking for
beach yoga retreat?
Usually, when it
takes this long,
it means it's
working correctly.
But while it's
doing that, note
that, if we were using
a normal chat bot--
and we've all been there.
You've been on the phone
with customer support.
You're talking to a robot.
And you get in
that dark corner.
And the robot doesn't
know how to help you.
It also doesn't know how
to ask for more help.
So this is the
long version
of the booking interface.
But we're now in the
booking interface,
where she's going to be
able to book her beach
If this was a
chat bot, she
would be stuck in
a failed state.
She'd be that person
pressing 00000,
By the way, that trick
doesn't work anymore,
But, anyway, more to the
point, this middle part
here, now, if we have to
go back and be like, well,
why didn't you find
that information?
Why did you get in
that failed state?
When did you find
that information?
You can walk all the
way back and say,
here's the original
user prompt
that took to my
experience management.
And it's going to go
through and tell you
exactly which
topics it's using,
which actions it's using.
This is a standard action.
It's just querying
records that it knows
we're going to
need to know,
and then moving
into whatever custom
Now, let's look at some
of those custom actions.
It is so the second
day of Dreamforce.
OK, thankfully, I don't
know what that was about.
This is what I
wanted to show you.
So when we're
setting up an agent,
when we're setting
up a custom agent,
you're basically
just creating
a bridge between
whatever you're using,
Apx or Flow or a
prompt template,
and then defining
how the agent
is going to go through
the input and the output
And so, here,
we're saying,
this is the
information I need,
And then this is
the information
that I'm going
to send out.
So, now, let's
look at Flow
and see what that
actually looks like.
So how many Flownatics
in the room?
What does this look like?
It looks like the
Flow you already
There's nothing wildly
special about it.
It is an auto-launch Flow.
Those inputs
that we need are
going to be based on
what we're doing here.
And the outputs that
we're going to give them
It is the exact
same kind of logic
that you would use
in a normal flow.
The other thing I
want to point out
is, this isn't a terribly
long or complicated flow.
And I was having
a conversation
with the great queen
of automation, Jen Lee
And we were basically
coming up with the fact
This is what we're seeing.
It doesn't take long,
complicated flows
to point from
point A to point
B to get the prompt or the
agent to do what you need.
What you're usually seeing
is somewhere between three
to seven components
within the flow
in order to get it going.
So not only do you already
have the skills to build
out these
agents, you don't
have to get into
deep, convoluted loops
or any special new
components or anything
Now, let's go to
our other one.
And we're going to
go to our prompts.
And we're going
to look at how
it generated that
personalized schedule.
Now, here in
Prompt Builder,
it gives us the
ability to format
very specifically how we
want the agent to respond.
You're going to get
a bunch of data.
I want that data
to be bulleted.
I want you to
highlight these things.
I want you to be concise.
I want you to be formal,
et cetera, et cetera.
It allows you to have
a conversation with how
raw data is then going to
be displayed on the page.
But the nifty
part about this
is, we get to
jump over in Apex,
because one of the
things that you
can do in Prompt Builder
is use Apex as a data
So what does that
Apex look like?
Well, going back to our
slides, which is this guy,
it is the same kind
of invokable Apex
that you're
already used to.
If you're used to
writing Apex that's
going to be
interacting with Flow,
congratulations,
you're an AI coder.
That's the exact same
kind of structure.
We've got our
invokable method.
And then, if we look
at our variables,
we've got our
invokable variable.
That allows us to put,
remember, on the agent,
We can actually pre-fill
that right here.
You have now
programmatically coded
And with that, I'm going
to hand it back to Akshata
to show some cool
stuff with MuleSoft.
So how many of you have
already used MuleSoft APIs
or any other
APIs in general,
integrated with
Salesforce?
That's a good
number, actually.
So we are now going to
see how we extend our APIs
and connect it
with agents.
So what I have here
is-- let me go back.
So I already have
created a MuleSoft API,
I have deployed
it on CloudHub,
the MuleSoft native
cloud, and basically
built an application
on CloudHub.
And this is how
that API looks like.
So if I just hit the Send
trigger, the API endpoint,
I'm going to
get the output.
So what this API is, this
is a reward-based system
API that I was talking
about previously as well.
Based on a particular
ID, a reward
ID, it could
be any ID, it's
going to fetch me
the reward points.
So that's
randomly-generated
But you could be having
any other random API which
is hosted on any
other platform
and not necessarily
a Mule API.
And you can
still integrate
that with Salesforce
into Agentforce
So in order to
integrate your agent,
let me get out of
the Agent Builder.
So there are a series of
steps that you need to do.
Firstly, I have configured
the name credentials,
wherein I have listed down
the URL, the endpoint,
Secondly, using the
external services,
I have imported
my MuleSoft API.
Let me go into
external service.
And, here, you have
options to actually add in
So you get an option to
get an API specification,
get an API which could be
like any other random API,
or you get amazing,
beautiful UI services
if you're using
a Mule API.
So as my APIs are hosted
on MuleSoft's Anypoint
platform,
Anypoint Exchange,
I have been using
the second method,
the read-out to
MuleSoft services.
And, here, I can get the
list of APIs to import.
So if you see, on
the Import option,
I can see all the APIs
that I could import.
But I have
already imported
one API, which was the
reward-based system API.
Yeah, and you can see
it over here, which
Once you have imported
the External Services API,
I mean, currently, we do
not have this feature.
But we are hoping that
it will be in future.
You can connect directly
external services
to the Agentforce, agent,
create your own actions.
But, currently, we have to
go via Flow or via Apex,
so for which I'm invoking
this API actually,
via, Flow, because that
is the simplest method
for which I have created,
Auto Launch Flow,
like we have created
previously as well.
And it's called
rewards flow.
It's a super simple flow.
And it is
actually invoking
And via the
external services,
it is invoking
the Mule API.
So if I just
debug this flow,
it's going to be
similar to the Postman.
I have to enter
a reward ID.
And it is going to give
me the response as reward
And behind the
scenes, it's
actually calling
my MuleSoft API.
But mind you, it could
be any of the API
that you have, that
you want to invoke.
Once this is done,
we will follow
And we'll go
ahead, and we'll
create our own
actions with agents,
for which I'll have to go
into Agentforce, the agent
And I have already
added the reward flow
And I've made
sure that I fill
in proper information,
all the instructions.
I'm passing the reward
ID as an input parameter
and the reward points
as an output parameter.
So everything has
been configured here.
Once I'm done with
this, I'll go ahead
and I'll add my action,
the one that I've
added now as
a rewards API,
And I have added
the list of actions.
I've not just added
the reward flow,
but I've also added the
other standard actions
So my topic here is
reward management,
and for which I
have listed down
several atomic
actions, out of which
the only custom action I
created was reward flow.
The rest of them were
standard actions.
So let's go ahead in
the builder, the agent
builder, and see how
this thing works.
and I've made
sure I've listed
down all the instructions,
the guardrails,
let's go ahead and see
how it works, actually.
So I'll be asking, can
I get the reward points?
So let's see
how it answers.
So I have made sure
to add the instruction
We need to pass a
reward ID in order
to get the reward points.
So I'm going to give
it some reward ID.
And based on
the reward ID,
it's actually
going to perform
the reasoning, the logic.
It's going to select the
topic, a similar topic
as reward management,
because that is the one
topic that I have passed.
But you could be having
multiple topics as well.
And it has actually gone
through several actions.
It has picked
up the action.
It has invoked the Mule
API and fetched reward
I can further
go ahead and say
that, based on
the reward points,
can you suggest to
me some activity?
OK, so, basically, it's
actually making sure
It's going through
all the topics,
going through
all the actions
and selecting the best one
and giving you the output.
And not just that, it can
also take actions for you.
If I say that, can you
link these reward points
That's going to be
updated to Sofia.
So you get the gist,
how Agentforce works.
And this is just
one API which
is doing a very simple
feature of getting reward
But the scope of API
could be extended.
You can do
several operations
that could be
taking your agents
or taking your Agentforce
overall to a next level.
So let's see the last one.
It could be, can
you link my profile?
Can you link my profile
to reward points?
Can you link reward
points to my profile?
I hope the name is Sofia.
So it's going to
fetch the information
OK, yeah, it is
analyzing the request
and giving the
information.
But this is the overall
just how you can extend
your agents with flow
prompts and with Apex
So, yeah, here are
some activities.
It's actually going
into the loop.
Going ahead with
the next part,
which will be
just a recap.
So, today, what
we have seen,
we have seen,
what are agents?
So they are
autonomous, how
they work, how they
provide a new software
And what are
the attributes
of agents, the roles,
trusted data, actions,
guardrails, and channels.
We have also seen how
to build the agents,
how to build your custom
agents with the help
of Agent Builder,
extend it
with the help of
flows, prompts,
templates, Apex classes,
and also with the APIs.
And, yeah, I think that's
actually pretty much
covering the Agentforce
topic for the developers
I would highly recommend
you checking out
the Agentforce area, where
you can get your hands
You can get to
know more about it.
You can experiment,
as well,
with different
prompts and see
what works for you, what
works with Agentforce, how
it behaves and everything.
I have also listed
down a few resources
that could be helpful
for you to get started
with Agentforce
on your AI journey
to help you get your AI
certifications as well.
So you can go
through them.
And with that,
we are done.
If you want to
take a picture,
yeah, it's
still available.