Today we're building a powerful AI chatbot in
Microsoft Co -Pilot Studio. We call it Falcon
Checking... Whoa! That's a dangerous chatbot.
And we're placing it on the bank's website, but
you can apply this concept to any business. This
video is broken down into three sections. One,
we're going to review the scenario. Two, we're
going to demo the chatbot. And three, we're going
to show you how it was built. My name is Shervin
Shafi and I'm a Principal Engineer at Microsoft.
Welcome to Collaboration Simplified. Okay so
here's a scenario. There's a bank called Hotchotec
and they have a legacy chatbot on their website
but they're interested in the next generation
chatbot powered by Copilot AI. They want it to
be easy to build and also easy to use for their
end users. So what we did was we built them Falcon
Checking using Microsoft Copilot Studio and the
latest concepts like multi -agent orchestration
where you can have parent and child agents. So
we created child agents for balance, transfer,
branch, and lost cart. You'll see all this in
the demo and the build. And we also created custom
connectors for data using PowerApps, but these
are available as tools inside Copilot Studio.
Now, let me try to answer this question of, is
this chatbot good enough to replace live agents?
It's a very difficult question to answer. I'll
give you my take, and I would also love to hear
what your perspective is after you all see the
demo and the build. My thinking is that now with
GenAI, You can do a lot of reasoning and analysis,
whereas before the programming logic was a lot
more static. So we're good on that side. And
I think it's just a matter of creating an agent
or a chatbot that has access to all the information
data sources so that it can reason over it. As
long as you're able to give it all that data
source information, you're probably going to
have less and less scenarios where you're going
to have to escalate to a live agent. So you probably
can't completely eliminate live agents, but you
can probably reduce the number of requests that
get escalated to live agents. That's my take.
I'd love to hear your perspective after you see
the demo. I'm a customer, right? And I like to
get in touch with my bank. And all I do is we're
going to the website. I open this bubble here
that says chat with Falcon Check -ins and I get
a greeting for my agent. Hi, I'm Falcon Check
-ins, your smart banking assistant. No calls,
no tickets, no waiting in line. I want to start
with what's the balance of my account? The answer
from my agent is, okay. Which account would you
like to check the balance for? Your options are
check -in, savings, mortgage, or credit card.
Okay, I just want to see the check -in's account.
I'm going to get a response. That's my balance.
I kind of need to save a little bit more money.
And I said, you know what? What about my savings
account? Let's just continue with the same context
here. The response came back. Your savings account
balance is $2 ,000, $2 ,500. Let's say you're
going back here. You lost your car. It was stolen
or whatever. You don't want to call the call
center. I lost my car. Okay, let's select the
account for which your car has been lost or stolen,
my credit card. It froze my account as of right
now. And here are your recent transactions. Also
showed me which transactions have happened. recently
for this particular car. And I say, I didn't
make the last two. That says your credit card
has been frozen and dispute have been raised
for the last two transactions. You did not recognize
a member of the dispute team will contact you
within seven days. Let's do another one here.
I want to transfer some money. Then it says,
please provide the following details for the
transfer. The account to transfer funds from,
the account to transfer funds to, and the amount
to transfer. And I'm going to say, from my checking
account, please provide the account to transfer
to my savings account, move $50. Actually, I
think that's not what I want. So I'm going to
go back and say, actually, make it $10 ,000 to
my mortgage account instead. So yeah, let's switch
the intention here. Your checking account balance
is $563 ,000, which is insufficient to translate
$10 ,000 to your mortgage account. Please choose
a different amount or account. And I said, oops,
sorry. I meant to say at $100 ,000. And is there
a cash machine in Southport? two questions, two
asks, one sentence, multitask. The transfer of
100 from your checking account to your mortgage
account has been successfully completed and will
be posted on September 3rd. It came back with
the response of, oh, you can find cash machines
and software at this specific location. Again,
multitask, contextual understanding, all within
the same response. Yes, looks good, and we're
good to go. That's kind of a very, very brief
use case of multi -questions, multiple task questions,
dynamically intelligent orchestration. Let me
walk you through how all this can be done without
running a line of code. on Studio. So here we
are in Compact Studio. Here's my Falcon Shankies.
This is my orchestrator. This is the customer
facing agent. I have a description for my agent.
I have enabled the orchestration to determine
which, how to best response to my users and events.
So I have that enabled as well. I have the base
model as GPT -4 .0. I have instructions. Your
name is Falcon. You assist retail banking customers
by providing account bounce information, facilitating
fund transfers, making payments, et cetera, et
cetera. So this is the... very basic instructions
i have knowledge sources like branches and halifax
i have what search enabled to enhance the responses
and then i have tools right we'll walk you through
all these tools and then we have all the agents
these are child ages like remember i mentioned
before we have the master agent is falcon and
falcon dynamically will call child agents to
get things done. Let's talk about tools. These
tools are basically custom connectors. We offer
about, I think, 1 ,800 or even more out -of -the
-box connectors to different systems, CRM, Salesforce,
ServiceNow, you name it. But if your endpoint,
your particular system is a database, there's
no out -of -the -box connector, you can build
your own connectors. It's basically a custom
connector. And we have multiple here. So let
me show you one example here. So for example,
I want to freeze an account, right? There is
an action or a tool that needs to be created
in my Falcon check -ins to get things done. So
I'm going to open that action or tool. The details
of the freezing account, this is what the tool
is going to do. This is a tool with all the user
to freezer account. Here's the tool. Here's the
connection. I'll walk you through how that connection
was made in Power Platform. This is just a tool
that will go and freeze the account. And there's
an actual API that runs behind the scenes, and
I will show you that. If I show you another example
of another tool, the Get User Profile. The Get
User Profile tool will pull the username and
your authentication piece so it can go into this
agent, Falcon Check -ins. and get your user data.
So tools are basically custom connectors. Is
that simple? If I show you that in the Power
Apps, we kind of created a banking API custom
connector to my customer database. This is what
we did here. So if I go and edit here, I'm going
to walk you through the name. This is basically
a platform or database running in a serverless
function in Azure. This can be anything, actually
anything in your systems today. Here's the definitions.
All those endpoints that you see here are actually
definitions or endpoints that I created in this
connector. So for example, the dispute transaction
is an endpoint to dispute a specific transaction.
This is a tool that would allow the users to
dispute a specific transaction. Here's the API
request, and this is the entries that I need
to provide to get that executed. So it's an API
call to my database using these variables to
block or dispute a transaction. Then I have this
child agents. Every time I ask for a balance,
every time I ask for information about a branch,
my card was telling how to transfer funds, Falcon
check -ins, the orchestrator will call individually
this agents to get those things done. So if example,
I show you the balance agent, it's a child agent,
right? I'm going to open this and here I get
a name. I have a description. as well this is
the instructions like remember we talk about
this like there's benefits for it and for the
end user actually it don't have to write code
right you can use natural language instructions
and say when when falcon check is the orchestrator
will call the balance agent well based on this
um if there's a balance question if there's any
information about what's my balance here or there
falcon will call balance agent And the balance
agent will do this, will fetch the user profile
on their accounts using the get user profile
tool. Get user profile tool. It's right here,
right? Right. And so I'm actually telling my
child balance agent, use this tool that I already
provided to you to get this done. Then if you
don't already know, ask the user which account
they want to check the balance for. Remember
that case when I asked a question, what's my
balance in Copilot? My agent came back with which
account you want. If it's checking, if it's saving,
it's right here. It's this instruction. And then
finally, use this tool, get balance information
to get the balance of the account the user chose
and tell them the balance. So I'm pointing here
different tools. And if I actually, let me show
you this. Let me see if we can do this here.
If I do here and I do forward slash and the instructions,
it will offer me all the tools that I have that
I can call out from. my agent instruction box.
So I can be very descriptive on how I want you
to behave. Balance agent uses tools that I provided
to you. And then the startup repeats with the
rest of the agents as well. So you have basically
this kind of master agent, which is Falcon checking.
You have four child agents. Each of these agents
has. instructions and the instructions using
the slash command you reference different tools
and the tools are built in uh power platform
that you showed as custom connectors so it's
kind of like a hierarchy of different things
that come into play to kind of create this end
user experience that you demoed right right so
if i asked what's the balance of my account now
studio is going to switch the screen into the
actual activity map And it will show me that
Falcon called the balance agent because I asked
for balance. And the balance agent is going to
call the get user profile tool. OK, because the
I told balance agent through instructions to
pull information from the customer using this
particular tool. So it's coming back with this
information. And I say, I want my check. So now
that I said that, I want my checking account,
please. And this is the actual call to the API,
get balance information. Now it's switched from
get user profile. I enter the name of the account
that I want, and now it's actually going and
get the balance information tool. So the balance
agent first called the get user profile, okay,
to pull the information about the different accounts
that I have under my name, and finally said,
okay, now that I know the account that you want,
because I said I want the check -ins account.
balance agent called the balance information
tool to give me the actual. balance. So this
all happens behind the scenes, fucking check
-ins, call balance agent. I think a lot of times
people have a tough time visualizing what can
be done with all these different tools Microsoft
has, because again, I kind of look at it as like,
we give all these Lego pieces to customers and
we're like, build your own experience. And you've
just kind of shown us the art of the possible.
Wanted to thank you again, because every single
time you come on here, you're showing some really
excellent use case. Thank you. Appreciate it.
You're welcome. Thank you. Thanks.