June 3, 2025

Episode 422: The Future of AI in Business Central: Balancing between Automation and Human Oversight

In this episode of the Dynamics Corner Podcast, Kris and Brad speak with Søren Friis Alexandersen to discuss the Payables Agent in Microsoft Dynamics 365 Business Central and its role in automating invoice processing. They emphasize the importance of human oversight in AI decision-making and address the challenges of building trust in AI systems. The conversation underscores the importance of clear documentation to ensure effective policy implementation. By leveraging historical data and balancing coding with natural language, they outline how AI can enhance compliance and accounting practices. Additionally, they explore the importance of experimentation and contextual awareness to improve the effectiveness of AI agents. Ultimately, they argue that the future lies in the thoughtful integration of AI while ensuring that humans remain involved for accountability and transparency.

Send us a text

Support the show

#MSDyn365BC #BusinessCentral #BC #DynamicsCorner

Follow Kris and Brad for more content:
https://matalino.io/bio
https://bprendergast.bio.link/

00:00 - Episode Introduction and Casual Beginnings

06:05 - Introducing Soren from Microsoft

12:11 - Understanding the Payables Agent

20:09 - Human in the Loop and Trust

32:17 - Policies and Accounting Knowledge

43:08 - How Agents Work with UI

54:34 - Agent Landscape and Hierarchy

01:07:25 - Current State and Future Plans

01:24:54 - Episode Closing

WEBVTT

00:00:00.541 --> 00:00:07.870
Welcome to another episode of Dynamics Corner Agentic, trying to figure that out what it means to you.

00:00:07.870 --> 00:00:09.125
I'm your co-host, chris.

00:00:10.141 --> 00:00:10.881
And this is Brad.

00:00:10.881 --> 00:00:14.891
This episode was recorded on April 23rd 2025.

00:00:14.891 --> 00:00:20.591
Chris, Chris, Chris, I liked to hear you play the, what you call the ukulele.

00:00:20.591 --> 00:00:21.504
I call it ukulele.

00:00:22.500 --> 00:00:22.681
Ukulele.

00:00:22.681 --> 00:00:25.170
It doesn't matter, it doesn't matter, it doesn't matter.

00:00:25.170 --> 00:00:26.524
I've always wanted to hear you play.

00:00:26.524 --> 00:00:28.643
I know you have it, you play it, so we have to figure out.

00:00:28.643 --> 00:00:33.091
One of these times I want you to maybe get a secondary mic or something so you can play it and hear it too.

00:00:33.091 --> 00:00:35.167
But you mentioned agents.

00:00:35.167 --> 00:00:37.079
There's a lot of agents in this world.

00:00:37.079 --> 00:00:45.601
There's travel agents, there's sales agents, there's even AI agents.

00:00:45.601 --> 00:00:53.042
I'm not certain if you've heard of them, but today we did have the opportunity to talk a lot about the payables agents within Business Central and what goes behind it, what its features and intended would be With us.

00:00:53.042 --> 00:00:54.523
Today we had the opportunity to speak with.

00:00:54.523 --> 00:01:12.275
Good afternoon sir.

00:01:12.275 --> 00:01:12.796
How are you doing?

00:01:12.796 --> 00:01:14.197
Hello, nice to see you again.

00:01:16.200 --> 00:01:17.243
Good afternoon, good morning.

00:01:17.243 --> 00:01:20.765
Good morning Is sound coming through, okay.

00:01:21.840 --> 00:01:23.447
The sound is coming through amazingly well.

00:01:23.447 --> 00:01:24.483
That sounds amazing.

00:01:24.483 --> 00:01:26.075
And I'm always fascinated by your backgrounds is coming through amazingly well.

00:01:26.075 --> 00:01:29.445
That sounds amazing, and I'm always fascinated by your backgrounds with the guitars as well.

00:01:29.445 --> 00:01:50.734
Well, you gotta play with uh, play on every string you got right Like yeah you know, with so much going on, I always, I often wish that I played an instrument, but I don't have, or I don't want to say that I don't have the time, because time is what you choose to do with it, in my opinion.

00:01:51.299 --> 00:01:54.310
So it's you can still prioritize other things over.

00:01:55.141 --> 00:01:56.808
I want to play the piano or something.

00:01:57.521 --> 00:01:58.003
I think piano.

00:01:58.921 --> 00:02:00.560
I really enjoy piano music.

00:02:00.560 --> 00:02:08.731
When my daughter was growing up, she played piano and we had a piano in the house and that is probably the one thing that could occur that didn't annoy me.

00:02:08.731 --> 00:02:10.867
Oh, one of the one things that occurred that couldn't annoy me.

00:02:10.867 --> 00:02:16.310
Annoy me because she could play at any time and just hearing the piano music is soothing.

00:02:18.002 --> 00:02:27.932
And I contemplated just See, right, you got to do like a string instrument, then you could just learn four chords and then you can probably play quite a bit.

00:02:29.580 --> 00:02:45.435
I think I'm scarred because when I was a young boy I tried to learn to play the viola and I am left handed and back when I was young they didn't have a lot of left handed devices for anything, for sports, for instruments.

00:02:45.435 --> 00:03:00.173
The instruction didn't go too well because they were trying to teach me to play right-handed when I was holding it left-handed, so the viola was upside down in a sense, so it just didn't work out too well.

00:03:01.967 --> 00:03:03.491
If I could switch one instrument.

00:03:03.491 --> 00:03:14.664
I've often thought if I could choose any other instrument and be equally good at that instrument just by clicking a switch and trade off the guitar or something else, I'd go for the saxophone.

00:03:14.664 --> 00:03:20.028
I don't know Something in the saxophone, that's just amazing.

00:03:20.028 --> 00:03:21.752
Play some blues.

00:03:21.752 --> 00:03:25.370
Yeah, it's always amazing.

00:03:25.370 --> 00:03:28.507
I'm not complaining, I'm not.

00:03:30.203 --> 00:03:31.532
No, it's this.

00:03:31.532 --> 00:03:32.903
I'm finding more.

00:03:32.903 --> 00:03:34.643
I don't know if you get to a certain point.

00:03:34.643 --> 00:03:41.633
There's so much available to do in life and I want to do it all and it's very difficult to choose.

00:03:41.633 --> 00:03:51.430
Where do I focus my time so that I can get the enjoyment enjoyment even though I'd like to do everything I need to hang my stuff because I have them right.

00:03:52.832 --> 00:03:55.658
Oh wow, I got my ukuleles.

00:03:55.658 --> 00:04:05.293
I got a bunch of them right on the floor and I should be getting them off the floor well, maybe we could have you do a jam out session, chris, before we we finish.

00:04:05.754 --> 00:04:06.960
Uh yeah, the conversation.

00:04:06.960 --> 00:04:10.027
How are things going in denmark?

00:04:10.027 --> 00:04:15.706
The weather must be breaking garden getting ready yes, uh, amazing garden days.

00:04:16.148 --> 00:04:18.372
Today, a few days ago had a bit of rain.

00:04:18.372 --> 00:04:19.533
So april is always.

00:04:19.533 --> 00:04:22.827
April is always, uh, a bit of everything.

00:04:22.827 --> 00:04:29.069
I mean you can ever everything from almost summer like, and then you can have everything from almost summer-like, and then you can have almost winter-like some days.

00:04:29.069 --> 00:04:38.725
In a few weeks it'll be more stable, but today, which happens to be my birthday, happy birthday.

00:04:40.089 --> 00:04:40.851
Happy birthday.

00:04:40.851 --> 00:04:43.639
It will be a little bit delayed when we play this, but happy birthday.

00:04:43.839 --> 00:04:48.252
I hope that you have a great day to get to celebrate and enjoy.

00:04:49.259 --> 00:04:50.345
Yes, I was thinking of you.

00:04:50.345 --> 00:04:56.112
The other day I went to what I call the farm store and I'm toying with chickens again.

00:04:56.112 --> 00:05:03.432
No, a real farm like a farm supply store and we're a little bit late for where I am right now for chicks.

00:05:03.432 --> 00:05:08.004
But I was looking to see about getting chicks again because I had chickens for a long period of time.

00:05:08.004 --> 00:05:13.086
But I was thinking of you with the farming and how chickens would be great in your backyard there.

00:05:14.341 --> 00:05:24.045
I would love to and we definitely want to Maybe not this year, but I'm thinking next year we'll do it and see how it goes.

00:05:24.528 --> 00:05:25.153
Oh, that's excellent.

00:05:25.153 --> 00:05:25.576
That's one.

00:05:25.576 --> 00:05:32.423
That's probably one of the things that I can point back in my life that I say I enjoyed the most was when I had the chicken, so I think you'll enjoy it.

00:05:32.423 --> 00:05:49.629
It's, um, and I even raised some uh the chickens uh fertilize the rooster fertilized, uh, some of the eggs and one of the chickens decided to sit on them, so I was able to raise chicks, a a few chicks, which was interesting to watch, but I don't think we got together to talk about farming.

00:05:49.629 --> 00:05:51.226
We'll save that for another conversation.

00:05:51.540 --> 00:05:54.790
But before we jump into the conversation, would you mind telling us a little bit about yourself?

00:05:56.139 --> 00:05:58.648
Yeah, so great to speak to you guys again.

00:05:58.648 --> 00:06:31.098
So my name is Soren, I'm a product manager in the Business Central engineering team and the resource development team, if you will, based out of Copenhagen, denmark, or just north of Copenhagen, a small town called Lingby, and I've been with Microsoft for nine years and some months now, almost all of them minus one and a half years in the Business Central team, almost all of them minus one and a half years in the business team Before that in Microsoft Denmark in the sales organization as an account technology strategist.

00:06:31.098 --> 00:06:34.269
So I have sort of a broad IT background.

00:06:34.269 --> 00:07:05.495
I've been in IT the last 28 years, so quite a few ER, you know P systems under my belt started with Concord, xal, c5, then the whole Navision Damguard thing happened and, yeah, through, my first meeting with Nav was with Nav 5, or that was no 4, sorry my introduction.

00:07:05.495 --> 00:07:14.850
Then I had a few touch points with some early versions, but then everything from Nav 5 and upwards I've been working with end customers.

00:07:16.824 --> 00:07:24.564
I was self-employed, had a small partner business before joining Microsoft where I was sort of 80% engineer, 20% everything else.

00:07:24.564 --> 00:07:26.208
As you are, you're self-employed.

00:07:26.208 --> 00:08:18.271
Oh yeah, yes, speaking of time to do everything, mostly doing back then when I was self-employed, mostly doing web services integration from NAV to and from something else on the other side, joined Microsoft part of the sales organization one and a half years and then, yeah, eight years now-ish in the BC team, first doing localizations, rolling out BC to many countries and then switching to some onboarding five years ago now and did that until almost a year ago and then since about a year ago, everything now says AI, so taking over the finance area of BC since last fall and working on the payables agent.

00:08:20.411 --> 00:08:21.420
The payables agent.

00:08:21.420 --> 00:08:26.271
That opens up a whole conversation for me.

00:08:26.271 --> 00:08:29.526
With the payables agent we were all at directions.

00:08:29.526 --> 00:08:41.951
We had the opportunity to speak, we saw the keynote presentations on the sales order agent and there were other discussions on the agents and you also had a session on the payables agent.

00:08:41.951 --> 00:08:45.841
If you would, before I jump into it, I remember some of those names.

