Welcome to Release
Readiness Live.
We want to start
off by saying--
It is important to watch
Release Readiness Live so
that you get a
snippet of the coming
attractions of the
functionality that's
We really focused
on the features
that are going to be most
useful and impactful.
I get to find out what's
new, what's coming.
It's a way for me to see.
Not just read, not
just experience
through webinar, but
see a real person
talking about
what's important.
We'd love to hear what
your questions are.
Your feedback
is so important.
I think that's one of
the most amazing things
actually about the
Salesforce Ecosystem is
how involved trailblazers
are with the evolution
I love getting questions
during Release Readiness
Sometimes you never know
what you're going to get.
People could ask
potentially anything.
It really helps me think
about things as I'm
With Release
Readiness Live,
you get the
great opportunity
to actually hear from the
mouths of the people who
spend a lot of
time thinking
about what exactly
you all, as Salesforce
developers and admins, are
actually wanting to see.
And also informs us how
we can improve the product
The reason why we
stick with Salesforce
is because we feel
like we are heard.
I feel like I'm
helping make decisions.
Hopefully, good
decisions that
will benefit all
admins, all developers,
I feel like we're
a part of something
We'll see you next
time in the cloud.
It's the Release
Readiness Live.
I'm your host Gillian
Bruce coming to you
live from San
Francisco, where I'll
be joined by product
managers who are going
to show you the latest
and greatest innovations
coming with the
Spring '24 release.
Now, we might cover
some roadmap and future
looking technology today.
So I need to remind you
that you should only
make purchasing
decisions based
on currently
available features
Now, with that covered,
I want to thank you.
Thank you so much
for joining us today.
By tuning in and giving
us your feedback,
you make Salesforce
products better.
And boy, do we have
a lot of products.
We have a whole week of
Release Readiness Live
Yesterday, we covered
sales and CRM analytics.
Earlier today, we
covered service.
We're about to
get into flow.
And then tomorrow,
we've got the admin
But for the
next hour or so,
we're going to focus
on all things flow.
And I know there's a lot
of Flownatics out there
that are very much
looking forward to this.
We're going to cover
triggers, announcements
around workflow and
Process Builder, Data
Cloud updates, screen
flows, integration
and data transformation
enhancements, and more.
But before we
get to it, let's
talk about how you can
participate in the show
And I've got a very
special friend of mine
joining us to help
field your questions.
Welcome to this
part of RRL.
I don't think you've
ever been in the studio,
No, this is very exciting.
Well, it's wonderful
to have you here.
Can you talk to the
people a little bit
about how they're
going to be able to ask
So on X or what
was formerly
known Twitter, or in the
Trailblazer Community,
use the hashtag
Salesforce RRL.
And you can also ask
your questions right here
natively in the Salesforce
Plus chat, which
So thank you for
being here today.
We're going to
have some fun.
And Jen is going
to be feeding us
all the excitement
that I know all of you
are already expressing on
the social medias, which
And we're going to kick
off this flow segment
We're going to start
with my favorite segment,
[? Flow-pourri, ?] by the
one and only Diana Jaffe,
senior director of
Product Management.
Thank you so
much, Gillian.
I'm Diana, and I'm happy
to be back here talking
about Flow as Gillian
said in triggers.
We like to think
of Floppery
as all those awesome
features that
don't fit into one really
super cool end to end
demo, but are still really
exciting and important
So to start off with
one of those things,
we are still continuing
to update the Flow Canvas.
This is something we
started in the winter
release, but you're
going to see us
So now, instead of a
modal editor, we call it,
where it pops up and
takes up the screen,
now, all of your editors
for your elements
are going to be on
the side in a panel.
This lets you continue
to look at your screen,
maybe move around
and check out
different elements
while editing.
But the really
exciting thing
happens when you
close that panel.
There's no more
cancel button.
And if you still have
errors, big red boxes,
you can still
close that panel
and go work on
something else
and come back to it later.
That is our Save As you
go or save as draft.
You can keep your
flow incomplete,
because we know that
sometimes it might take
a little while to
build your flow
and you don't want
to get hung up on,
filling in a lot of
API names and details
before you really
know exactly what you
We are continuing
to roll this out.
I think we got
some feedback
from some of you who've
started to adopt this,
But it does take a little
bit of getting used to.
So one of the
tips I like to do
is if you're really
used to using
that cancel button to
just wipe out your work
and you're looking
for a replacement,
don't forget that we
have a better undo
So you can go
back and still
undo those changes
without having
So it takes a little
getting used to,
but I think it's so
much more modern,
and it makes it so
much easier to not
accidentally
lose your work.
So I really think it's an
exciting future for Flow.
And that's because
we're actually
already using it
for other features
So we've had the migrate
to flow tool, which
migrates your most
commonly used process
builders and workflow
rules over to Flow.
But one of the limitations
we've had in the past
is, we had to create
and save a total flow.
Well, now, we're able
to save partial flows.
So if there's a piece
of your Process Builder
like an action that the
migration tool doesn't
support, you can
still migrate it
and it'll just leave
a blank action there
for you to go in and
fill in and maybe
do some extra
configuration later.
So you can see how
all of these pieces
And we're making the
migration tool also
So speaking of migration
and Process Builder
and workflow
rules, I thought
it might be time to
come and give an update.
Now, I have been
on many episodes
of Release Readiness Live
talking about how we're
saying farewell to Process
Builder and workflow
And I think it's
time to check in
So there's
really, I think,
three big categories
I think of here.
They're saying goodbye
to the old stuff,
getting everybody
moved over,
and then getting
excited and going ahead
So to talk about
the first one,
we've disabled the ability
to create new process
builders and
workflow rules.
And you really shouldn't
be creating them
or really investing
any additional effort
into them apart
from migrating them.
We aren't planning
to just flip a switch
and turn off workflow
rules forever,
but we are planning to
come to an end of support
Look for more official
communications
probably in the next
month about this.
But you're hearing
it here first.
It's time that we give
everybody a deadline.
We spend a lot of time
talking about why Flow
is an amazing thing to
move to, and a lot of you
Flownatics have
been an amazing part
of spreading that
message and telling us
But I also know
I sometimes
need a deadline to
get some things done.
So if you're
looking for when
you should finish
your migration by,
So what about
that migration?
Well, one thing
we have available
is the migrate
to Flow tool.
That's going to
let you see what
that same data would
look like in a workflow
Now, one of the
things we've
heard from many of you who
are watching now, as well
as many more in
the community
is that a one to
one port might not
be the best option
for your organization.
So check out our
Automate this Channel
that Jen Lee
over there hosts,
where there's a lot of
real world admins talking
about how they chose
to actually implement
this migration
and what really
And lastly, what's
next for Flow?
So I've cut on here
a lot and shown
you a feature in
Flow that already
existed in workflow rules
and Process Builder.
And I would say
that sort of era
There's still a few gaps.
There's still some
things we're working out,
but you're really
going to see
us going forward,
focusing on more
exciting new functionality
based on your feedback,
based on what you
want from Flow.
And you're going to see
that from Sam and Henry
after me, as well as what
I'm going to get to next.
So just sort of an
idea of where to expect
We did it last release
with custom error
messages, and
I think there's
a lot more exciting
things to come.
One of those
exciting things
is how Flow is bringing
platform and Data Cloud
So let's take
a look at that.
In our last release, we
introduced Data Cloud
These are actually
just like record
But they're looking for
changes on Data Cloud
objects rather
than on objects
And in this Flow, we are
checking a lead object
on Data Cloud and seeing
if it's been updated
And then what this
Flow is going to do
is create a lead if it
doesn't exist, check
the owner, and then
make a follow up action
for that owner to follow
up with the employee who
But what we can now
do in the Spring
'24 release is debug this.
This was something we
didn't have last time.
I can select a
Data Cloud record.
You see all my
different records.
I'm going to pick one
that is employee referral.
When I hit Run, I get
the same debug experience
that you're
used to on Flow.
So you can look at
your entry conditions,
We've got the line
there, and it's just
going to let you
really round out
We also introduced
better error emails,
kind of like our flow
error emails for this
So again, based
on your feedback,
we're trying
to incorporate
all of the flow
goodies into the Data
So that's all about
us on the platform
absorbing something that
changed on Data Cloud.
But what if we want to
make something change
Well, that's what's
new in Spring, '24.
So let's take a look
at a different Flow.
This is a Screen Flow,
and I'm going to debug it.
And what this
is going to do
is it's going to give me
sort of like an exercise
Maybe like your
smartwatch or something.
So I can go in and add
details of an exercise
Say, I just burned
so many calories,
running two kilometers
while jogging.
Sure, that's
what happened.
And when I do
that, it's going
to go and send
that information
We're going to--
sorry, we're
having a little bit
of tab problems.
All right, so let's go
back and look at this.
So here, we have this
Data Cloud action,
and it has all of
that information.
So where did
this come from?
Well, in Setup, you're
able to configure
ingestion APIs for
Data Cloud, which
is how does Data Cloud
want to get and ingest
information and how
is that structured.
Because it might be
highly structured
based on the data you're
capturing, like runs,
calories, things like
that that's very unique.
So if you see this list
of different things here,
audit, exercise,
messaging events.
And then I go
here and Flow
to my invocable
actions, you're
going to see a new
category called Send
And if I look at what's
available, look at that.
It's edit, exercise,
runs, messages.
So all of those
ingestion APIs
are automatically turned
into invocable actions.
So once you set
them up in one place
and they show up
in Flow, and that's
going to allow you
to do a full circle.
Get changes
from Data Cloud,
and then send changes
back to Data Cloud.
So I think this is
a super exciting way
that Flow can
be the glue that
connects your data on CRM
with your data on Flow.
So to go back to
our [? Floperry, ?]
I have a couple more
goodies that I think
are really going to
empower admins tomorrow--
So one of these is a
long standing item.
I can't tell you
how many times
I've been asked about this
on RRL or at Dreamforce.
Now, on your
email alerts page.
Email alerts are
reusable emails
that you can put in
lots of different places
But the problem today
is that you don't
So if you want to
change something
about that
email, you don't
know what other automation
might be being affected
Now, we have Flows
using this email alert.
It's a new table that's
going to show you
And I got some
amazing on the ground
feedback from folks
at Dreamforce.
So we also added in
this extra column
that shows you which
versions of that
So that was a great
design recommendation
that came directly from
Flownatics like you.
Next up, we love to say
farewell to some limits.
So there are no longer--
we are no longer going
to have the 50,000
paused flow elements.
I think this is going
to be really powerful
if you're a flow
orchestration user,
as well as if you have
a lot of screen flows
and you're running
into this limit.
And last but certainly
not least, this
is the kind of thing
that's hard to show,
And I want to give
a real shout out
to the engineers on
Flow who did this work.
If you're in
an org that has
a lot of
invocable actions,
you have probably
experienced
trying to open
that actions panel
and watching it spin and
spin and spin forever.
And our team has
been chipping away
at that problem
for so long.
And I think they finally
cracked in this release,
and they made some really
powerful performance
So if you're in
one of those orgs,
you may see performance
improvements
of up to nine
times faster.
So we talk a lot
about new features,
but I just want
to remind you
that we have this amazing
engineering team that's
always doing all this
work in the background
to make sure that the
features that are there
work for you as
well as they should.
So that was a
little preview,
a little sprinkle
of aromatic
[? Flow-pourri. ?] And
I will throw it back
[? Flow-pourri, ?] it's
got a good aroma going
Now, reminder to
all of you watching.
I bet you've
got questions.
Please ask your
questions natively here
in the Salesforce
Plus Q&A tab
or on the Trailblazer
Community using
hashtag Salesforce RRL or
on Twitter X, the twits
as I affectionately
call it sometimes,
Now, Jen, I bet there was
a lot of good reactions
to the [? Flow-pourri ?]
that Diana just showed.
Can you share
what's going on?
Well, Andrew
responded, "Diana,
does smell good, though?"
We had Steve [? Mo, ?] who
has his expert shirt on.
We have Mark Jones
from across the pond,
who's taking a break
because Flow RRL is
his favorite RRL session.
Of course, we have
Squire who couldn't wait
Well, and now,
it's flowing.
So let's set some of
these questions Flow.
Now, Jen, I'm
sure that you have
Do you want to kick off
the questions to Diana?
So first question
comes from Isaiah
on the Salesforce
Plus chat.
Does the end
of life support
affect approval
processes as they
use the same functionality
as workflow rules?
So it does not
affect those.
It also doesn't affect
things like email alerts.
You saw we're still
improving those.
So workflow actions
aren't affected
and other things,
like approvals
even if they use the
same technology won't
One less thing
on to do list.
Another thing
that would be
a whole other
conversation.
Well, this is a very
important question
Where do I get a
Flownatics shirt?
Oh, that's a
good question.
It's a very
exclusive club.
Well, we are-- it's
too bad Sam isn't here
to answer this quite
yet because she
is the one who's
working on this.
We could say-- no, well,
I'll steal it from her.
Sam is working on getting
a Flownatics shirt
into the
Trailblazer store.
Forward looking
statements.
Forward looking statement.
We have heard--
we have heard
the pleas loud and clear.
Everyone will display
the Flownatic love.
All right, Jen, you
got another question
So John asks, "Can we get
the ability to just show
It would help as we
migrate to Flows."
I'm going to show
the process builders
We are end of lifing
Process Builder.
And I understand it
would be helpful,
but that's a lot of
engineering effort
for something that
isn't going to be
And there's a
lot we could do
in Flow that would be
useful for many years
So if it was an easy, like
yes and sort of thing,
we would have looked
at doing that.
I think we did
when engineering
But it would be doubling
or even sometimes more
on the work because some
of the way the Process
Builder was built.
So probably not.
If I could snap
my fingers,
But we got to
prioritize that
You can only-- you
can only do so much.
OK, one more
question for you
before we move on to
more Flow goodness.
This is from Kevin
on Salesforce Plus.
Are field updates and
email notifications still
able to be created
for classic approval
I think there's no changes
to approval processes,
People have approval
processes anxiety.
So I think we're
addressing that.
Now, when you here
workflow rules,
you get nervous about
approval processes.
We are not currently
investing more new work
We are investing that
into Flow and other areas.
But I've never been
on an AOL call,
and I think I would
be on it if someone
was talking about it, so.
All right, thank
you so much, Diana.
Now, we've got a lot
more Flow goodness
You hinted at our
next guest already,
And she's going to cover
Screen Flows, a crowd
Sam Reynard, senior
director of Product
Management, take it away.
It's been a while
since I've been on RRL,
but I'm back again
to talk to you
about all the exciting
stuff we have coming
to you from Screen Flows.
All right, so I have three
major sections of this.
The first bit, we're
going to talk about what's
going on with reactivity.
Now last release,
we GA reactivity,
and we are so excited
by the response
that we are seeing
in the community
and how much
value it's adding
But we're not
done, and we're
going to continue
to invest
The first thing we
brought to you is spring
is taking display
text reactivity,
And we are also bringing
long text area and text
templates to make
them reactive
So you can accomplish
some really cool things
in your screens,
like providing
a lot more visual feedback
to your users about what
is happening as they are
going through the form.
And then I'm
really excited
about this long text
area example where
we are using
all these inputs
at the top of the form
to then go through a text
template and generate
a case description.
So you're basically making
your users much more
And this is sort of my
broken record thing.
Please keep this
trail mix bookmarked.
Adam White, who runs
GA reactivity roadmap,
keeps this up to
date every release
with all the latest and
greatest recommendations
and information
that you need
to know about reactivity.
Second area I want
to talk to you
So historically, we've
had some amount of support
for you to apply
validation rules
to your components,
but it only
applied to our
basic inputs,
like text, date,
currency, number.
We are expanding that
significantly this
release by adding
support for a lot more
of our standard
components,
like name, address,
data table,
as well as all
custom components.
So any of those
components will now
see the same validate
input section
that we used to only have
on the text, and so on.
That means that the
remaining components that
do not yet
support validation
are the choice
based components.
And we would love to hear
about how much you need
that in idea exchange
or in the community
So that can help us
get it prioritized
and really wrap
this up for you.
One important note
about the components
we added validation
support for today,
we were not able
to fully support
those error messages in
translation Workbench.
But that doesn't mean
you can't provide
translations for
your error messages
because we do support
custom labels.
So if you have a
translation need,
I recommend writing your
error message in a custom
label and then referencing
that custom label
in the error
message section
of your validation input.
Lastly on this
is something
that honestly,
we should have
But we know it's
really confusing
that the validation
rule that you write
for Flow components
is actually
the complete opposite
of how you write it
for standard Salesforce
validation rules.
So we now, at
least, have this,
I bubble next to the
formula expression
that you write that
informs you on exactly
So you don't have to
dig into documentation
to find out
all that stuff.
All right, and
the last bit
and the one I'm most
excited about talking
about today is a
brand new component
we are introducing
to Flow Builder that
is going to make it much
easier for you to collect
multiple records
from your users.
So previously,
you could do this
So you could set
up like I need
all of this information
for every beneficiary,
but I don't know how many
beneficiaries my user
So I do this little
like, checkbox.
I want to add
another beneficiary,
and then the Flow would
route you back and back
So we are introducing a
component that handles
Let's see it in
the demo, though.
So here, I have
a new flow where
I'm going to be
adding beneficiaries
So I'm going to make Diana
one of my beneficiaries.
I'm going to give her 50%.
And you'll see that I
have this Add button here.
So I can just write in
place, add another one.
So you're going
to see Henry soon.
I'm going to make him
the other beneficiary
And I'm only going
to do the two
But as you can
see, I could
keep adding more
and more and more.
And I can remove the items
that I no longer need.
And then as I
click Next, I've
got the flows
processing that data,
and then I'm displaying
the results in a data
I would actually create
those beneficiaries
But instead of going
through the rest
of that flow, I'm going
to show you actually
So here we are in the
screen editor in my flow,
and I've added this
repeater component.
This is just
highlighting where it is.
It lives in the
Display Section.
And once I'm in my
repeater component,
I can add any
number of components
into the repeater
as children,
set up all of their
configuration as usual.
Yeah, so the big
step that you
have to take
after building out
your repeater
in the screen
is you need to convert
the resulting data of what
was collected
in the screen
into something
that Salesforce
or an external
system can handle.
So what we're
going to do is
we're going to loop
over the results
And to do that, I'm
going to go and find--
So this is the name of
the repeater component,
and then select all items.
So now, this loop is
going to iterate over
So in my case, the Diana
beneficiary and the Henry
And then I can
come in here
and map each
of those items
to something in a
Salesforce record
So I've added a
couple of notes here.
I have my beneficiary
details record variable,
full name, and
likelihood of attrition.
And I'm going to look
for what is in my loop
variable, just
like you would
for looping over any
object or other data
So I'm going to find
my beneficiary details.
I think I needed
relationship.
I'm going to set that
to my loop variables
So what you're
seeing here,
because we're in
the loop variable,
these are each of
the screen components
that I added
in my repeater.
So that is
essentially the shape
of what we are
looping over.
This second
assignment is to add
that the values in that
new beneficiary record
variable to a collection
so that downstream, I
can just easily create
those record variables.
And that's a wrap
for our demo.
But there are some
things that you should
First is we don't
have support
We have support for all
the basic inputs, as well
And also many of
the screen features,
like conditional
visibility,
help text reactivity
are not yet supported,
but these are
issues that we
are planning to resolve
by the time we go GA.
The third major
consideration
is that repeaters
is currently
focused on solving
create scenarios, not
But beyond GA, we
will be looking
to adding the ability to
pre-populate a repeater.
So going back to my
original use case,
I want to update
my insurance policy
and make changes to
my beneficiaries.
For now, it will
be, I'm adding
only net new
beneficiaries.
And that's a wrap for me.
Oh, I'm going to
have you repeat
some of that information
in just a minute.
And I want all of
you online to start
And you've already
been asking them.
You can ask them
right here natively
in your Salesforce
Plus Q&A tab.
You can also ask them
on the Trailblazer
Use the hashtag
Salesforce RRL,
and on the social medias
using Salesforce RRL.
OK, Jen, we
just saw a lot.
What's going
on in the chat?
I bet people are
losing their minds
Community loves, loves,
loves screenflow things.
Craig on Salesforce
Plus noted
that reactive
components are awesome.
Well, there's
a lot going on.
I mean, I can just
see the questions,
but you got your
eyes on all the fun
But we got a lot
of questions.
So I think
we're just going
to go ahead and
dive into questions.
Feel free to add
any other fun
Do you have a question
to kick Sam off?
So from Steven,
for screen flows,
can we debug only certain
sections of the flows?
Flows with
multiple screens
can take a while to
debug if you only
Oh, this is such
a good question.
You cannot without
basically switching back
to free form layout and
removing your connectors
to say, like, I want
to start from here.
It would be like the old
school way of doing it.
But we would love to hear
more about your use cases
for debugging
screen flows.
So please reach out to
me on the Trailblazer
Community, Steven,
because I would really
We've been thinking
about this problem.
And we know
that screenplays
can get really
big, and sometimes
you just want to make sure
your screen is working
before you run
the whole thing.
But yeah, we'd
love to chat.
See, and that's what
RRL is all about,
getting engaged
with the community,
getting real time
feedback and ideas.
And also, I mean, you as
a Flow team, I will say,
you're very excellent
about engaging
on the Trailblazer
Community.
We also have the
idea exchange,
which you mentioned, we're
paying off some points
So if you've got an
idea or a suggestion
for a product, definitely
utilize that as well.
Now, Sam, I
have a question.
I know you're very
excited about repeaters.
I'm very excited
about repeaters.
Can you get a
little more specific
about which components are
supported in repeaters?
OK, so I'm going to
just give you the list.
There's the four main
choice components--
radio buttons, picklist,
multi-select, checkbox
And are kind of what
I call basic inputs.
They're the ones that
have been there forever,
So our display techs,
not technically an input,
but display text
is supported.
Checkbox, text, long
text, currency, date,
date time,
number, password.
We don't yet support
custom components
or things like data table
address, name, email,
that kind of
stuff, but we do
have in our documentation
a complete list
of everything
that is supported.
It's a lot to start with.
All right, Jen, what
else you got for Sam?
I also have a repeater
question for you.
So, is this
repeater feature
mobile app compatible so
that people in the field
can enter this
type of data
Everything, every new
component that we build,
unless there is an
underlying technical
reason, such as like a
data table, for example,
the base component that
we use isn't supported
in mobile, so our
data table cannot run
But we do as
much as we can
to make sure everything
works in mobile.
And this also will
probably come up,
but accessibility
is a GA requirement
So there's some work
on accessibility
we need to do
before we go GA.
But ultimately, that is
a high bar that we hold.
I mean, it is an
important thing.
And it's one of the
reasons I really
like Salesforce
as products
is because we do
consider accessibility
as a very important
integral part of what
Speaking of what
we're building,
what's next
for reactivity?
Because you
said-- I mean, it
was already done a lot in
a little amount of time.
And I'm sure you've got a
lot more on the roadmap.
We're just so excited
that it's finally
We've been working on
this for a long time.
So what's coming
next for reactivity
safe harbor is figuring
out ways for you
to basically
integrate your choices
with the rest
of the screen
in terms of making
the choice options be
So our first
target is going
to be collection
choice sets.
So for example, you
could make some selection
That data table spits
out a collection,
and then you could
have a pick list
after the data
table that is
consuming the results of
the records you selected.
And we're also
working towards--
I think, we talked about
this at our roadmap
session in Dreamforce is,
we're calling them action
buttons, but this
is going to be
a button on the screen
that lets you run a flow,
an auto launch
Flow off screen.
So it's really
reactivity up
to now has been
focused on how do I
make use of
the data that's
already available in
the Flow on my screen.
And this next
step is how do I--
when I need more
information that I don't
yet have in the Flow, pull
that in without having
to click Next
to a server call
So you'll see some
news about that
in the next
release or two.
Again, forward-looking
statement.
Well, we've got a lot--
we've got one more
section to cover,
and then we
So I want to go ahead
and let Henry present his
amazing presentation,
and then get you all
in the hot seat
so that we can do
a [? Flow-pourri ?] of
questions, if you will.
So up next, we're going to
have Henry Liu, director
of Product
Management, talk
to us about integration
and data transformation
So I'll be taking us
home with the latest
integration and
data transformation
enhancement in
this release.
So first off is
our HTTP call out.
So if you recall
last release,
we have GA, the GET,
POST, PUT, PATCH
And this release, we
are simplifying the way
that you define your
output data shapes,
so you can now
automatically get that
from just a click
of a button.
So if you don't want to
work with JSON as much,
Now, the next one is
the data transformation.
Now, this is
still beta, but we
have three brand new
enhancements that I
want to go over with you.
The first is the
multiple sources.
So now, you can grab
all the source data
from anywhere in Flow
and combine them together
Second is the aggregation.
So now, you can take the
data in your collection
and aggregate it
into a number field.
And we're starting
with count and sum,
and there will be more
to come in the future.
Lastly is the
static value.
So if you don't want to
map to a data source,
now you can have
ability to just enter
in static value
or static function
So let's just jump
straight into the demo.
And here, I have a
record trigger flow
on an opportunity product.
So on the run
immediate path,
I have things
that are working
with the internal
CRM data.
And on the
schedule path, I
have a HTTP action
that's doing a call out
so you can work with
hierarchical data sheet.
And on an immediate
path, if I
click into the transform,
this is what you'll see.
So on the source
data side,
you'll see that this get
all items [INAUDIBLE]
line item is coming
from this get record,
and this get parent
opportunity is coming
And you can
add more to it.
So here also, there's
a dollar record
if you want to bring data
in from there, you can.
And if you want
to add more,
just click on
this plus button,
and you can bring in as
much data as you want.
Second things that
I want to show you
is that in this
opportunity,
get opportunity
is all just doing
There's nothing
going on here.
It's just
mapping the data.
But here, this is
an aggregation.
So it's taking this
collection data,
and it's mapping it
into a currency field.
And let me just
delete this
to show you how easy
it is to do this.
All you have to do is
click on the collection,
map it to a number
or a currency field.
And then the
system is going
to know automatically
that you're
trying to do
an aggregation,
and you just choose
the type of aggregation
So for count, this
is an easy one.
It's just going
through the collection
and counting how many
items are in there.
For some, since this is
aggregating on a record
collection, then you have
to specify what field you
And in this case, I want
to choose total price.
So now, it's going to
add all the total price
together and store it into
the opportunity amount
And that's all
you have to do.
Everything is declarative,
no code or anything.
And lastly, for
the formula field,
so this icon
means that there's
a formula happening
here, but it's not
mapping to anything
on the source data.
And if you click
in, you see
that I have a
function of now, which
is grabbing the system
timestamp of currently
So you can enter
a function or just
a static field in here
and it will treat it
So you see,
transform element can
But now, let me
show you what
that looks like on
the schedule path side
to show you how to work
with hierarchical data
So this first element
is the HTTP action.
So if you recall
last release,
I showed you how to create
a brand new one directly
But this time,
I'm going to do
I'm going to show you
what it looks like to edit
Since HTTP calls
are external service
underneath the hood,
you have to go to Setup,
go to external
service, call out
that you're working
on, and you just
click on this Edit
HTTP call action.
And this will bring you
to the familiar screen
But the next thing is
where the new things
Before, you have to
use JSON, sample JSON
So you have to
paste it in,
then it will automatically
grab the data structure
out of the sample
JSON that you have.
But if you're not as good
working with JSON, then
you don't have to
do this anymore.
You just go to the
Connect for schema option,
click Next, and
just click Connect.
And what this is
doing is automatically
going to the web service
that this HTTP action is
hitting, and is
grabbing that response
and then automatically
creating this data
And this data
structure is what
I'm using if I go
back to this flow
and this transform source.
So this is the
same data structure
that you just
saw from before.
And all I'm doing
here is just
mapping the fields
to the product 2
So you'll see that
this is taking
the hierarchical data
shape, mapping it
into S object shape, so
you can use crud elements
Remember, transform
is still in beta,
but we're hoping that will
GA in the next release.
All right, now,
a reminder to all
of you tuning
in, please keep
I'm seeing a ton
of them come in,
so keep them coming
because now, we
have Q&A with all of our
amazing product managers.
So please ask
them right here
natively in the Salesforce
Plus chat and that Q&A
tab, or you can ask
them in the Trailblazer
Community, hashtag
Salesforce RRL,
as well as on Twitter
X, whatever name it is.
I'm never going to
get good at that.
All right, let's go
ahead and get to some
But before we get
to questions, Jen,
They are on
Salesforce Plus.
We're getting excitement
on the transform things.
People are saying it's
getting more powerful
All right, should we hit
Henry in the hot seat
All right, first
one for Henry.
Can you get a
static variable,
such as a text
variable into a target
object using transform,
such as passing
So the constant value
idea is going from object
So you can do that
if you want to.
OK, well, we're
going to keep on--
I'm going to see
how many puns--
Flow RRL is prone to puns.
And now, we're going to
transform that experience
All right, so
Henry, can you
use transform with
known integration use
cases, such as standard
and custom objects?
So yeah, transform,
it can handle
So internal data
shape with S object,
custom object, it
handles that very well.
And it can also
handle the external.
As you saw, like,
it'll list out
all the hierarchical
data shapes for you
so you can see what
that looks like.
And you can map between
hierarchical data
shape to hierarchical data
shape, or S object to S
object, or mix and match.
You can transform
everything.
All right, I will
stop at some point,
Jen, do you have
any questions?
Maggie wants to
know, can you
save data without
making a call out?
because you can't do
that in APEX currently.
Save the data
without call out,
I'm not sure
exactly what--
Save the data before
making a call out.
Save-- I guess,
save what kind?
Is it the test
connection data?
I think what
they're asking about
not the mixed DML, but
the dirty transaction
question of after
you make a call out,
you have to split the
transaction in order
to then do Salesforce DML.
Yeah, so the
call outs have
to be in async
or schedule path.
It can't be in
intermediate.
So actually,
all of that is
You can do a call out,
then do a transform,
Those are all in the
same transaction.
But yeah, so I
guess the rules
is no immediate path when
you're doing call outs.
And then also doing
them one after another.
So the kind of--
as Henry said,
that recommended pattern,
this is why I painted
my nails at Dreamforce
in that order, is you
do the actions and
the call outs first.
You do any logic
and information,
transformation you want
to do, and then you call--
you want to do your data
calls to the system.
And if you want to go
back to another call
and do another data,
that's I think,
And so the rule is you can
do DML after call outs,
but not call outs
after DML, right?
And by DML I mean, create
or update or delete
Hopefully, that
was the question.
I can't believe
that we got
a story about your
manicure from Dreamforce.
It's a good reminder for
people how this works.
So if that's not what
you're asking for, sorry.
Again, if your
question does not
get answered correctly
or you're like,
I need to try
again, maybe get
someone else to
answer it, go ahead
and post in the
Trailblazer Community.
We have experts
standing by,
expert moderators both in
the Salesforce Plus chat
and the Trailblazer
Community
to help answer
your questions.
Jen, do we have
any more excitement
to talk about that people
are posting about how
they're looking
forward to all
Mark Jones wants a Flow
mascot on the next RRL.
Just putting it out there.
Putting it out
there into--
Somebody, please send
us a stuffed squirrel.
We will send your tweet,
Salesforce Plus whatever
to somebody who has power.
Yeah, the Marketing team.
I'm not responsible
for stuffies.
They just follow
me around.
OK, Sam, I've got
a question for you.
The question is
from Christian
Anything coming up
for a screenflow
to create multiple
opportunity line items
and updating via tables
and related list?
I'm assuming this question
is asking for the ability
to edit a data
table in line,
and then take the results.
Yeah, so that we
are thinking about.
I don't think we have
a specific roadmap
But please, please
post on Idea Exchange
if there isn't already
an idea for this.
We'd love to see
this get voted up
because it is one
of the things we
And I know some
people think
we don't pay attention
to Idea Exchange,
Well, I think your team,
especially really does.
So please get
those votes in.
That really
does help us get
things prioritized that
we can't otherwise do.
One pro tip about
that, because this just
came up recently
when I was
looking at Idea Exchange.
If you want something
to improve Flow,
please use the category
Process Automation.
And I have occasionally
found a rogue Idea
Exchange item in
a different part,
And usually when
we're filtering
and we go in and
check, that's
the first box I check
when I'm looking at it.
We sometimes again, go
searching for something
But we're not able
to look at everything
So that's just
a pro tip for--
And please, please
give us your use case
inside so we know what
you're trying to do.
Process Automation,
and Idea Exchange,
That's the secret
to success.
Jen, you got
another question?
So process builders had
time-based scheduled
actions that were
evaluated when
the criteria changed,
but we don't have
Are we planning to
implement that in Flows
They also evaluate
on the criteria
that's in the start node.
So both Process Builder
has their scheduled
actions and workflow rules
has time-based triggers.
Based on customer
feedback,
there were things
people liked and scaled
better performance about
time-based triggers.
So if you're looking for
really nuanced specifics
of how those
were calculated,
we used a little bit
more from workflow rules.
But recalculating
the entry conditions
is absolutely happening
with scheduled paths.
All right, Henry,
I'm coming to you.
This is a question
from Philip
Will Flow ever
support map variables?
I think if map variable
as in using the ID
and be able to
get a record,
so like, hash map type of
way, we really want that.
We just haven't
prioritized it yet.
But yeah, so that's
super powerful.
We have in our
backlog, but you're not
going to see anytime
soon for now.
I would add that
I wouldn't expect
us to deliver a variable
type of map that
works just like how
it does in other tech
What we will be
looking at is what
is the problem that
that is solving,
and how can we
deliver that
in a way that makes sense
within flow builder?
So going back to
the use cases,
like understanding
why you need map
is critical for us to
build the right solution.
That is one of
the things that
comes up where we get
duplicate idea exchange.
Because you get somebody
coming from APEX,
and they know what they
want from APEX, right?
But we might have other
more novice users.
I feel like I find
it really hard
to deal with IDs, and
referencing them in Flow.
I think there's also
a category of users
who wouldn't know
to ask for map,
but would have
similar use cases.
So that's
something to think
about when structuring
that idea exchange
or looking for
those connections.
That's what we're doing
when we're searching, so.
Which is why we love
Flow so much because it
is like the interface and
brings the APEX first,
and the declarative
first people together
and able to build
amazing things.
Sorry, it's my happy flow.
All right, Jen, you
got another question?
So Peter wants to know if
we can get more styling
and branding
on Screen Flows
Oh, '90s are in right now.
I don't know.
'90s are back.
Yeah, '90s with Crocs
is the style right now.
Yes, so we are actively
interested in styling
I cannot give
you a roadmap,
but I would love to
honestly chat with
anybody who is interested
in styling and branding
about specifically
what you want.
We're just really
out of the box.
We're really tied to
how lightning applies
because we use all
the base components,
we use the design system.
My personal
thought on this
is, I want it to be a way
to apply a global theme
to a Flow and not
necessarily open up
the CSS on
every component.
But other people may
have different ideas.
So please definitely
reach out.
And I would love
to chat about that.
I mean, you know,
again, '90s are back.
Yeah, I don't know. '90s
fashion didn't work well
Sam, I've got another
question from you.
This is from Moorthy
on Salesforce Plus.
Is there a plan to make
rich text area input
components available
soon for screen flows?
Not soon, but it's on
our list of components
that we would want
to build long-term.
And for those of
you who don't know,
there is a rich
text input component
available on
unofficial SF, which
is a pretty
straightforward piece
I not everybody
can install those
But if you can,
it's available.
Any chance of
setting a variable
in an immediate action of
a record triggered flow
and having that variable
pass to the scheduled
That's a really
good idea and is
And I think
partially, it comes
from some of the
Process Builder things.
So one of the
things that we have,
I would say in
the medium term,
we want to do
it, but not sure
when would be to pass
things like prior record
and is changed information
to the async path
specifically because
that's happening right
So that change
is very fresh.
When we talk about passing
all the information,
that becomes much more
costly and expensive.
So what I would be
interested to hear is,
what are the other
things besides--
like, so we're
looking at, do
we want a generic
implementation of you
If you pass
everything, that
becomes kind of a storage
and performance problem.
Or are most of the use
cases for prior record
And if we could just
store that or store up
So that's all
for async path.
For scheduled, that's
very hard because then
that becomes a
piece of data
that could be
sitting stale
I mean, some of
these scheduled paths
are running once a year,
like on a renewal date
So we would
recommend finding
a place in your regular
Salesforce CRM data model
to store that information
because we don't really
have a mechanism in Flow.
Like, if I want to
store the number 5
and not have it change
for the next year
or whatever it is,
that's much better done
So again, we're looking
to make this easier,
these changeable
transient things,
but long-term on
a scheduled flow.
Custom object
or somewhere.
Henry, I think this
is a question for you.
This is from Shalini
on Salesforce Plus.
Are there any J-SON
size limitations
I'm not aware of that, but
we can get back to you.
I probably need to ask
my engineering team.
OK, well, Shalini
make sure you
ask your question on the
Trailblazer Community,
and Henry will help you
get the right answer.
All right, Jen, your turn.
The next one is
for Sam from Ash.
Is being able to make a
screen flow size bigger
being looked at? because
the pop-up screen
You assume this means
when you launch it
from a quick action,
and it pains us so much.
And we've been
in conversation
with the actions team
about this for a while,
and I'll have to double
check with them if it's
on their roadmap again
because a lot of things
shifted around
with the big push
But yeah, that is
totally on our radar.
We'll see what we
can make happen.
OK, we're going
to keep going.
You're getting a lot
of questions here.
This question is from
Mark on Salesforce Plus.
It's about repeaters,
because everyone's
There's a couple of
repeaters questions.
So, is the slow
repeater component
available for field
service mobile flows?
I'm sorry to say
that basically
any new innovation we
add to screen flows
is not going to be
available in the field
That is something that
belongs 100% to the field
So I don't actually
have any power
I mean, I'm going to
be a broken record,
Idea Exchange,
make sure they're
aware of the things
that you need that are
Advocate for
what you want.
All right, next
one is for Diana.
Is there a plan to add
upsert records action
We are laughing
because yes, there is,
and all three of us were
in a meeting a few months
ago debating exactly
what upsert meant,
with several
different colloquiums.
The basic answer
to that is yes.
Again, that's the kind of
thing where some use case
data would be
important, again
because we were debating.
We've heard some
different things.
So kind of I
would say, are you
looking for
upsert because you
want to save on
configuration because you
want to save on DML?
the more developer look
for it because of that,
or because you want
to do some more
complex comparisons
and calculations with
the existing data,
and then
potentially update,
And also, do you want it
with collections as well?
because that's kind of a
whole different ballgame.
So it is something we're
absolutely talking about.
But definitely this
is a great opportunity
to hear some of
those questions
because that's some of the
debates we've been having
I would say that's a
problem we are actively
thinking about this
year, safe harbor.
So you'll probably
see some stuff
in the next
release or two,
but solving like
segments of the problem.
So we really need to
understand exactly what
Yeah, I can only imagine
that conversation.
Well, we only have
a few minutes left
So I want to slightly
pivot a little bit
and talk a little bit
more about future.
What you're most
looking forward to?
I mean, you've already
talked a whole bunch
of some beta products,
some stuff that's
But as you look forward
to what's next for Flow
with summer and beyond,
what's one or two things
it makes you
proud and excited
Diana, I'm going
to start with you.
I'll have some
time to think
Well, I'm so excited about
the Screen Flow of stuff
I think the community
is excited about that as
I remember when I first
came here and built
my first screenflow,
sending Sam
all these questions,
and then also sending
Sam like some like, oh,
I understand your roadmap
now, because I just
seen the slides.
I was still learning
flow, and then I
had to build my
first screen flow.
I was like, I
believed you before,
but now I emotionally
feel the importance
So that is something that
I'm really excited about.
All right, I'm going to
be selfish and also say
I'm just really
excited about them.
We're really excited
to make screen flows
actually like a modern
dynamic experience.
So as you can
see, that's where
we're focusing as much of
our resources as possible
as we can with
reactivity, and then
bringing in
even more stuff
And just making
it so you don't
have to build as many
custom components
So hopefully,
you'll see us
starting to deliver
on that over time.
Well, you're going to
get a job evaluation
from everyone
who's doing it.
I think you're
going to do OK.
I'm going to
be selfish too.
So I think I'm really
excited about where
data transformation is
going in the automation
So you all seeing
all the capability
and like, standard
reporting,
operational
reporting, even
like Tableau and like
Salesforce Data Pipeline.
We don't have a lot of
those in automation,
so I'm really
excited to bring
all those capability
in, like, join, split,
all these type
of aggregation.
Now, we can actually
do it in Flow
so you don't have to
use code for that.
So yeah, I'm pretty
excited where
Bringing the power to
us declarative builders.
We're keeping
you in one place.
Yeah, I mean,
that's-- oh, yes.
This is-- the Flow
is my favorite.
I'm sorry, everybody else.
Thank you all so much
for joining us today.
Thank you for
putting together
And thank you
for all the work
that you and your teams
do to really enable people
to automate processes and
make their lives easier.
That's really kind of
what comes down to.
So I really
appreciate you.
And OK, I'm getting word
we're not wrapping up.
We're going to go for
another 10 minutes.
We're going to answer
some more questions, which
is wonderful,
because we do have
a lot of questions still.
We'll do a more
gratuitous thank you
All right, so we've
got a few more minutes.
Let's go ahead and
ask some questions.
Jen, what else have we
got in the queue there?
When can we get a Cancel
button in Screenflow?
Oh, that's a
great question.
Yeah, so sounds like you
want an explicit Cancel
button and not just
a way to handle
what happens
when a user just
I would love to
learn more about what
you expect to happen
when someone cancels.
Roll back all the things
that you just did,
every single
screen or not.
There's a lot
to think about.
As broken record
PM's talking
about Idea Exchange is
just something sounds
Like, I want to
cancel button.
And then we have 10
million questions for you
about all the
follow through
of exactly how you
expect that to work
So when you submit
an Idea Exchange,
you should be prepared
to talk a lot to you
about exactly what
that idea means.
Yeah, that's what
I'm hearing exactly.
So Jen, I want to actually
just kind of put you
on the spot for a second.
You are-- yeah,
sorry this happens.
Welcome to Aurora with me.
But I'm just
the social host.
Everybody knows
you're not.
So you are quite
the Flow expert,
and you're a Lead Admin
Evangelist on our team.
Can you talk a
little bit about--
I mean, all of this
innovation you've seen,
you've always been a
Flow evangelist even
before being
at Salesforce.
Like, just
contextually, can you
talk about what is this
moment like for someone
who is a
declarative builder
and really focused
on automation?
What are you
looking forward
to most for this
our admin audience,
just for builder
audience in general?
I mean, over the--
like, it just
keeps getting
better, right?
Better and better like
with each release.
Like, all the focus
around screen flows
Not having to
build five screens,
and you could limit
it down to a few
and have it be
reactive, being
able to do the
transformation
stuff that you couldn't
do before without having
Like, now, the power
is all in the admin.
Like, that is
just super cool.
Like, we don't need
that developer.
The developer
can just build
those nice little LWC
components elsewhere,
But we still
need developers.
We love them, but not to
do this specific task.
But the power of being
able to, as an admin,
do it myself and
put it out there.
OK, well, we're going
to put you back to work.
So you got more
questions for us?
Next one is for
Henry from Andrew
The roll up ability
and transform is great.
How does it know that you
are rolling up a field
And will there be other
functions enabled later,
like Max, Min,
average, et cetera?
Yeah, so the first
part, how do we know?
So the way we see
it is if you're
going from a collection
to a single value,
especially number
or currency,
then we know you're
trying to do aggregation.
So we'll give
you a list of all
the available things
that you can do.
The second
part, yes, we do
want to get to all
these other aggregation
functions like
what you just said,
like Min, Max,
average, even
split and other
things, or first.
Like, first in
the collection.
Like, there's a lot
that we want to do,
and we have a
whole list of them.
So it's coming,
but more to come.
All right, I
got a question.
Sam, we're coming back
to you about repeaters.
I don't think any
of these questions
are repeat questions,
but we'll find out.
This is from Ashley
on Salesforce Plus.
In the Review screen
after the repeater,
can you edit the
created items?
So the Review
screen that I built
is just another
screen that
has a data table
that is displaying
that beneficiary
collection.
That was the result
of the loop, right?
So that was
kind of separate
from the repeater
functionality.
So if we had inline
edit for data table,
we would be able to do
that right in place.
But in the way
that it's built,
if I didn't like the
allocations that I
had granted and I wanted
to change them to 70/30--
sorry, Henry, if I
wanted to change them,
I would click
Previous, and it
would take me back
to the screen that
And I could make my
change then, and then
go forward again
and reconfirm.
OK, so follow up
question to that
because you said inline
edit on data table.
That's what Aaron wants
to know is, are there
This is, in fact,
a repeat question.
Yeah, so inline
edit, all the stuff
with data table,
like we have
a good idea of basically
what the community wants.
We are trying to sneak in
data table enhancements
where we can amongst our
other big priorities.
But idea exchange,
idea exchange.
The more points we
have on those ideas,
the more we can
convince the powers
that be that yes, this
is a very important thing
to our community and it's
worth maybe interrupting
this other
priority, or like
carving out as much
space for it as possible.
I know Inline Edit is
one of the top things
Adam White's list
for next things
we should do
for data table.
And shout out to Adam for
being in the moderating
in the chat today
and answering
We see you, but we
don't see you, Adam.
Thank you for being there.
Yes, one for
Diana from Mark.
Will Flow support
both have dates?
I would love that so much.
It's an idea that's
been floated a lot.
It's one that I haven't--
I've had very
cursory conversations
with engineers,
but I'm still not
sure if that's very easy
to do or very hard to do.
So, I mean, in places
that support formulas,
you can do a lot of
date manipulation.
But in some places,
that's not available.
Like, an entry
condition, scheduled
But it's hard to
introduce formulas
to there without
introducing
So we're going a little
bit around the merry go
We would really
like to do that
in maybe a more
limited set of things
that we're able
to deliver there.
But I think, yeah,
we'd love that.
I'm guessing
it's specifically
around entry conditions
and scheduled
flows and things
like that where
But if there's
other places,
I think it would be useful
everywhere honestly,
but that's the place where
it's really a blocker
Yeah, you smiled
a lot when
Is that really from--
was that really
from the Community
or is that from you?
I think I accidentally
[INAUDIBLE]..
Yeah, we asked a ton
of questions on RL.
I remember being
like another question
I was like on Twitter,
here's a question.
You're in the
driver's seat.
They we're all
great questions.
Well, speaking of
great questions,
we have time
for a few more.
Sam, I think
this is for you.
This is definitely
for you.
It's about repeaters
again from Johannes
Will the repeater be
able to pre-fill fields
with data from the
last, i.e. lowest entry?
I think you kind of
hinted at this earlier
So I guess I'll
say two things.
When you're going
backwards and forwards
in your Flow, and
there's a repeater,
like, if going back to
what we talked about,
like, I enter
Diana and Henry
I see the reviewed
data table.
When I go back,
I will see what
We are still
retaining the values
when you return
to a screen
where you had entered
some information.
So what you see should
be exactly what was there
the last time you were
looking at that screen.
and you can pre-fill
with what I would
So if I was
doing something
like a repeater
for creating cases,
and there's a
status picklist,
and I want it to
be new by default
for every instance,
you can do that today.
But what you can't do is
like, I have an existing
policy, and I want
to update my existing
And so when I open up the
Flow for the first time,
then I see, oh, I
have these three
beneficiaries, and I
want to add another one
and change the
allocations, that's
the part that we want to
address after we go GA.
So our general approach
to the repeater roadmap
is we want to get
everything working
for the Create
use case first,
get all the
components supported,
get all the screen
features supported
of reactivity,
conditional visibility,
validation, help
text within the child
components of
the repeater.
And that's our GA target.
And then once we
get through that,
we are going to
try to address
OK, well, we are
officially now
going to wrap
unless they tell me,
But thank you both
so much-- both,
four of you. for
joining us today.
I really appreciate
your expertise,
all the work
your teams do.
And Jen, thank you
for joining me.
It's been so much fun to
have you up here sitting
Like, this is
really your show.
So it's really
wonderful to have you
And thank you to all
of you who've tuned in.
Now, I know there's plenty
of questions we did not
get a chance to
answer, ask them
in the Trailblazer
Community.
That is where we will
be able to get experts
like our amazing
panelists and our product
managers in there to help
answer your questions.
Thank you to our online
moderators answering
And we've covered a
lot in Spring '24.
But guess what,
there's more.
So tomorrow, we will
be back with the Admin
Admin starts at 9:00 AM
PT, and Developer starts
With that, I hope
you have a great day,
and we'll catch you
next time in the cloud.