00:08:45.841 --> 00:08:53.105
Over at Microsoft, do they have a shrine to all the old versions of Navision where you go back from Navision 1?

00:08:53.105 --> 00:08:59.182
Like an install kit or something on the wall where you have all of the installed media?

00:09:00.644 --> 00:09:01.166
I don't know.

00:09:01.166 --> 00:09:10.351
We have the physical media like the DVDs and stuff and discs, but we probably have all the artifacts on some shared drive somewhere.

00:09:10.351 --> 00:09:27.634
But you could say that so many people in the BC team have been here for so long that the shrine is sort of made up of real people that have just been with the team since back in the day, right.

00:09:27.634 --> 00:09:38.440
So we have people who have been with the team like plus 20 years, like who remember you know stuff way back from the you know terminal-based client, even stuff like that.

00:09:38.440 --> 00:09:40.528
I mean, you'd be amazed, yeah.

00:09:41.520 --> 00:09:46.115
No, definitely it's amazing and as you're talking through it, it just it's, it's.

00:09:46.115 --> 00:09:51.169
It spans quite a bit of time, but it doesn't feel like a long time.

00:09:51.169 --> 00:09:55.287
It feels like a lot of this was just yesterday it's.

00:09:55.628 --> 00:09:56.870
I just had that discussion.

00:09:56.870 --> 00:09:59.217
It does feel like yesterday and it does.

00:09:59.217 --> 00:10:31.548
It's also amazing that you can like imagine bc now running in the cloud in this super complex infrastructure and services, global scale, hyperscale cloud, on a system that was, or at least inherited from a system that was basically built like 30, 40 years ago almost, but at least from a functionality perspective there's still remnants from that time and it just goes to show that some business processes don't change that much.

00:10:31.548 --> 00:10:35.350
Like core finance is still sort of core finance to a large degree.

00:10:35.350 --> 00:10:52.892
Of course there's some stuff you want to do and stuff you want to improve in your businesses, but to the core, we've been moving products around like as businesses more, or to the core, we've been moving products around like as businesses more or less the same way, uh, for the last I don't know many decades.

00:10:52.892 --> 00:10:55.663
Uh, it is, and I think that when I think a gl.

00:10:55.744 --> 00:11:11.447
when I think a gl entry, sales and receivable setup, purchase and payable setup, inventory setup, posting groups, like a lot of that stuff has been there, to me it feels like the beginning, but I can't wait to speak to you.

00:11:11.447 --> 00:11:14.269
We'll walk down memory lane the next time we have a conversation.

00:11:14.269 --> 00:11:17.725
The Pables agent, if you would.

00:11:17.725 --> 00:11:20.953
The whole world is talking about agents every day.

00:11:20.953 --> 00:11:25.090
I don't think I can go without shutting everything off.

00:11:25.090 --> 00:11:34.413
I don't think in the world that you can go an hour without hearing about something AI or agent related and the payables agents you have been working with.

00:11:34.413 --> 00:11:36.181
Would you mind telling us a little bit about the payables agent?

00:11:37.043 --> 00:11:38.144
Yeah, no sure.

00:11:38.144 --> 00:12:03.596
So, speaking of things that haven't changed in decades, companies have received invoices from vendors, like since you know or like all the time, and that process, like receiving and processing vendor invoices, has always been sort of prone to automation.

00:12:03.596 --> 00:12:22.591
We've been, you know, companies have been trying to automate that for decades, all the way back to the 60s with EDI started and, you know, as internet connectivity got better and various ways to get data into systems, out of systems, improved integrations, access points, what have you.

00:12:22.591 --> 00:12:38.908
So there's been sort of a push to automate that process for many decades, but it's always hit a roadblock when it hit that last thing where now someone needs to actually process this invoice and recognize what it is.

00:12:38.908 --> 00:12:52.293
It's been very mechanical and if you received an invoice that was based on, you had mapped up some of the information or the invoice to your GL accounts or to your items or things of that nature.

00:12:52.293 --> 00:13:02.059
Of course you've had OCR, optical character recognition, for quite some time, but still that helped you with getting the data into a sort of machine-readable format.

00:13:02.059 --> 00:13:05.312
But after that, what was actually on the invoice?

00:13:05.312 --> 00:13:07.419
Like having a system that could recognize.

00:13:07.419 --> 00:13:09.866
What is this even all about?

00:13:09.866 --> 00:13:13.107
What is this invoice about, without having to map anything and set anything up.

00:13:13.581 --> 00:13:14.625
That's been the hard thing.

00:13:14.625 --> 00:13:35.365
That's really where the Payables agent brings something new, which is we believe that not only can the agent get all the data in from your invoices and we'll be starting with normal PDF invoices but the agent will be able to recognize, from an accounting perspective, what's going on on the invoice.

00:13:35.365 --> 00:13:47.253
Is this a subscription that we've prepaid and thereby you need to defer the expense, or is this some other expense that we have?

00:13:47.253 --> 00:14:00.695
Something that's in our policy that says we need to post a certain way or so all that accounting knowledge, if you will, we imagine the ABLE will be able to acquire and utilize.

00:14:00.695 --> 00:14:15.787
So basically helping the accounting professional with doing that last mile registration of the invoice, if you will, and in time, also purchase order matching and sort of, in a sort of next phase.

00:14:15.787 --> 00:14:24.849
But that accounting knowledge piece has been the missing thing, the hard thing to do until now, until now with LLMs, basically.

00:14:24.849 --> 00:14:28.543
So we think we can make that work.

00:14:28.543 --> 00:14:32.416
That's what we're trying to do right now as we speak.

00:14:32.416 --> 00:14:47.527
So we're building the agent right now and focusing first on getting the PDF sourced, so from an email account or from a SharePoint or OneDrive folder where you might want to place your invoices, or from a SharePoint or OneDrive folder where you might want to place your invoices, or from an email account.

00:14:47.567 --> 00:14:48.307
Like a trip scenario.

00:14:48.307 --> 00:14:53.312
You forward or you get an email with an invoice from a vendor, or an employee forwards an invoice.

00:14:53.312 --> 00:15:14.389
We import that into what we call e-documents in BC and then the agent takes over and starts looking at the invoice and sees, based on a handful of different ways of processing this invoice, it tries to look at how did we previously handle this invoice?

00:15:14.389 --> 00:15:21.687
What does my purchase history say in terms of how to post it, how to register it, basically how to code up the lines for the invoices?

00:15:21.687 --> 00:15:27.147
Do we have a policy in place?

00:15:27.147 --> 00:15:31.448
Maybe you have a Word document, pdf document, that describes your accounting policy.

00:15:31.448 --> 00:15:39.091
When we post rent for the warehouse, how should that line look like?

00:15:39.091 --> 00:15:41.847
Is there a certain dimension that should be added?

00:15:41.847 --> 00:15:56.231
If you buy software licenses, does that need an allocation account to be split up against, you know, based on multiple deal accounts or dimensions or things of that nature.

00:15:56.231 --> 00:16:05.429
All of these things we're trying to look at in sort of combination and figure out sort of what is the best predictor for how should this invoice be handled.

00:16:05.429 --> 00:16:13.260
So that's really the idea and hopefully that will work out so smooth that you can be basically hands-off.

00:16:14.043 --> 00:16:19.640
Of course there'll be some corner cases that are that are hard for the agent to sort of say.

00:16:19.640 --> 00:16:29.989
You know, for example, let's say you've been doing it a certain way, posting rent for the warehouse a certain way for the last 10 months, but now suddenly last month you did it differently.

00:16:29.989 --> 00:16:31.865
Now what's the right answer?

00:16:31.865 --> 00:16:39.559
Is it what you did last month or does the 10 preceding months weigh more heavily?

00:16:39.559 --> 00:16:45.782
And so probably that's a human-in-the-loop moment where you want to say okay and you know.

00:16:45.782 --> 00:16:54.383
So probably that's a human in the loop moment where you want to say okay, the agent can't do a confident enough, uh, can't see confidence enough decision, so probably we need to involve a human.

00:16:54.383 --> 00:16:57.533
So human in the loop is a sort of a core concept.

00:16:57.533 --> 00:17:04.170
Um, and everything that is agents, it's built around human intervention, if you it is.

00:17:04.270 --> 00:17:08.920
I think of this when I hear the agents and get more familiar with agents.

00:17:08.940 --> 00:17:09.481
It's not just.

00:17:09.561 --> 00:17:47.424
It seems like it's the agentification I always stumble when I say that Agentification of the world, because everyone talks about agents to do specific tasks and listening to your explanation, it almost you start to equate to how people work in a sense, because if you have an agent that's responsible for receiving an invoice, taking that invoice or a document invoice of some sort, taking that invoice and then creating a purchase invoice within Business Central and then processing it according to some rules, you're in a scenario where, well, now we have a difference.

00:17:48.407 --> 00:17:49.611
What do we happen in a difference?

00:17:49.611 --> 00:18:06.981
It could even be the same case when you have a person doing that same or a human doing that same task that they may need to go speak to their supervisor, or they may need to speak to someone else to ensure accuracy of it, or there may be limits that you can put into place.

00:18:06.981 --> 00:18:17.826
Where you say the human and loop, I'm glad you explained that because that's also another term that I've been hearing quite frequently in conversations, I think more so in the business central community versus outside.

00:18:17.826 --> 00:18:23.105
But what the human and loop means is, in essence where humans get involved.

00:18:23.105 --> 00:18:34.519
If I'm'm correct, humans get involved into the operation to validate, confirm or be involved in a process or a transaction.

00:18:36.501 --> 00:18:54.060
Yes, and when it comes to human in the loop, it's it's super important that there's a it's very clear to the user or users or team or company when is an agent expected to do something and when is a human expected to do something.

00:18:54.060 --> 00:19:03.169
So there needs to be a very clear handoff, if you will, between well, the agent is now running with the ball, but gets stuck, and now it needs to involve a human.

00:19:03.169 --> 00:19:07.044
So we've designed with the ball but gets stuck, and now it needs to involve a human.

00:19:07.044 --> 00:19:27.544
So we've designed, as you've maybe seen, we've designed this agent sidecar on the right side, where there's this timeline, but the agent will describe anything that it's done in the process and the end-to-end flow, basically, and then the human will be brought in and will have a task to do if something is uncertain, if the agent cannot continue, or if you've opted in to be in the loop in a certain place.

00:19:27.544 --> 00:19:46.431
So human in the loop will definitely be like there will be configurable human in the loop moments where you can decide oh, I always want to be in the loop when the vendor is not a good match for what we have in our system, or the bank account doesn't match, or whatever, or there's an anomaly with the amount.

00:19:46.431 --> 00:19:49.730
It's suddenly twice as high as it used to be, things of that nature.

00:19:49.730 --> 00:20:06.048
But you want to maybe configure that yourself, or maybe you want to in the beginning to have low autonomy or be brought into the loop more until you feel comfortable with the agent taking some of those decisions by itself, and then you dial up the autonomy as you sort of go forward.

00:20:06.048 --> 00:20:13.868
But there will also be other human-in-the-loop moments where we will decide well, there will be human-in-the-loop when X happens, for example.

00:20:13.868 --> 00:20:22.931
That might be if it's sort of more risk situations or where the agent simply cannot just make a decision.

00:20:22.931 --> 00:20:32.506
And how will the agent know when to make a good decision and I think that's a concept that we're working on is what is that confidence level?

00:20:32.759 --> 00:20:36.961
So, as I mentioned before, let's say you had the purchase history, you had the policy you had.

00:20:36.961 --> 00:20:39.213
What if the agent suggests something?

00:20:39.213 --> 00:20:47.440
It suggests a GL account to post this rent for the warehouse, but for some reason the user doesn't agree and changes that to something else.

00:20:47.440 --> 00:20:50.380
That signal that the user changed it.

00:20:50.380 --> 00:20:55.140
It's also a signal for the agent to say, aha, my suggestion wasn't good enough.

00:20:55.140 --> 00:21:01.388
I can remember this scenario next time for this vendor for this specific type of expense.

00:21:02.320 --> 00:21:04.765
Correlate that with what does the policy say?

00:21:04.765 --> 00:21:06.307
What does the policy say?

00:21:06.307 --> 00:21:07.848
What does the history say?

00:21:07.848 --> 00:21:09.612
Are you also using recurring purchase lines?

00:21:09.612 --> 00:21:15.039
Maybe that's also something that should be taken into account of how to weigh all these things together.

00:21:15.039 --> 00:21:16.644
So how we weigh these things.

00:21:16.644 --> 00:21:18.730
That's then maybe the tricky part.

00:21:18.730 --> 00:21:23.852
Should policy have priority over history, or the other way around?

00:21:23.852 --> 00:21:27.369
And what about just pure LLM guesswork?

00:21:27.369 --> 00:21:30.907
So if you don't have any of these things, you don't have any history, you don't have any policy.

00:21:30.907 --> 00:21:33.086
Just let the LLM guess.

00:21:33.086 --> 00:21:34.826
Here's my chart of accounts.

00:21:34.826 --> 00:21:38.210
Which one is the best for posting rent to my warehouse?

00:21:38.210 --> 00:21:45.247
Probably the agent will have some kind of idea about that, because it does have some basic domain knowledge, if you will.

00:21:45.547 --> 00:21:48.873
I was just going to ask you about that, about the confidence level.

00:21:48.873 --> 00:21:56.461
You know clearly the human aspect of it, where you're interacting with it and it's interacting with your business.

00:21:56.461 --> 00:22:00.488
When do you have the authority?

00:22:00.488 --> 00:22:04.224
Or maybe changing that confidence is like okay, well, I'm not.

00:22:04.224 --> 00:22:08.046
You know, it tells me that it's 99% confident or 90% confident.

00:22:08.046 --> 00:22:13.163
Maybe I'm not, I'm not confident enough for that to just make a decision.

00:22:13.163 --> 00:22:15.487
Do you have control over that?

00:22:15.487 --> 00:22:28.574
I think that becomes a uh, maybe, a need, uh from a business aspect, like uh, maybe, maybe, when it maybe, when it's only 90%, I don't want it to do anything, I want it to ask me, right?

00:22:29.641 --> 00:22:37.069
That's an excellent question, Chris, and I think I totally agree, and that control first starts with transparency.

00:22:37.069 --> 00:22:41.489
So what we're looking at first is to so normally, a purchase invoice.

00:22:41.489 --> 00:22:43.673
So right now, what we do with these invoices we take them in and we create purchase invoice.

00:22:43.673 --> 00:22:51.328
So right now, what we do with these invoices we take them in and we create purchase invoice documents from the MNPC, and later we'll do PO matching and so on.

00:22:51.328 --> 00:22:55.727
But and right now a purchase order sort of a purchase invoice document is.

00:22:55.727 --> 00:23:11.594
You could say it's already a kind of a draft because it's not posted yet, but we needed a stage before that, a sort of a draft stage before that, before it becomes a purchase invoice, because someone might stumble upon it and wouldn't know if this invoice is ready for whatever the next step is.

00:23:11.594 --> 00:23:40.990
So we introduced a new purchase document draft stage, if you will, where we create the invoice based on all the information we have, as we talked about before, all the input and signals to how do we think this invoice should look like as a draft and there the user would look at it, and here we plan to incorporate some UI that says oh, we suggested this GL account because you have this in your policy.

00:23:40.990 --> 00:23:47.425
Or we suggested this yield account because that's the most frequently used for this type of expense on this vendor.

00:23:47.425 --> 00:23:50.861
So similar to what you see with.

00:23:50.861 --> 00:23:57.945
You've seen the new auto fill feature where it explains, with small icons beside fields, why was this predicted.

00:23:57.945 --> 00:24:01.905
Imagine the same thing happening here for all of the information on invoice.

00:24:01.905 --> 00:24:11.991
You could say, oh, it suggested this because it came from our policy document and it's to some degree certain about that.

00:24:12.539 --> 00:24:17.507
Of course, when it comes to actual percentages, that's going to be the tricky part.

00:24:17.507 --> 00:24:26.031
We need to figure out how do we like if something comes from a policy, are we then 95% certain or are we 85% certain?

00:24:26.031 --> 00:24:32.886
That's something we'll have to experiment with and build out some models for certainty or confidence.

00:24:32.886 --> 00:24:38.326
That is not an easy feat, so that's something we'll need to figure out.

00:24:38.326 --> 00:24:43.770
But we'll need to start with at least explaining to the user why these suggestions.

00:24:43.770 --> 00:24:52.709
Why does this invoice look like this on as detailed as level as possible, and then you can take a decision on great, that's fine.

00:24:52.709 --> 00:25:12.458
You might also be able to say in your configuration of the agent that the policy should have preference over history, for example, because you might have done a certain thing for posting rent the last 12 months, but now it's new fiscal year, Now you change your policy for some reason.

00:25:12.458 --> 00:25:18.219
So now it shouldn't rely on history, it shouldn't be the predominant signal.

00:25:18.219 --> 00:25:25.044
So we imagine you can sort of configure the hierarchy of how much should they weigh these factors.

00:25:25.044 --> 00:25:31.863
So it's not yeah, it's something we need to get some experimentation done with and get some feedback on.

00:25:32.730 --> 00:25:47.931
We have this private preview program where we want to let you guys and other people you know lose on the agent and try it out and see how does it work, Because you also have some obviously you have a lot of experience with from from from real customer scenarios how these things work.

00:25:47.931 --> 00:25:52.720
So, uh, so we're super excited and we think we can make this work.

00:25:52.720 --> 00:25:56.113
Uh, but it's all about trust.

00:25:56.113 --> 00:25:59.319
You need to be able to trust the agent.

00:25:59.319 --> 00:26:14.315
Definitely, you want to be able to trust it before you dial up the autonomy, and you also want to be able to trust it before you dial up the autonomy, and you also want to be able to trust it to just use it in the first place, like to get the value from it, and I think that's going to be the.

00:26:15.057 --> 00:26:29.025
So, knowing accountants, of course, you could say well, you've been automating this space for years, but those systems have been more sort of fixed and based on mapping, so you always knew what was going to happen.

00:26:29.025 --> 00:26:46.258
This is different, and our main challenge is to whenever AI is in place, is to say, however we posted rent for the warehouse yesterday, we need to suggest the same way tomorrow.

00:26:46.258 --> 00:26:47.836
It needs to be some consistency.

00:26:47.836 --> 00:26:53.310
We can't live with the normal co-pilot creativity, if you will.

00:26:53.310 --> 00:26:56.901
That won't do in accounting right.

00:26:56.901 --> 00:27:01.289
So that's what we're trying to do.

00:27:01.289 --> 00:27:12.096
We're trying to tame the wild tiger of LLMs here in Incense and get to some consistent results, and that's probably the hardest part of all of this.

00:27:12.858 --> 00:27:23.259
For sure, and I think there's a requirement for businesses to really document quite a bit, because we talk about agents and grounding them to.

00:27:23.259 --> 00:27:40.852
You know, with with some policies, as you had mentioned and I chuckle internally a little bit because any time that I've done implementations and I know in the past there a lot of businesses don't have actually written policies, right, it's, it's all like tribal knowledge.

00:27:40.852 --> 00:28:11.462
And so you know, as we go towards the agentic world, I think it's more important now for organizations to really write down and create those documentations or create those policies, so that when these things come out, you want to be able to ground them based upon those documentation, because there's so many tribal knowledge and you know we've all gone through implementations or, like God, that person knows about everything.

00:28:11.462 --> 00:28:12.554
It's like how come you don't know?

00:28:12.554 --> 00:28:13.478
Isn't it written?

00:28:13.478 --> 00:28:14.554
No, they just know.

00:28:14.554 --> 00:28:16.490
Right, it's tribal knowledge.

00:28:16.490 --> 00:28:27.933
So I think it's a lot more important now for businesses to really take the time now for businesses to really take the time.

00:28:27.953 --> 00:28:28.335
It is important.

00:28:28.335 --> 00:28:40.604
It lessens the risk, because the knowledge that you're talking about could be standard knowledge and the policies could be governmental restriction policies that you may have on top of organizational policies.

00:28:40.604 --> 00:28:46.961
So it's not like you have to draft everything, but you need to have those sources that you can reference, which are handy.

00:28:46.961 --> 00:28:56.421
And, chris, I completely agree with your point on so many times a lot of policies, a lot of procedures and a lot of why things are done are based upon.

00:28:56.421 --> 00:29:01.815
Well, chris has been sitting there for 20 years and that's the way that he's always done that and Chris may know the reason.

00:29:01.815 --> 00:29:14.060
But if somebody else doesn't know it, then when chris leaves for whatever reason, then everyone's stuck figuring out.

00:29:14.060 --> 00:29:16.790
Either we're going to still do it this way we have no reason why or we may do it a different way.

00:29:17.432 --> 00:29:20.257
I I'm listening to you discuss the agents and trust.

00:29:20.257 --> 00:29:48.721
Trust becomes a big thing, but I I try to take it back of agents will have a specific task which I I want to talk about where we come up with agents and how we draw the line between agents and use multiple agents with handoffs, and you have to have trust in them, but that same trust just because the agents seem to be doing more, as you said, not in like a fixed automation but in a variable automation because they can do a lot of ad hoc reasoning.

00:29:48.721 --> 00:29:59.459
I guess you could say Everyone's always had to have trust in systems because, look at, if somebody's going to a new ERP system from a spreadsheet, they have to go through a phase of.

00:29:59.459 --> 00:30:01.020
I need to trust that.

00:30:01.020 --> 00:30:07.799
Whatever ERP system that we're using, you know from just my passion, we'll say that everybody's implementing Business Central.

00:30:07.799 --> 00:30:10.250
There is a sense of trust that they need to have there.

00:30:11.012 --> 00:30:14.900
So I think it's also the messaging of a lot of this that we do.

00:30:14.900 --> 00:30:23.837
We already do with getting that trust with, as I had mentioned, you have the human in the loop where supervisors may come in and do some checking.

00:30:23.837 --> 00:30:42.537
And also, chris, to your point of grounding as the agent continues to do more work, it has more information to ground upon, just as if you were to bring on a new talented individual to help you with your payables or purchases for the agent.

00:30:42.537 --> 00:31:13.159
And the key point to this is the agents are tools to help humans do their job, whatever that job may be, to make it so that they can spend their time elsewhere, maybe in something that's more valuable for them to do, more thought-provoking, where an agent can't do the task, versus some of the repetitive tasks of new purchase invoice vendor number 10,000 or 1000, you know, purchased Athens chair, you know, for one it's.

00:31:13.159 --> 00:31:14.642
It becomes like that.

00:31:14.642 --> 00:31:14.923
So.

00:31:15.930 --> 00:31:18.635
No, that's, that's all true.

00:31:18.635 --> 00:31:30.372
And actually, when it comes to that trust so I'll come back and just speak to the policy part uh, because there are some things I didn't mention but but before I go there, uh, about this trust, you're so right.

00:31:30.372 --> 00:31:49.616
We, we've already today, placed this trust in the humans, who who do these tasks, and when I I've spoken to a lot of cfos lately and many of them say we, we actually have a hard time finding qualified accountants, finding that qualified talent, like just as humans.

00:31:49.616 --> 00:32:23.329
So a lot of mistakes are being made in these departments today, but maybe we have higher demands, higher expectations for agents and for AI than we have for humans, or at least we're not as forgiving when machines make mistakes as we are with humans, because the machine has to do it right and I expect it to work, and otherwise it's a buggy thing, and if it doesn't work, I'll maybe just abandon it, and will it ever a buggy thing?

00:32:23.329 --> 00:32:25.615
And if it doesn't work, I'll maybe just abandon it, and will it ever get a second chance?

00:32:25.615 --> 00:32:27.675
Like?

00:32:28.499 --> 00:32:34.076
We seem to be different towards machines, and that's something we need to get over.

00:32:34.076 --> 00:32:34.779
It's something we need to.

00:32:34.779 --> 00:32:42.397
It's something that challenges our mindsets when working with machines, but that is a new era that we're in.

00:32:42.397 --> 00:32:55.127
I think we all need to learn how to work with these machines in a way where they're also not consistent always so and with humans and not either, right.

00:32:55.127 --> 00:33:01.721
So you could ask Peter the accountant hey, how do I post this rent to the GL?

00:33:01.721 --> 00:33:07.461
I could ask him today, and chances are if I ask him in 30 days from now I might get a different answer.

00:33:07.461 --> 00:33:09.016
But we don't think of it that way.

00:33:09.016 --> 00:33:11.538
But that's the reality.

00:33:11.538 --> 00:33:16.442
He might have forgotten, or he's maybe suddenly in doubt because he slept in.

00:33:16.442 --> 00:33:22.798
There's so many reasons why humans have deficiencies as well.

00:33:23.420 --> 00:33:26.365
Sorry, sorry, it's just interesting.

00:33:26.365 --> 00:33:31.518
You know we're talking about trust with the machines I can't remember what movie it was where.

00:33:31.518 --> 00:33:40.170
And there's a reason why robotics they put like human faces, because then you have a better connection, because that's how we're designed right.

00:33:40.170 --> 00:33:46.718
We're designed to like trust faces, but when it comes to machine one mistake I will never trust're designed right, we're designed to like trust faces, but when it comes to machine, one mistake I will never trust it again.

00:33:46.718 --> 00:33:48.596
Right, like versus a human person.

00:33:48.596 --> 00:33:52.753
I get it, you're human, you'll make mistakes, but oh, you're a machine.

00:33:52.753 --> 00:33:54.077
You made a mistake.

00:33:54.077 --> 00:33:58.411
I don't trust you because you could make a mistake every single time now, so that's-.

00:33:58.431 --> 00:34:01.873
No, exactly, that's fascinating.

00:34:01.873 --> 00:34:09.016
I laugh because I say the same thing and even with some of the mistakes, I think some machines are more consistent than humans.

00:34:09.016 --> 00:34:13.898
In some tasks it's even yeah, it's a long way.

00:34:13.898 --> 00:34:15.038
It is an interesting.

00:34:15.038 --> 00:34:16.398
I think we'll get there.

00:34:16.398 --> 00:34:25.503
I think we're in the infancy and I think a lot of it is the fear, as far as fear, of what are these agents going to do to me, to my value, to what I need.

00:34:25.503 --> 00:34:31.264
So I think some of it may be driven from survival of I'm against the machine.

00:34:31.264 --> 00:34:33.585
That's not to come up with the rage against the machine.

00:34:33.585 --> 00:34:37.887
It's like the first thing I think of, but it's like you said it's.

00:34:37.887 --> 00:34:39.409
We don't have that level of trust yet.

00:34:39.409 --> 00:34:43.378
We have the trust in humans and, chrisris, I did see that as well as is.

00:34:43.510 --> 00:34:57.090
That's why they put faces on it, because it's supposed to be human, like with you, which um yeah, no, that's true and it's into, it's interesting, like we're it's and this is a primal thing, like we've had it.

00:34:57.090 --> 00:35:33.641
It's just the way humans are sort of encoded like we need faces, like that's also why, uh, our brain waves seem to sort of sync up where we, when we're in the same room, like when we look each other in the eye, there's so many things that we just that we don't see, that we don't like understand, but our brains just work in a very sort of, uh primal way in the sense, like we're not, like we've we've only been on this planet for such a short while, like in terms of evolution, that the things that, yeah, we're not trying to do, that that challenges, uh, challenge how we, how we work as humans.

00:35:33.641 --> 00:35:47.757
Um, I want to go back to the policy thing because, uh, I just want to say absolutely agree about companies not having their policies written down, at least not the size of companies we would typically work with.

00:35:47.757 --> 00:35:55.159
Maybe some of the very large ones have some very well documented and then again, in many cases they don't.

00:35:55.159 --> 00:35:56.375
It's still tribal knowledge.

00:35:58.655 --> 00:36:12.199
We could also play with the idea that if you have history, once you enable the agent, you could have a function that would generate a policy document based on your history, right?

00:36:12.199 --> 00:36:23.757
So use LLMs to generate a new policy document and say, hey, this is like we're basically drafting up a work document that says, based on your post-to-purchase history, this seems to be your policy.

00:36:23.757 --> 00:36:30.619
Go now and audit that and then, when it's ready, put that in place.

00:36:30.619 --> 00:36:39.317
And now you, of course, need to keep that up to date and you decide when you sync that back into BC or whatever you do, or let that be the new knowledge base.

00:36:39.317 --> 00:36:42.039
So we could play with that thought as well.

00:36:42.039 --> 00:36:46.880
Also, brad, you had an interesting point about policy.

00:36:46.880 --> 00:36:53.356
So it's not only like the company's own policy, it's also regulation, governance, of things of that nature.

00:36:53.891 --> 00:37:07.922
We also envision that in time, the agent will be able to say, oh, I don't know how it is in the US, but, for example, if you buy IT equipment over a certain amount in Denmark, you need to depreciate it over five years or things of that nature.

00:37:07.922 --> 00:37:09.335
So it needs to be a fixed asset.

00:37:09.335 --> 00:37:21.646
So things of that nature like very local to your business, maybe to your industry, like if it figures out that on the IRS website it says something about your industry and whatever an expense.

00:37:21.646 --> 00:37:24.632
However, a certain expense needs to be handled.

00:37:24.632 --> 00:37:26.298
That could play a part as well.

00:37:26.298 --> 00:37:31.960
That's further down the road, but we do want it to be your accountant guide.

00:37:31.960 --> 00:37:36.721
Basically, it should have that knowledge in some way or form.

00:37:36.721 --> 00:37:41.442
So those are some of the ideas for the longer term.

00:37:42.411 --> 00:37:46.943
I think that's a great idea because it can be where it's helpful, because that can help a business.

00:37:46.943 --> 00:37:47.731
It goes with.

00:37:47.731 --> 00:37:57.242
It's almost when we went from having encyclopedias on the shelf to having search engines where you could search for information to be able to see it quicker.

00:37:57.242 --> 00:38:26.277
But also now, if you can have an agent we'll talk about, since we're talking about purchases and payables or the payables agents tongue-tied this morning it can help you make the right decision so you don't risk any violations, because it also can help you reduce your risk, because now you have these policies and now you have an agent that can help you validate that the accountant that you may have, even if it's a new regulation or a new rule.

00:38:27.039 --> 00:38:29.166
I couldn't even keep up with what the IRS does over here.

00:38:29.166 --> 00:38:32.014
I think it's purposeful how confusing they make it.

00:38:32.014 --> 00:38:54.387
But if you have some new rules that come in that, as you had mentioned, that Peter the accountant may not be fully versed in, if he could have reference to an agent that can bring it to light, to where either it reviews it or alerts Peter to say, hey, there's a new rule or hey, this rule's here, and then he could investigate and determine does this fit the new rules or regulations?

00:38:57.934 --> 00:39:12.474
So it can be extremely beneficial in right for agent Because there's been an understanding or at least you know how people perceive this payables agent as just an automation thing, and I think maybe they're missing the point.

00:39:12.474 --> 00:39:20.155
Where the value comes is to be able to adjust and reason hey, there's an update for this, there's an update for your policy.

00:39:20.155 --> 00:39:24.780
We should update that policy Because, again, another component of that is a policy changes.

00:39:24.780 --> 00:39:25.934
Nobody updates the document.

00:39:25.934 --> 00:39:26.550
You know.

00:39:26.550 --> 00:39:33.429
Maybe they update three months later because now there's an updated policy, but the last three months they've been using the old policy.

00:39:33.429 --> 00:39:50.851
So I think that's where the value comes in for these agents is to be able to look at other areas and say, make some suggestions and you know, and again, like you said, brandon, it's to be able to make better decisions without you having to really interact or maybe research on your own.

00:39:50.851 --> 00:39:56.623
It's going to know that, hey, I should check this area first to make sure it's updated.

00:39:58.809 --> 00:40:01.313
Yeah, and there's there's.

00:40:01.313 --> 00:40:18.539
So, brad, you mentioned like rules, like just as a phrase just before, and I think this is something that this is where we've been really exploring the last sort of six months is how much of this should be based on rules that you set up somehow in BC.

00:40:18.539 --> 00:40:25.065
Like think, like your rules and outlook, when x is equals one, then do this.

00:40:25.065 --> 00:40:29.434
When you know expense equals rent, then do this.

00:40:29.434 --> 00:40:38.835
But it just seemed like something new that you had to maintain and set up and create and we really wanted to avoid that if we could.

00:40:38.835 --> 00:40:41.739
So that's's why we're now leaning on your history.

00:40:43.041 --> 00:40:53.853
Maybe recurring purchase lines, policy and policy I think I hope will become a big part, because policy can play a part in so many other areas, like autofill.

00:40:53.853 --> 00:40:55.956
Like, now you create a new vendor.

00:40:55.956 --> 00:41:13.168
Well, what if it figures out while you're typing that you're creating a new shipping provider and in your policy you have something that says, oh, when you create shipping providers, you need to fill out this and this and this, or you need to always use a certain posting group, or what, what have you like?

00:41:13.168 --> 00:41:24.565
There could be so many different uses for policies around the system for uh time registration, for almost anything like the policy concept.

00:41:24.565 --> 00:41:38.820
If it works, which we hope it will, then there are so many different applications that can use that concept when you create data, when you create documents and so on, not just in purchase, but in everywhere, basically.

00:41:43.291 --> 00:41:54.739
You have, I think of this and it sounds all logical and what I I think of and I could understand it and it makes sense that I always get stuck on.

00:41:54.739 --> 00:42:00.737
You know, maybe it's because understanding how llms work, how do you come up with the idea?

00:42:00.737 --> 00:42:07.150
Not how do you come up with the idea, not how do you come up there, you come up with the idea.

00:42:07.150 --> 00:42:18.804
Now you come up with the rules and the logic, as we talked about, to be able to look at the history, be able to look at external documents and policies.

00:42:18.804 --> 00:42:20.989
Put it all together.

00:42:21.271 --> 00:42:47.476
So you have, you know, if someone's going through to design and develop an agent, when to determine that, an agent that has, again, the variable understanding, the lack of better terms versus the setup where you said you have a fixed setup, turn on, turn off, do this, do that to where you can have that large language model, variability and, in essence, deep thinking.

00:42:47.476 --> 00:42:49.739
And then how do you implement it.

00:42:49.739 --> 00:42:54.641
And then to also to my point with this, I think of all the stuff that you're talking about.

00:42:54.641 --> 00:42:56.809
So now you have an idea that you're working with.

00:42:56.809 --> 00:42:58.313
Should this be an agent?

00:42:58.313 --> 00:42:59.233
Should this not be?

00:42:59.233 --> 00:43:20.938
Now I'm going to determine how to execute it, but to me it's almost difficult to plan because this whole agent space in large language models is changing so drastically each week, so that something that you may be planning and working on today, next week you may have to have a completely different plan.

00:43:20.938 --> 00:43:30.423
I'm not certain if I'm articulating this one, it's just my mind is thinking through this whole process of putting this all together while the bus is still moving.

00:43:30.623 --> 00:43:35.916
In essence, that is exactly right and that is what we're doing.

00:43:35.916 --> 00:43:43.903
Technology is shifting so fast these days that it's both good and bad.

00:43:43.903 --> 00:43:53.360
So what we thought would be a limitation right now may not be a limitation tomorrow or next week even, which is great.

00:43:53.360 --> 00:44:07.465
But there's a lot of experimentation and I think that because this field is also so new, like this field of large language models and the availability of it, like this field of large language marvels and the availability of it is like hasn't like two and a half years ago?

00:44:07.465 --> 00:44:10.894
It wasn't there, like none of us knew anything about this two and a half years ago.

00:44:10.894 --> 00:44:12.755
So it's like it's so new.

00:44:12.755 --> 00:44:16.128
We're all learning and we need to do a lot of experimentation.

00:44:16.128 --> 00:44:55.956
That's also why we're trying to implement sort of a ways to get functionality out to people like yourself, so you can test on bits and pieces that are very rough, so we can get some feedback that are not bound to the six months release cycle that we have now, because that's simply too long time to wait for pivoting and so on, so that, along with just doing a lot of experimentation, pivoting and so on, so that along with just doing a lot of experimentation, but there's, I mean, if I could give an advice to people out there who want to start building agents or even just some AI like Copilot features.

00:44:55.956 --> 00:45:03.092
Just describing what you want to do like write it down in a document, just write it out.

00:45:03.092 --> 00:45:05.853
Describing what you want to do like write it down in a document, just write it out For the payables agent.

00:45:05.853 --> 00:45:17.800
I wrote a two-page document that described what happens Like oh, an email comes in with the PDF invoice, what does the agent do and how do I envision it will do it?

00:45:17.800 --> 00:45:23.563
So once I had sort of a grasp on that, then if I couldn't describe that, then I didn't know my scenario well enough.

00:45:23.563 --> 00:45:25.344
That scenario I wanted to automate.

00:45:25.344 --> 00:45:28.786
I just assumed at that point that it could be done.

00:45:28.786 --> 00:45:29.728
I didn't know.

00:45:35.690 --> 00:45:43.300
The next thing to do could be to test if Copilot or the LLM or whatever technology that you're using, has some kind of base understanding of the domain you're building into.

00:45:43.300 --> 00:45:46.909
So, in my case, has some kind of base understanding of the domain you're building into.

00:45:46.909 --> 00:45:52.179
So in my case, I wanted to see if LLMs had sort of a base understanding of accounting with a purchase invoice.

00:45:52.179 --> 00:46:00.836
So I took a PDF of a random invoice, sent it to Copilot and said hey, I'm an accountant, I work in Business Central.

00:46:00.836 --> 00:46:06.817
What on this invoice should I be mindful of when I register it in my system?

00:46:06.817 --> 00:46:12.018
And one of the lines said something like support and service for six months.

00:46:12.018 --> 00:46:17.802
So that was my test, to see if it knew about deferrals, for example, and it did.

00:46:17.802 --> 00:46:20.860
In the answer it said oh, I looked at this PDF invoice.

00:46:20.860 --> 00:46:23.478
Here's the totals and here's the customer, blah, blah, blah, blah.

00:46:23.478 --> 00:46:29.538
Oh, it seems like there is something you need to create some kind of deferral for because it's a service and support for six months.

00:46:29.538 --> 00:46:31.313
That was my test of.

00:46:31.313 --> 00:46:35.742
Does it have some kind of base knowledge of this domain at all?

00:46:35.742 --> 00:46:40.918
Because there might be domains that are so specific that it wouldn't have enough training data to know.

00:46:41.420 --> 00:46:52.601
But this is such a well-known I mean, accounting on this level is such a well-known space that the LLMs know quite a bit about it.

00:46:52.601 --> 00:47:08.958
So at least we have a good starting point for probably understanding something like just take a look at this invoice, take a look at this policy, take a look at this policy, remember this policy, remember this chart of accounts.

00:47:08.958 --> 00:47:11.164
What's the right thing to do here?

00:47:11.164 --> 00:47:15.297
So that's sort of as a fallback.

00:47:15.297 --> 00:47:17.201
So the way we think about this.

00:47:17.601 --> 00:47:19.253
Let's start with the most specific stuff.

00:47:19.253 --> 00:47:26.378
If you map your yield accounts to some text on the invoice, maybe that overrides everything, because that's an explicit mapping Great.

00:47:26.378 --> 00:47:29.481
If you don't have that, maybe we'll look at the policy.

00:47:29.481 --> 00:47:31.996
If you don't have a policy, we might look at your history.

00:47:31.996 --> 00:47:35.594
If you don't have history, we might just default to.

00:47:35.594 --> 00:47:43.320
What does the LLM just think just off the bat, or that's my thinking right now, but let's see how this plays out right?

00:47:43.320 --> 00:47:48.079
So no for sure, and it's super tricky to build this.

00:47:48.079 --> 00:47:48.599
To be honest.

00:47:48.599 --> 00:47:49.793
I mean we're.

00:47:49.793 --> 00:47:53.994
I mean this is hard, this is hard to build.

00:47:55.291 --> 00:47:56.898
I can't put my head around it.

00:47:56.898 --> 00:48:08.240
I mean I can, but I can't because there's a lot of moving parts with access to data, access to external information, as you talked about, with local policies, even knowing where you are.

00:48:08.240 --> 00:48:23.523
Because now being able to, it's all mind-blowing to me, because, differentiating between US purchase rules in the state of Washington versus the Denmark, you know purchase rules that you may have.

00:48:23.523 --> 00:48:32.900
I'm not even certain if you do it by country, by county or region, or how you separate them in there, but that has to be taken to ticket.

00:48:33.753 --> 00:48:35.789
You could specify that from a prompt perspective.

00:48:35.789 --> 00:48:42.121
For example, if you build an agent, you kind of set the rules of this is your baseline prompt?

00:48:42.121 --> 00:48:45.335
You are an accounts payable, that is your role.

00:48:45.335 --> 00:48:47.657
You are based in Washington state.

00:48:47.657 --> 00:48:51.159
Consider the policy in Washington state.

00:48:51.159 --> 00:48:55.422
So that's kind of your ground, where it doesn't go anything beyond that.

00:48:55.422 --> 00:48:58.914
You know, don't worry about the other states, you are in Washington state.

00:48:58.914 --> 00:49:02.181
You know, adhere to the policies and all that stuff.

00:49:02.181 --> 00:49:12.139
So once you get that ground and and they could still go crazy too, I don't know LLMs, they can still hallucinate Right, and then they could like ah, washington, washington DC, is that what you mean?

00:49:13.610 --> 00:49:24.184
Not Washington state, no, that's exactly right, and I think that's also why if we were just relying on the LLM by itself, maybe that wouldn't cut it.

00:49:24.184 --> 00:49:34.762
So but because we also have history and you might have your own policy document, maybe those things in combination can help qualify the suggestions that it comes with.

00:49:34.762 --> 00:49:41.657
But that is the thinking, like exactly what you're saying there, that in time it could have sort of a local view of the world as well.

00:49:41.657 --> 00:49:53.380
But it's also, but there's, oh, but there's so many challenges that we meet there where we meet some of the inherent things that we're missing from a technical perspective in BC.

00:49:53.380 --> 00:50:03.541
So, for example, business Central is not inherently aware of itself in a sense of what is a product in Business Central.

00:50:03.541 --> 00:50:05.335
Business Central doesn't know that.

00:50:05.335 --> 00:50:13.619
And a developer needs to tell Business Central search the item table, and these are the seven tables, right, that are related to the item table, or how many it is.

00:50:13.619 --> 00:50:23.920
But if you have an extension that extends the item table, now it's not just eight tables, now it's nine or 10 tables that make up a product in BC.

00:50:23.920 --> 00:50:26.217
But Business Central doesn't know that.

00:50:26.217 --> 00:50:33.277
I can say to BC search products and then give me X, y, z.

00:50:33.277 --> 00:50:46.041
So Business Central is not self-aware in that sense, that's something we need to work on, to figure out how do we do that, because we also need to consider add-ons.

00:50:47.010 --> 00:50:50.320
You might have extensions that extend even your purchase lines when you register an invoice.

00:50:50.320 --> 00:50:57.123
You might have other fields on the purchase lines that we don't know from a Microsoft perspective, but the customers added.

00:50:57.123 --> 00:51:00.978
But we need to respect those as well when we suggest the purchase line for this newly received invoice.

00:51:00.978 --> 00:51:02.222
So there are many tricky things, those as well.

00:51:02.222 --> 00:51:04.028
When we suggest the purchase line for this newly received invoice, right.

00:51:04.028 --> 00:51:06.358
So there are many, many tricky things.

00:51:06.358 --> 00:51:14.764
Then comes we also don't know the industry of this company.

00:51:14.764 --> 00:51:16.936
Okay, that might be easier to solve.

00:51:16.936 --> 00:51:18.797
We could just add a new field to company information.

00:51:18.797 --> 00:51:31.335
You fill it in, you know, based on some predefined list, maybe, or maybe we just look up your company name online little and figure out what is the industry of your company, something like that, if that's reliable enough.

00:51:32.237 --> 00:51:35.931
Then comes things that are sort of user specific or role specific.

00:51:35.931 --> 00:51:37.193
We don't.

00:51:37.193 --> 00:51:45.474
So obviously we know what the role the payable agents has, but we don't really know whoever turned on the payables agent, what their role is.

00:51:45.474 --> 00:51:50.362
That might be a person wearing all hats in the company that turned it on.

00:51:50.362 --> 00:51:54.481
It might be the accountant who turned it on or some admin, ic, admin person.

00:51:54.481 --> 00:52:06.014
So there's so many things where we need to get a lot more context, and those are things that we're we're trying to work on to figure out how can we make BC more self-aware and context-aware.

00:52:06.014 --> 00:52:09.195
But this is just under the hood.

00:52:09.195 --> 00:52:09.978
So many things.

00:52:13.097 --> 00:52:17.237
I want to come back to one thing you mentioned, brad, so I think well, both of you mentioned it.

00:52:17.237 --> 00:52:33.541
Actually, no doubt we see an agent as having a specific role or specific business process to sort of fulfill, like handle this venture, invoice process from start to finish.

00:52:33.541 --> 00:52:48.195
Already, there we're able to define some context for this agent, to define some bounds for it to say, I mean, if it tries to do something, we can sort of rein it in or fence it in in a way, because we know the context.

00:52:48.195 --> 00:52:56.094
We don't imagine one agent, one super agent, that just does everything, has all permissions in the system, that can do everything.

00:52:56.094 --> 00:53:12.342
An agent needs to have some inherent knowledge about what is it there for, and so we're, yeah, and that also has, of course, some benefits in terms of permissions, because it's it's, it's a user in the by itself.

00:53:12.342 --> 00:53:21.327
You can set up the, the uh, what is what it has access to in pc, and so on, um, but in terms.

00:53:21.327 --> 00:53:25.690
So come back to your question brad about how to stitch all these things together.

00:53:25.690 --> 00:53:31.322
What is AL code and where does the agent instructions fit in?

00:53:31.322 --> 00:53:37.298
And when do we ask the LLM and where do we feed it data If it needs to search our purchase history?

00:53:37.298 --> 00:53:43.023
Can we just loop through 1 million deal entries or like all these things?

00:53:43.023 --> 00:53:45.657
And this is super hard.

00:53:46.130 --> 00:53:52.501
The one thing that we're experimenting with now, because we have our own agent framework inside BC.

00:53:52.501 --> 00:53:54.630
That is not Copilot Studio.

00:53:54.630 --> 00:54:02.038
We went our own way because we were waiting for Copilot Studio to bring some of the capabilities that we need.

00:54:02.038 --> 00:54:08.358
So right now, the sales order agent and payables agent in BC are built inside BC, if you will.

00:54:08.358 --> 00:54:15.380
Those agents work in a way where they can navigate the UI.

00:54:15.380 --> 00:54:28.077
So a bit like the client, like the business central client that you see in UI, imagine the agent being able to navigate that UI.

00:54:29.210 --> 00:54:33.612
So let's take a scenario where you receive an invoice.

00:54:33.612 --> 00:54:37.271
You need to figure out just a super simple example.

00:54:37.271 --> 00:54:44.476
You need to figure out if this bank account that is stated on the invoice is known to us on the vendor.

00:54:44.476 --> 00:54:46.634
We could do it in AL.

00:54:46.634 --> 00:54:54.472
We could just do a three lines of code in AL check loop through the vendor bank accounts and check if it's a match.

00:54:54.472 --> 00:54:59.358
Yeah, but that doesn't sound very agentic.

00:54:59.358 --> 00:55:12.661
In a way we could also tell the agent go to the vendor card, go to the vendor bank accounts, go through the bank accounts one by one and compare them to this bank account you have on the PDF.

00:55:14.851 --> 00:55:23.902
If we can make that work as instructions, like in a no-code instructions, hey, go check if the vendor bank account is known to us by going to the vendor card, blah, blah.

00:55:23.902 --> 00:55:25.961
Go check if the vendor bank account is known to us by going to the vendor card, blah, blah, blah.

00:55:25.961 --> 00:55:28.630
Then we've not written code Now.

00:55:28.630 --> 00:55:32.478
We've written natural language in an instructions prompt somewhere.

00:55:32.478 --> 00:55:41.701
So we always have these decisions to make and the agent say do we just code it in AL or do we try to push the agent to do it via the UI?

00:55:41.701 --> 00:55:45.605
And we try to do an agentic first motion here.

00:55:45.605 --> 00:56:00.255
Because if we can succeed with that then in time you can imagine just going into BC pulling up a window, describe the agent that you want and how it should behave in the UI and then it would just go do all these things, no AL code needed.

00:56:00.255 --> 00:56:02.376
Basically, it would just navigate the UI.

00:56:02.376 --> 00:56:06.280
That is sort of the thinking of our agents within BC.

00:56:07.331 --> 00:56:22.802
You said a key phrase in there, a key few-choice words, where you said with the AL code, we're writing code for a specific scenario and then now we can instruct the agent to work with the UI.

00:56:22.802 --> 00:56:26.108
Now we can instruct the agent to work with the UI.

00:56:26.108 --> 00:56:35.161
So is the agent working with the UI directly to perform its actions, or is it working with code behind the scenes?

00:56:35.161 --> 00:56:47.481
I guess you could say in a low-code fashion of concrete scenarios that it's going through and trying to find, and then also to the to tack onto that, what about the variability?

00:56:47.481 --> 00:56:53.141
I'm all for agents having specific tasks and then they can do those tasks.

00:56:53.201 --> 00:57:00.539
Well, similar to what we're talking we talked about at the onset, where there's so many things that we want to do or I'd like to do, but I can't do it all because I don't have time.

00:57:00.539 --> 00:57:08.989
Nor could I do be you know, for lack of better terms good at anything if I do too much, because I'll have no time to be able to focus on it.

00:57:08.989 --> 00:57:11.735
So agents can have specific tasks.

00:57:11.735 --> 00:57:14.981
How is it working?

00:57:14.981 --> 00:57:16.543
And what about variable scenarios?

00:57:16.543 --> 00:57:18.112
So today we talked about bank account.

00:57:18.112 --> 00:57:23.824
Okay, now we can put it in, we can teach it, and I do want to go back to the UI and how it interacts with it.

00:57:23.824 --> 00:57:30.719
But what if tomorrow it's our vendor number for a vendor?

00:57:31.389 --> 00:57:50.579
Yeah, let's maybe go to the UI piece first, because just a quick bit of explanation of how it works and I might I'll probably vastly oversimplify things here and if some of our engineers are listening to this they'll probably say, yeah, it's a bit more detailed than that.

00:57:50.579 --> 00:58:00.079
So think of a page object with all the metadata it has about which fields are on it and so on.

00:58:00.079 --> 00:58:12.820
Today, very simply put, all that data is being exposed to the client as some internals or web service or APIs.

00:58:12.820 --> 00:58:16.481
The client reads that and renders the page right.

00:58:16.481 --> 00:58:21.402
So that same API the agent now has access to.

00:58:21.402 --> 00:58:28.911
So the agent can just not render but read all that same information that's on the page.

00:58:28.911 --> 00:58:33.306
So when we say navigate to the vendor's page, it does so like the client would.

00:58:33.306 --> 00:58:40.867
In essence, there's no physical client spun up somewhere, it's just the agent consuming those same APIs and navigating.

00:58:40.867 --> 00:58:43.179
Seeing in code it's like the matrix.

00:58:43.179 --> 00:58:44.746
You see all that green text.

00:58:44.746 --> 00:58:53.206
The agent basically just looks at all the metadata and say, oh, there's a caption that says vendors there, let me try to navigate to that.

00:58:53.206 --> 00:58:57.226
So that's very simple.

00:58:57.226 --> 00:59:11.431
But the way the agent can sort of navigate the UI, you know, can say, hey, go to the lines and create a new line, add this value here, and that's also why it will always see what the user would see, if it has the access, of course, to that.

00:59:11.431 --> 00:59:32.400
So that also means that when we build UI for the agent to traverse, we need to remove ambiguity and need to remove stuff that makes it confusing for the agent, which happens to have the nice side effect that what is confusing for agents is probably also confusing for users.

00:59:32.400 --> 00:59:35.429
So if we can simplify some more, that's probably a good thing.

00:59:35.429 --> 00:59:41.791
Yeah, so that's just about how the agent will sort of work.

00:59:44.521 --> 00:59:46.583
Will we sometimes have to do things in AL instead?

00:59:46.583 --> 01:00:02.146
Have to do things in AL instead, where, because it's just like, for example, finding a certain record or things of that nature, might make more sense in some cases in AL instead of having the agent do it?

01:00:02.146 --> 01:00:09.405
That's also a cost concern or consideration we need to think about.

01:00:09.405 --> 01:00:22.623
Well, when the agent navigates the UI in this way, it uses the LLM, so inherently we will have a cost of running the agent, basically because that we wouldn't, in the same way, have an AL, at least not.

01:00:22.623 --> 01:00:35.268
Well, the machines where the NST is running is running anyway, but still there are many factors in this, in deciding do we go for AL, do we go for natural language?

01:00:35.268 --> 01:00:38.188
In essence, and we're trying to push more to go towards natural language.

01:00:38.188 --> 01:00:42.862
Sorry if I didn't really answer your question there, but no you did answer it and it's.

01:00:43.862 --> 01:00:50.768
I'm pleased to hear there's also a consideration today, because no one knows what the future would be.

01:00:51.121 --> 01:00:57.233
It's almost like I remember when the cell phone was invented and it was probably $300 a minute to use the cell phones.

01:00:57.233 --> 01:01:15.123
Now cell phones are fairly reasonably priced for unlimited text and data for a given month in the onset, while the technology is still new and it can be costly.

01:01:15.123 --> 01:01:24.668
In essence, to see that there are some considerations to appropriately use the agent in consideration for cost and function, not just to use an agent for the sake of using an agent.

01:01:24.668 --> 01:02:02.967
So it is nice to hear that those considerations are in there and I do understand now that it's working with the ui and that's how we can limit what it has access to and what it can do within the context of the user executing the agent and what they have access to, if I'm if I understood correctly yes, it's I've had conversation with some and there may be a misconception that you know agents are just, you know, co-pilot workflows or power automate flows or some fashion of that, and it's nice to hear the details, and I've been having conversations with everyone.

01:02:03.869 --> 01:02:07.364
It's a lot more than that and is that a true misconception?

01:02:07.364 --> 01:02:11.454
Or is it just somebody trying to knock AI similar to back?

01:02:11.454 --> 01:02:16.603
When I see Chrissy, as we say this almost every day, it's you use the appropriate tool for what you're trying to do.

01:02:16.603 --> 01:02:28.385
Asking AI to say five plus five and it and being able to make it do 11 doesn't do anything because you can use a calculator, or maybe there should be an agent for math versus an agent for payables.

01:02:28.385 --> 01:02:29.309
So it's speak.01:02:29.309 --> 01:02:31.228


It's just like people or humans.01:02:31.228 --> 01:02:35.251


I speak to a specific human if I need specific information.01:02:35.251 --> 01:02:38.447


You know an electrician, a carpenter or something.01:02:38.880 --> 01:02:42.248


I went on a little tangent there, but yes, you did answer my question.01:02:43.342 --> 01:02:48.407


And I think that this is worth just drilling a bit more into like the role of an agent.01:02:48.407 --> 01:02:54.686


I know we always spoke about that it has a certain role, uh, to, to, to play like.01:02:54.686 --> 01:02:56.768


Uh, how that?01:02:56.768 --> 01:03:07.572


Like, if you draw up an organization and you look at the agent landscape like, what, what should an agent landscape look like in in this organization?01:03:07.572 --> 01:03:09.364


Oh, do I need a payables agent?01:03:09.364 --> 01:03:10.367


Do I need a sales agent?01:03:10.367 --> 01:03:16.679


Do I need, like, when is my plate full of agents that now all bases are covered in my company?01:03:16.679 --> 01:03:18.748


And how do they hand over to each other?01:03:18.748 --> 01:03:22.210


And do I have a master agent of all of them?01:03:22.210 --> 01:03:29.092


Or do I have, like that sort of orchestrates it all or are they able to orchestrate between them and just hand over?01:03:29.092 --> 01:03:31.768


And how small should they be?01:03:31.768 --> 01:03:50.768


Like, also, when you consider that it's a user that they sort of emulate in a sense, should we consider that the classic sort of segregation of duties, all those things like do an agent map to a human one-to-one or like, and how does that look and how does that look like in this organization?01:03:50.768 --> 01:03:57.088


So, and there are so many things like, we've only just begun, so I think that's something we need to get wise on as we go along.01:03:57.860 --> 01:04:01.530


Personally, I don't see one super agent that does everything.01:04:01.530 --> 01:04:09.960


I would rather go smaller agents, much more limited scope, because that also means we can define their context much more precisely.01:04:09.960 --> 01:04:12.885


Much more limited scope, because that also means we can define their context much more precisely.01:04:12.885 --> 01:04:13.105


So they're.01:04:13.105 --> 01:04:17.572


They ideally wouldn't go out of bounds of what they're supposed to do so often.01:04:18.313 --> 01:04:22.027


But then you could imagine having like, let's say, you had five finance agents.01:04:22.027 --> 01:04:30.673


Then you could have an overarching supervisor agent within finance that could help sort of orchestrate between these five finance agents.01:04:30.673 --> 01:04:39.842


Could also be you had a vendor communication agent that said oh, now we get an invoice in, this goes to the payables agent.01:04:39.842 --> 01:04:46.250


But the next time there's an email from the vendor it happens to be a reminder that they haven't gotten our payment.01:04:46.250 --> 01:04:51.248


So obviously that doesn't go to the payables agent, this goes to someone else, another agent.01:04:51.248 --> 01:04:55.626


So who's orchestrating that if they're all monitoring that same inbox?01:04:55.626 --> 01:04:58.565


That's stuff we need to figure out.01:04:58.565 --> 01:05:01.983


But the discussions have started.01:05:01.983 --> 01:05:02.605


How do we?01:05:02.605 --> 01:05:04.865


What does the agent landscape look like?01:05:04.865 --> 01:05:06.063


How do they hand over?01:05:06.063 --> 01:05:10.501


Where do the humans fit in All of that?01:05:10.501 --> 01:05:13.721


Where do we have the one overview to rule them all?01:05:13.740 --> 01:05:16.025


and all that stuff.01:05:16.025 --> 01:05:21.519


You need that business uh, orchestrated or that orchestrates all the agents.01:05:21.519 --> 01:06:07.711


Right, like if, if I'm a business owner and I need it to do something, I I I'd rather just go to a single agent that can help me orchestrate to accomplish the goal of my business, rather than, yeah, my goal involves this and then I got to go talk to individual agents, versus going to a single maybe a tenant agent that lives in your tenant and it says I need to do this so it may pull in certain points of my applications, whether that's business central or maybe I need to interact with teams and whatever that is, it's much easier for me from a business perspective, much easier to go to a single agent that will orchestrate that.01:06:09.762 --> 01:06:11.289


And that's a great way of thinking about it.01:06:11.289 --> 01:06:17.588


And I think when I say that we I personally I'd like to componentize agents as much as possible, try them as small as possible.01:06:17.588 --> 01:06:21.047


That doesn't mean you'll have 100 interaction points as a user.01:06:21.047 --> 01:06:32.342


You could still have that one interaction point, as you say, like the master orchestrator agent, or maybe within that domain you work as a user, and then that agent will, will, coordinate with all the other users.01:06:32.342 --> 01:06:35.469


So it will, it will have directs, if you will like.01:06:35.469 --> 01:06:36.592


Uh, so it's.01:06:36.592 --> 01:06:41.186


It's a bit the same kind of organization, yeah, same hierarchy, if you will.01:06:41.186 --> 01:06:46.322


And so, and I think that that's, that's just some technicalities.01:06:46.322 --> 01:06:48.666


We need to figure out how do you interact with an agent.01:06:48.666 --> 01:06:57.081


It doesn't necessarily need to be a one-to-one representation of how are the agents represented in the system under the hood somehow.01:06:57.081 --> 01:07:11.059


So, uh, you could have a one, one to twenty relationship, uh, between you and agents, but there could be a single pane of glass that will be that interface or whatever that would be super fascinating.01:07:11.762 --> 01:07:17.186


It would almost really like it's a one-to-one human, like a true co-pilot, right.01:07:17.186 --> 01:07:21.411


Like I'll have a co-pilot of a VP of operations, right.01:07:21.411 --> 01:07:28.527


Like that would be the person that I would go to and say I need to accomplish this, how do I accomplish this in the system.01:07:28.527 --> 01:07:35.769


And then that agent for that specific role for operations would then just interact with all the different agents.01:07:35.769 --> 01:07:41.552


That also kind of follows the hierarchy within your organization.01:07:41.552 --> 01:07:46.110


That's how maybe I'd see it, because then every role has a co-pilot.01:07:47.740 --> 01:07:49.688


No, to me that makes perfect sense.01:07:49.688 --> 01:08:06.929


And I think where we are now is that we need to start with we need to also be mindful of where we are and not try to build 100% automation to begin with.01:08:06.929 --> 01:08:25.310


We need to learn and there's benefits in involving users more often to begin with, because there's a lot of learning moments when users are involved Whenever, as I mentioned 30 minutes ago, whenever the user changes some of our suggestions or the agent's suggestions, that's a learning opportunity.01:08:25.310 --> 01:08:47.774


So there's sort of great value in having human in the loop and I think if we can combine it with the risk of being a little bit philosophical but if we can make humans and agents work together and complement each other's weak sides, that's that we would have a very well-working agent.01:08:48.462 --> 01:08:49.947


Aiming for 100, I think.01:08:49.947 --> 01:09:02.587


Think, of course I mean we wouldn't want accounts payables to be 100% if it's reliable and fast and well, maybe speed doesn't matter as much, but at least reliable.01:09:02.587 --> 01:09:08.073


But I think that will take time until we get there and that's fine.01:09:08.073 --> 01:09:15.529


If we can solve for the 75% of the normal day-to-day use cases, that's also super cool.01:09:15.529 --> 01:09:29.304


And then humans can do the more complex handle, the more complex invoices and over time, as we get better using this technology, the agents can get better.01:09:29.304 --> 01:09:35.926


Then probably we can increase that to I don't know 80, 90 percent, who knows if we get close to 100.01:09:37.868 --> 01:09:42.342


There's so much in there and I think it's, you know, the future.01:09:42.342 --> 01:09:43.786


Who knows where the future will be?01:09:43.786 --> 01:10:01.573


And again, I do think we're at the point just in our society, just to go philosophical for a little bit because, realistically, some of this AI agent stuff, with it being so new and learning what it can do and seeing how it reacts, responds and works, is philosophical because we don't really know.01:10:01.573 --> 01:10:08.301


But it would just be interesting to see where it will all be and how this will all work uh, in the years.01:10:08.301 --> 01:10:29.426


And I think now we're just throwing a lot of agents against the wall to see which work, which stick, which are effective, and then also how to, to your point, maybe even break them down to have separate agents that have specialties or specializations, to be able to have them work together.01:10:29.779 --> 01:10:30.925


You know, I think it's going to be.01:10:31.560 --> 01:11:11.481


I would love to see it more of a role specific, because, if you look at the way I use agents or co-pilot, right, for example, in my day-to-day it's typically around my role, and so it would be interesting to see if this is maybe where you guys are heading toward, where Microsoft is going towards, where there is a co-pilot working along with me, because then I can have my conversation with my CEO or your president or anybody else in your organization is more strategic, strategic, right.01:11:11.502 --> 01:11:29.452


There's something that us humans are more creative and more strategic about things, that we you know what we do in the business, where the hard, you know, the tedious work of getting to do things is where the co-pilot comes in, where, hey, I need some data, you know, give this information to me while we're trying to make a decision of where the business is going.01:11:29.452 --> 01:11:38.335


I think that would make a lot more sense that you'd always have a co-pilot with you, based on the role and, of course, structurally in terms of hierarchy within the system.01:11:38.335 --> 01:11:44.712


It also makes sense because we understand that your agents are based upon a role, right, because it's UI driven.01:11:44.712 --> 01:11:58.680


I think it's limited to a specific role, and so maybe that's where it is, because now you have, you know, an AP payables agent, now you did accounts receivable agent and so forth, sales agent and so forth.01:11:58.680 --> 01:12:01.929


Maybe that is where the structure is.01:12:01.929 --> 01:12:07.506


To me it makes more sense because my area of focus is just that's, my interaction anyway.01:12:09.463 --> 01:12:30.966


No, and I think that makes perfect sense, and I think that this is why we've all chosen this path and chosen sort of well-known scenarios, roles even you can say they're even more narrow than a role at this point, because a payables agent, like a real accountant, might do more, or an AP clerk might do more than just register invoices.01:12:31.641 --> 01:12:40.666


I guess it depends also per company, and I think what we're doing now is a lot of experimentation, and I think that's the only way forward.01:12:40.666 --> 01:12:59.109


As you said, brad, like we try to create some agency which ones work as the technology improves, as it does every day, and I think we also just need to be honest that I mean, as I said, two and a half years ago this field didn't exist, so there are, by definition, no experts.01:12:59.109 --> 01:13:10.085


We're also learning, right, we're just working on this all day, every day, so we get a lot of exposure to it as technologists.01:13:10.085 --> 01:13:18.854


So we get a lot of exposure to it as technologists, but experts, I mean I would like to say we're getting there, but you know who can be an expert in two and a half years of exposure to something?01:13:18.854 --> 01:13:28.904


So this will take time, so we're all learning right and an expert on something that's changing daily.01:13:28.944 --> 01:13:30.189


So it's not only that it's new.01:13:30.189 --> 01:13:33.127


Generally speaking, it's in its infancy.01:13:33.127 --> 01:13:51.568


But it seems every time I wake up and put on the morning finance news, they're talking about some new LLM, local large language model, some new agent, some new version that it's very difficult for anyone to keep up, which is also important to mention.01:13:51.568 --> 01:13:59.949


Some are talking about that it may be too late to learn or too late to get into it, but everybody's in the same boat because everything's new.01:14:02.021 --> 01:14:09.930


So no one has missed the agent experimentation phase, even Copilot Studio, as you had mentioned.01:14:10.323 --> 01:14:33.631


they keep adding features and changes, so and get in and start working with it yeah, and this is, of course, a much larger challenge that we, like the industry, face, and all companies out there wants to consume all companies out there who wants to consume AI or to consume features within their ERP system or whatever.01:14:33.631 --> 01:14:57.680


So, on one side, we have a higher than ever before desire to experiment, test out things A B test, try out things with real customers and so on, and that will only increase Our desire to do that will only increase, and we need that because technology is changing Every day.01:14:57.680 --> 01:15:01.030


We look in the toolbox, tools look different, work different.01:15:01.030 --> 01:15:13.650


So on the other side of that, you have customers who need predictability, they don't want to be disrupted, they value business continuity, all these things.01:15:13.650 --> 01:15:16.649


So how do these two ends meet?01:15:16.649 --> 01:15:24.322


We need experimentation and what you call fail fast or adapt fast or pivot fast Customers.01:15:24.322 --> 01:15:27.190


They just wanted to work the same way as they did yesterday.01:15:27.190 --> 01:15:30.389


So how do they meet?01:15:30.389 --> 01:15:51.332


And I think that comes back to, at least for Business Central specifically, we need to figure out ways where we can create test rings and let people opt into being early preview testers or maybe test experimental features in a sandbox or what have you, so we can get some some feedback.01:15:52.898 --> 01:15:54.564


Yeah, but this is, this is a challenge, for sure.01:15:54.564 --> 01:16:18.905


And also when it comes to adoption, as we spoke about an hour ago, like if it doesn't work or not in terms of a bug, but if I don't get the result for of a feature that I expected of this agent, will I abandon it or will I give it a new shot tomorrow where we've maybe changed some stuff and updated it and all of that.01:16:18.905 --> 01:16:22.770


You had a great episode recently about change management, which I loved.01:16:22.770 --> 01:16:24.082


That was just.01:16:24.082 --> 01:16:45.060


All of these things are just more important than ever, and I think we have some part of that that we need to do Educate, explain value even in the UI, make it evident what is the value for you as a person, not only for the company, but also for the company.01:16:45.060 --> 01:16:50.188


This is going to be even more important than ever and super hard.01:16:51.020 --> 01:16:57.386


Yeah, I think I mean just thinking about just going back to the hierarchy component and you brought up the adoption.01:16:57.386 --> 01:17:05.068


You know, a lot of times you know employees or users of an application or even within the business itself.01:17:05.068 --> 01:17:11.180


It typically bleeds from what you do on a personal side of things and then you kind of bring that into your business.01:17:11.180 --> 01:17:14.006


So, for example, I'd call that.01:17:14.006 --> 01:17:20.729


You know I use Copilot or ChatGPT or whatnot and when you chat right, you have different chats.01:17:20.729 --> 01:17:25.771


Typically, when you're creating your chat you ground it of what that role is.01:17:25.771 --> 01:17:36.823


You are my finance manager and I have this situation and I need you.01:17:36.823 --> 01:17:37.945


It's almost like that, right, with Business Central.01:17:37.945 --> 01:17:40.831


I would think that's where we're heading.01:17:41.511 --> 01:17:42.413


I can't foresee that.01:17:42.413 --> 01:17:52.527


I'm just thinking out loud here where I would love to structure it that way where what I do now personally I could do the same thing in Business Central.01:17:52.527 --> 01:17:54.948


I'm going to add an agent.01:17:54.948 --> 01:17:56.265


You are this agent.01:17:56.265 --> 01:17:57.545


I need you to do this.01:17:57.545 --> 01:18:03.813


It's almost in that way of easy for people to kind of understand because that's what they do.01:18:03.813 --> 01:18:07.619


Now I mean, it's becoming a day-to-day occurrence.01:18:07.619 --> 01:18:13.372


I chat with my chat GPT or grok or whatever AI that you use for chat.01:18:13.372 --> 01:18:16.988


But again, I can't predict that.01:18:16.988 --> 01:18:22.492


Just the way I do things in a day-to-day, it may bleed into Business Central.01:18:22.492 --> 01:18:23.012


I don't know.01:18:24.841 --> 01:18:26.127


Yeah, but I think it makes sense.01:18:26.127 --> 01:18:32.894


And if you think about the way that the agent, like you, have a bunch of agents enabled for your organization.01:18:32.894 --> 01:18:59.296


They work for different teams, for different users and so on, and at the end of the day, there would be supervisors of agents, like human supervisors of agents, that would work with agents, make sure that the wheel's always spinning, that the agents are not stuck on anything, of course, with all the business approvals built in that you typically want.01:18:59.296 --> 01:19:07.412


When you need to approve a new vendor that's great in the system, or need to send the PO for approval, all that stuff still works as it used to.01:19:07.412 --> 01:19:08.225


The agents don't change that.01:19:08.225 --> 01:19:11.394


All that stuff still works as it used to right the agents don't change that.01:19:11.394 --> 01:19:15.359


It might be that you can have agents that will help these approvers as well.01:19:15.359 --> 01:19:26.430


Like you can imagine an agent that says you know, here's a new approval request from Chris who wants to approve this purchase order of $10,000.01:19:26.430 --> 01:19:30.949


Well, based on history, there's nothing to worry about.01:19:30.949 --> 01:19:32.646


You can easily go approve this one.01:19:32.646 --> 01:19:36.711


Should I go approve it the next time on your behalf?01:19:38.201 --> 01:19:48.948


There are many applications where you can think about agents kicking in and learning from the history and, looking at you know, try to identify risk, because if there's no risk, why stop at all?01:19:48.948 --> 01:19:53.890


Why not just go ahead and and um, yeah, but let's see how far we can.01:19:53.890 --> 01:19:57.644


We can drive this automation because it is automation brad you asked about.01:19:57.644 --> 01:19:59.747


Was this just a glorified flow?01:19:59.747 --> 01:20:02.333


Depends on how you look at it.01:20:02.333 --> 01:20:15.186


I mean, from a conceptual standpoint, you could say yeah, uh, but it's a flow that's able to handle much more variability, in a sense, like where flow is very deterministic.01:20:15.186 --> 01:20:19.087


You put a stick in the wheel on a certain point it just breaks and falls apart.01:20:19.087 --> 01:20:24.971


Where here it's a bit so yeah.01:20:27.440 --> 01:20:39.131


A guy said to me some months ago well, this is like when you build houses in areas where you have a lot of earthquakes you build them so the foundation can sort of move and the house can move.01:20:39.131 --> 01:20:40.640


It's a bit like the same thing.01:20:40.640 --> 01:20:57.832


You need to build in some wiggle room so the agent can take some decisions within a certain context, within certain constraints and so on, but not break when something doesn't follow the sunshine path Understood.01:20:57.832 --> 01:21:02.484


It's not a bunch of ifs and thens yes, it's.01:21:02.805 --> 01:21:03.408


No, it's.01:21:03.408 --> 01:21:07.229


I mean, I guess, ultimately, I guess any workflow is a bunch of ifs and thens.01:21:07.229 --> 01:21:14.088


It's just a matter of which ifs and thens and whens you can react to, or respond to without breaking.01:21:14.088 --> 01:21:19.520


So we've talked a lot about the payables agent.01:21:19.520 --> 01:21:28.534


What is the current state of the payables agent as far as availability and what are the short-term future plans?01:21:28.534 --> 01:21:35.387


I know nobody can plan too far into the future because something could change tomorrow, but to anybody listening, we've been talking about it.01:21:35.387 --> 01:21:38.306


What is the current state and availability for it?01:21:39.390 --> 01:21:40.231


Yeah, great question.01:21:40.231 --> 01:21:52.322


So because the agent navigates the UI, as we've talked about, we've had to improve some stuff in sort of the base application, especially around e-documents.01:21:52.322 --> 01:22:05.694


We've had to build a connector where basically JobQ, or the agent, via the JobQ, could pull in an invoice that comes in on a certain mailbox or on a SharePoint folder and so on.01:22:05.694 --> 01:22:22.988


So we've done some components that the agent will use and those are right now, and we'll call sort of private preview where if you're on a certain list, your tenant is on a list, then you can get access to some of these components and try them out.01:22:22.988 --> 01:22:26.770


This is not in any way any agentic experience yet.01:22:26.770 --> 01:22:46.270


This is just some improvements to the base product and we'll keep doing those over the next sort of few months and the idea is that we'll add the first sort of version of the agentic experience, enabling the end-to-end flow, creating the invoice and so on, with the next major release.01:22:46.511 --> 01:22:47.332


That is the next.01:22:47.332 --> 01:22:49.307


That is the plan.01:22:49.307 --> 01:23:00.993


So end of year, this calendar year, basically, how much will it then support in terms of how much accounting knowledge we'll have?01:23:00.993 --> 01:23:06.131


Well, that's what we need to figure out from now and until then.01:23:06.131 --> 01:23:08.307


Will we have the policy concept working?01:23:08.307 --> 01:23:13.322


Will we have some learning concepts working Well?01:23:13.322 --> 01:23:17.828


How much would we look at purchase history when we try to determine what the invoice should look like, and so on?01:23:17.828 --> 01:23:21.371


So that's to be decided.01:23:21.371 --> 01:23:42.411


But ideally we would have the first version working with the next major release and in US and maybe some other English-speaking countries to begin with, and then it's going to be an iterative process, adding more capabilities, adding more countries and so on after that.01:23:42.411 --> 01:23:45.208


But yeah, keep an eye out for the next major release.01:23:48.247 --> 01:23:56.529


That's the current plan Always a lot of great things added to each of the major releases, and well, so we appreciate you taking the time to speak with us today.01:23:56.529 --> 01:24:02.880


It's always a pleasure speaking with you, whether it's either on the podcast or in person, or even in some remote conversations.01:24:02.880 --> 01:24:14.904


We do appreciate you taking your time to speak with us and we appreciate all that you do for the community and as well as all of what your team is doing for Business Central for the users of the application.01:24:14.904 --> 01:24:21.985


If anyone has any questions or would like to learn more about the Payables, agents or other initiatives that you're working on, what's the best way to get in contact with you?01:24:22.890 --> 01:24:25.180


Well, this moment there's probably two good ways.01:24:25.180 --> 01:24:29.791


So one is on the Yammer site or Viva Engage If you're a partner.01:24:29.791 --> 01:24:32.667


Reach out there If you have questions that you don't want the world to see.01:24:32.667 --> 01:24:37.251


Otherwise, feel free to hook up with me on LinkedIn.01:24:37.251 --> 01:24:46.868


It's the only place that I'm sort of active from a sort of social media perspective, so feel free to send me messages there or tag me in the post or whatever, and I'll be there.01:24:46.889 --> 01:24:54.231


Great, Thank you very much for taking the time to speak with us again, and I hope you get some great gardening into the season as well.01:24:55.381 --> 01:24:59.470


Thank you so much, guys, pleasure all right, thank you so much soon ciao, ciao, bye.01:25:00.292 --> 01:25:08.725


Thank you, chris, for your time for another episode of in the dynamics, corner chair, and thank you to our guests for participating thank you, brad, for your.01:25:09.105 --> 01:25:12.673


It is a wonderful episode of Dynamics Corner Chair.01:25:12.673 --> 01:25:16.170


I would also like to thank our guests for joining us.01:25:16.170 --> 01:25:19.180


Thank you for all of our listeners tuning in as well.01:25:19.180 --> 01:25:33.707


You can find Brad at developerlifecom, that is D-V-L-P-R-L-I-F-E dot com, and you can interact with them via Twitter D-V-L-P-R-L-I-F-E dot com, and you can interact with them via Twitter D-V-L-P-R-L-I-F-E.01:25:33.707 --> 01:25:47.091


You can also find me at Mattalinoio, m-a-t-a-l-i-n-o dot I-O, and my Twitter handle is Mattalino16.01:25:47.091 --> 01:25:50.770


And you can see those links down below in the show notes.01:25:50.770 --> 01:25:52.144


Again, thank you everyone.01:25:52.144 --> 01:25:53.689


Thank you and take care.

Søren Friis Alexandersen Profile Photo

Søren Friis Alexandersen

Principal Product Manager