1
00:00:00,040 --> 00:00:03,600
Welcome to the M365 FM podcast,
where we explore the people,
2
00:00:03,600 --> 00:00:06,120
ideas and technologies shaping
the future of work.
3
00:00:06,120 --> 00:00:07,759
What a trigger actually is.
4
00:00:07,759 --> 00:00:09,240
Most people picture an AI agent
5
00:00:09,240 --> 00:00:10,320
as something you talk to a
6
00:00:10,320 --> 00:00:11,599
chatbot that sits there until
7
00:00:11,599 --> 00:00:12,320
you type.
8
00:00:12,320 --> 00:00:15,160
Triggers are the part that lets
it move first.
9
00:00:15,160 --> 00:00:16,519
They turn a polite question and
10
00:00:16,519 --> 00:00:17,640
answer bot into something that
11
00:00:17,640 --> 00:00:18,039
reacts.
12
00:00:18,039 --> 00:00:21,160
When a file lands in SharePoint,
a task gets assigned or a new
13
00:00:21,160 --> 00:00:22,440
person joins your team.
14
00:00:22,440 --> 00:00:23,800
In this episode, we're breaking
15
00:00:23,800 --> 00:00:25,519
down copilot studio triggers in
16
00:00:25,519 --> 00:00:26,199
plain language.
17
00:00:26,199 --> 00:00:28,199
No jargon, no admin details.
18
00:00:28,199 --> 00:00:29,800
Just what they are, how they
19
00:00:29,800 --> 00:00:31,179
work, and where they can cost
20
00:00:31,179 --> 00:00:32,159
you money.
21
00:00:32,159 --> 00:00:35,799
Welcome to the M365 FM podcast
where we explore the people,
22
00:00:35,799 --> 00:00:38,200
ideas and technologies shaping
the future of work.
23
00:00:38,200 --> 00:00:39,719
So here is the plain version.
24
00:00:39,719 --> 00:00:42,200
A trigger is the condition that
decides when your agent should
25
00:00:42,200 --> 00:00:43,280
do something at all.
26
00:00:43,280 --> 00:00:44,479
The clever conversation and the
27
00:00:44,479 --> 00:00:45,560
final answer are not the
28
00:00:45,560 --> 00:00:46,240
trigger.
29
00:00:46,240 --> 00:00:48,640
It's the small rule that says
this is your moment.
30
00:00:48,640 --> 00:00:51,560
An image helps here, and it's
the one I keep coming back to.
31
00:00:51,560 --> 00:00:55,439
Think of a topic inside Copilot
Studio as a room, and inside
32
00:00:55,439 --> 00:00:58,000
that room sits everything the
agent actually does.
33
00:00:58,000 --> 00:01:01,359
It asks the questions, sends the
messages, runs the flow, and
34
00:01:01,359 --> 00:01:03,079
updates the record in Dataverse.
35
00:01:03,079 --> 00:01:05,599
The trigger is the doorway into
that room, and it decides
36
00:01:05,599 --> 00:01:07,879
whether the person standing
outside gets to walk in.
37
00:01:07,879 --> 00:01:10,560
This matters more than it sounds
when your triggers are vague.
38
00:01:10,560 --> 00:01:11,920
One of three things happens.
39
00:01:11,920 --> 00:01:14,079
No topic starts at all and your
agent looks lost.
40
00:01:14,079 --> 00:01:15,239
The wrong topic starts and it
41
00:01:15,239 --> 00:01:16,879
answers a question nobody asked,
42
00:01:16,879 --> 00:01:18,480
or the user gets a flat generic
43
00:01:18,480 --> 00:01:19,719
fallback reply that tells them
44
00:01:19,719 --> 00:01:20,680
nothing useful.
45
00:01:20,680 --> 00:01:22,239
Microsoft's own documentation
46
00:01:22,239 --> 00:01:23,879
describes triggers as the way an
47
00:01:23,879 --> 00:01:25,200
agent intercepts and handles
48
00:01:25,200 --> 00:01:26,620
different events or incoming
49
00:01:26,620 --> 00:01:27,519
activities.
50
00:01:27,519 --> 00:01:28,640
That's a long way of saying the
51
00:01:28,640 --> 00:01:29,879
trigger notices that something
52
00:01:29,879 --> 00:01:31,200
happened and then decides to act
53
00:01:31,200 --> 00:01:31,760
on it.
54
00:01:31,760 --> 00:01:33,000
A trigger is small, but it does
55
00:01:33,000 --> 00:01:34,359
a lot of quiet work behind the
56
00:01:34,359 --> 00:01:35,040
scenes.
57
00:01:35,040 --> 00:01:37,959
It's the difference between an
agent that feels alive and one
58
00:01:37,959 --> 00:01:40,620
that just sits there waiting for
a human to push it, and some
59
00:01:40,620 --> 00:01:43,640
triggers fire when nobody is
typing at all, which is the part
60
00:01:43,640 --> 00:01:45,359
beginners never see coming.
61
00:01:45,359 --> 00:01:46,760
The two families of triggers.
62
00:01:46,760 --> 00:01:48,959
One you start and one that
starts itself.
63
00:01:48,959 --> 00:01:52,040
Every trigger in Copilot studio
belongs to one of two families.
64
00:01:52,040 --> 00:01:55,040
And once you see the split, the
whole tool gets easier to hold
65
00:01:55,040 --> 00:01:55,719
in your head.
66
00:01:55,719 --> 00:01:57,920
The first family is the one you
already understand.
67
00:01:57,920 --> 00:02:01,055
These are toxic triggers and
they're user led, which means
68
00:02:01,055 --> 00:02:04,030
they start a topic or an action
based on what a person says.
69
00:02:04,030 --> 00:02:06,609
Someone types a question and the
trigger works out which topic
70
00:02:06,609 --> 00:02:07,629
should handle it.
71
00:02:07,629 --> 00:02:09,949
The second family is the one
that surprises people.
72
00:02:09,949 --> 00:02:12,629
Event triggers are system led
and they start agent behavior.
73
00:02:12,629 --> 00:02:13,909
When something happens outside
74
00:02:13,909 --> 00:02:15,389
the chat, nobody types anything
75
00:02:15,389 --> 00:02:16,030
at all.
76
00:02:16,030 --> 00:02:17,750
A file shows up in OneDrive.
77
00:02:17,750 --> 00:02:20,710
A task gets marked done in
planner, a new row appears in a
78
00:02:20,710 --> 00:02:23,430
table, or a schedule ticks past
a certain time.
79
00:02:23,430 --> 00:02:26,150
The event itself wakes the agent
up with no person involved.
80
00:02:26,150 --> 00:02:27,669
So the clean way to hold it is
81
00:02:27,669 --> 00:02:29,110
this one family is someone asked
82
00:02:29,110 --> 00:02:30,030
and the other family is
83
00:02:30,030 --> 00:02:31,150
something happened.
84
00:02:31,150 --> 00:02:33,189
If a person is the reason your
agent runs.
85
00:02:33,189 --> 00:02:34,389
You want a topic trigger.
86
00:02:34,389 --> 00:02:37,189
If a system event is the reason
you want an event trigger.
87
00:02:37,189 --> 00:02:40,189
That distinction sounds simple
and it is, but it changes how
88
00:02:40,189 --> 00:02:41,949
you design everything.
89
00:02:41,949 --> 00:02:43,110
With a topic trigger, you're
90
00:02:43,110 --> 00:02:44,590
mostly thinking about words, the
91
00:02:44,590 --> 00:02:45,870
phrasing people use, and how to
92
00:02:45,870 --> 00:02:46,870
recognize it.
93
00:02:46,870 --> 00:02:47,990
With an event trigger, you're
94
00:02:47,990 --> 00:02:49,469
thinking about systems instead,
95
00:02:49,469 --> 00:02:51,069
what fires the event and what
96
00:02:51,069 --> 00:02:52,270
the agent should do the moment
97
00:02:52,270 --> 00:02:52,710
it lands.
98
00:02:52,710 --> 00:02:54,590
There's a third tool worth
naming here, too.
99
00:02:54,590 --> 00:02:57,669
When a connector is hard for the
agent to call directly, or when
100
00:02:57,669 --> 00:03:00,629
you need strict step by step
logic around an approval, an
101
00:03:00,629 --> 00:03:02,349
update, or a notification.
102
00:03:02,349 --> 00:03:05,990
Microsoft's guidance is to reach
for a power automate flow.
103
00:03:05,990 --> 00:03:07,229
Think of it as the dependable
104
00:03:07,229 --> 00:03:08,750
back office behind the agent,
105
00:03:08,750 --> 00:03:09,990
while the trigger is the front
106
00:03:09,990 --> 00:03:10,750
door.
107
00:03:10,750 --> 00:03:12,550
The two families are not equal,
though.
108
00:03:12,550 --> 00:03:13,710
A topic trigger always has a
109
00:03:13,710 --> 00:03:14,590
human in the loop because
110
00:03:14,590 --> 00:03:15,849
someone had to ask for something
111
00:03:15,849 --> 00:03:16,550
first.
112
00:03:16,550 --> 00:03:17,909
An event trigger can run on its
113
00:03:17,909 --> 00:03:19,189
own at three in the morning with
114
00:03:19,189 --> 00:03:19,990
nobody watching.
115
00:03:19,990 --> 00:03:21,030
That is where the power sits,
116
00:03:21,030 --> 00:03:22,030
and it's also where the risk
117
00:03:22,030 --> 00:03:22,550
lives.
118
00:03:22,550 --> 00:03:23,710
Hold on to that risk.
119
00:03:23,710 --> 00:03:24,789
There's a cost side to running
120
00:03:24,789 --> 00:03:26,270
on its own, and we'll get to it
121
00:03:26,270 --> 00:03:27,590
soon.
122
00:03:27,590 --> 00:03:29,550
How a topic trigger figures out
what you mean.
123
00:03:29,550 --> 00:03:32,349
Let's take the user led family
first, because this is the one
124
00:03:32,349 --> 00:03:33,349
beginners build first.
125
00:03:33,349 --> 00:03:34,569
Inside a topic, you write
126
00:03:34,569 --> 00:03:35,669
trigger phrases, which are
127
00:03:35,669 --> 00:03:37,849
example sentences that stand in
128
00:03:37,849 --> 00:03:39,469
for how people actually ask for
129
00:03:39,469 --> 00:03:39,909
something.
130
00:03:39,909 --> 00:03:41,870
Say you're building a leave
request topic.
131
00:03:41,870 --> 00:03:44,330
Your phrases might be apply
leave request, vacation book,
132
00:03:44,330 --> 00:03:46,550
time off, I need leave or can I
take leave tomorrow?
133
00:03:46,550 --> 00:03:48,550
You're not writing a script the
user has to follow.
134
00:03:48,550 --> 00:03:51,129
You're giving your agent a
handful of realistic ways to
135
00:03:51,129 --> 00:03:52,509
recognize the same request.
136
00:03:52,509 --> 00:03:54,550
People get the wrong idea about
this step.
137
00:03:54,550 --> 00:03:57,129
Trigger matching isn't keyword
search, where the user has to
138
00:03:57,129 --> 00:03:58,949
type the exact phrase you saved.
139
00:03:58,949 --> 00:04:00,509
Copilot studio reads the intent
140
00:04:00,509 --> 00:04:01,990
behind the message so someone
141
00:04:01,990 --> 00:04:03,150
can type something you never
142
00:04:03,150 --> 00:04:03,590
wrote.
143
00:04:03,590 --> 00:04:04,949
And the right topic can still
144
00:04:04,949 --> 00:04:06,389
start as long as your examples
145
00:04:06,389 --> 00:04:07,349
captured the shape of the
146
00:04:07,349 --> 00:04:08,389
request.
147
00:04:08,389 --> 00:04:10,669
A good phrase list is short,
natural, and varied.
148
00:04:10,669 --> 00:04:14,110
You want the words real people
use, so mix, leave, vacation
149
00:04:14,110 --> 00:04:15,030
time off, and holiday.
150
00:04:15,030 --> 00:04:16,189
If those are common where you
151
00:04:16,189 --> 00:04:17,310
work, you don't need hundreds of
152
00:04:17,310 --> 00:04:18,629
phrases and near duplicates
153
00:04:18,629 --> 00:04:19,269
don't help.
154
00:04:19,269 --> 00:04:22,230
You need to cover the realistic
ways people ask and then test
155
00:04:22,230 --> 00:04:25,350
them, including partial phrases,
typos, and longer questions.
156
00:04:25,350 --> 00:04:26,990
If you're stuck for ideas, raid
157
00:04:26,990 --> 00:04:27,949
your support tickets or your
158
00:04:27,949 --> 00:04:28,430
chat logs.
159
00:04:28,430 --> 00:04:29,769
Real questions from real people
160
00:04:29,769 --> 00:04:31,029
are the best phrase list you'll
161
00:04:31,029 --> 00:04:32,550
ever find, and they'll tell you
162
00:04:32,550 --> 00:04:33,790
which words your organization
163
00:04:33,790 --> 00:04:34,790
actually uses.
164
00:04:34,790 --> 00:04:37,829
When two topics look equally
good, Copilot studio has a built
165
00:04:37,829 --> 00:04:39,189
in way to handle it.
166
00:04:39,189 --> 00:04:42,149
It can show a multiple topics
matched list, so the user just
167
00:04:42,149 --> 00:04:43,670
picks which one they meant.
168
00:04:43,670 --> 00:04:45,509
That's much friendlier than a
wrong guess.
169
00:04:45,509 --> 00:04:46,750
And it also tells you that two
170
00:04:46,750 --> 00:04:47,670
of your topics might be
171
00:04:47,670 --> 00:04:48,589
overlapping.
172
00:04:48,589 --> 00:04:50,149
There's an order to things as
well.
173
00:04:50,149 --> 00:04:51,910
Some trigger types fire before
others.
174
00:04:51,910 --> 00:04:53,230
And if two triggers of the same
175
00:04:53,230 --> 00:04:55,189
type both qualify, the older one
176
00:04:55,189 --> 00:04:55,790
runs first.
177
00:04:55,790 --> 00:04:58,110
You can set a priority yourself
to override that.
178
00:04:58,110 --> 00:05:01,045
You can also add conditions, so
a trigger only fires when the
179
00:05:01,045 --> 00:05:02,060
situation is right.
180
00:05:02,060 --> 00:05:03,259
For example, only when the
181
00:05:03,259 --> 00:05:04,500
conversation is happening inside
182
00:05:04,500 --> 00:05:06,139
Microsoft Teams, when a plain
183
00:05:06,139 --> 00:05:07,620
condition isn't enough, there's
184
00:05:07,620 --> 00:05:08,779
a formula editor for anything
185
00:05:08,779 --> 00:05:09,779
more complicated.
186
00:05:09,779 --> 00:05:12,660
One thing changed recently, and
it's worth knowing before you
187
00:05:12,660 --> 00:05:14,100
follow an old tutorial.
188
00:05:14,100 --> 00:05:15,740
Newer agents use a mode called
189
00:05:15,740 --> 00:05:17,740
Generative Orchestration, and
190
00:05:17,740 --> 00:05:18,060
they're.
191
00:05:18,060 --> 00:05:19,980
The default trigger is the agent
chooses.
192
00:05:19,980 --> 00:05:21,259
Instead of matching phrases, the
193
00:05:21,259 --> 00:05:22,660
agent looks at a topic's name
194
00:05:22,660 --> 00:05:24,019
and its description and decides
195
00:05:24,019 --> 00:05:25,259
whether it fits what the user
196
00:05:25,259 --> 00:05:25,819
asked.
197
00:05:25,819 --> 00:05:27,060
Older style agents use.
198
00:05:27,060 --> 00:05:28,779
User says a phrase which is the
199
00:05:28,779 --> 00:05:30,139
phrase matching version we just
200
00:05:30,139 --> 00:05:31,060
walked through.
201
00:05:31,060 --> 00:05:33,779
Both are still alive in the
product, so if a tutorial looks
202
00:05:33,779 --> 00:05:37,019
different from your screen,
that's usually the reason how an
203
00:05:37,019 --> 00:05:40,300
event trigger lets your agent
act on its own.
204
00:05:40,300 --> 00:05:41,420
Now let's look at the family
205
00:05:41,420 --> 00:05:42,500
that runs without anyone
206
00:05:42,500 --> 00:05:43,180
watching.
207
00:05:43,180 --> 00:05:44,339
Before you can use an event
208
00:05:44,339 --> 00:05:45,740
trigger, your agent needs
209
00:05:45,740 --> 00:05:47,180
generative orchestration turned
210
00:05:47,180 --> 00:05:47,620
on.
211
00:05:47,620 --> 00:05:50,019
Orchestration is just the
agent's ability to decide which
212
00:05:50,019 --> 00:05:51,379
tool or topic to use.
213
00:05:51,379 --> 00:05:52,660
And in plain terms, it's the
214
00:05:52,660 --> 00:05:54,420
part doing the choosing event
215
00:05:54,420 --> 00:05:54,740
triggers.
216
00:05:54,740 --> 00:05:56,939
Build on that because the agent
has to figure out what to do
217
00:05:56,939 --> 00:05:58,740
with the event once it arrives.
218
00:05:58,740 --> 00:06:01,620
The flow has three steps, and
they're easier than they sound.
219
00:06:01,620 --> 00:06:04,019
First, an event happens
somewhere else, like a new item
220
00:06:04,019 --> 00:06:05,379
appearing in SharePoint.
221
00:06:05,379 --> 00:06:08,180
Second, the trigger sends what
Microsoft calls a payload, which
222
00:06:08,180 --> 00:06:10,740
is a small bundle of information
about the event, plus any
223
00:06:10,740 --> 00:06:12,500
instructions you want to attach.
224
00:06:12,500 --> 00:06:14,939
Third, the agent reads that
bundle and picks an action or a
225
00:06:14,939 --> 00:06:15,819
topic to run.
226
00:06:15,819 --> 00:06:17,939
The library of events is bigger
than you'd guess.
227
00:06:17,939 --> 00:06:19,139
A new item in SharePoint.
228
00:06:19,139 --> 00:06:22,279
A new file in OneDrive, a task
completed in planner, or a set
229
00:06:22,279 --> 00:06:24,620
amount of time passing, which is
the recurrence trigger.
230
00:06:24,620 --> 00:06:26,939
You pick the event and then you
narrow it down.
231
00:06:26,939 --> 00:06:30,620
So for a table in Dataverse, you
choose which tables changes
232
00:06:30,620 --> 00:06:31,860
should wake the agent.
233
00:06:31,860 --> 00:06:33,259
One thing trips up beginners
here.
234
00:06:33,259 --> 00:06:34,980
The agent doesn't invent an
action on the spot.
235
00:06:34,980 --> 00:06:36,100
You have to build the action or
236
00:06:36,100 --> 00:06:37,740
the topic first, and then your
237
00:06:37,740 --> 00:06:38,259
instructions.
238
00:06:38,259 --> 00:06:39,980
Tell the agent which one to
reach for.
239
00:06:39,980 --> 00:06:41,300
If you expect the trigger to do
240
00:06:41,300 --> 00:06:42,660
the work by itself, you'll be
241
00:06:42,660 --> 00:06:43,579
disappointed.
242
00:06:43,579 --> 00:06:44,720
You also have two places to
243
00:06:44,720 --> 00:06:46,060
write instructions, and keeping
244
00:06:46,060 --> 00:06:47,060
them straight saves you a
245
00:06:47,060 --> 00:06:47,660
headache.
246
00:06:47,660 --> 00:06:48,620
There are the agent's general
247
00:06:48,620 --> 00:06:49,899
instructions which cover how it
248
00:06:49,899 --> 00:06:51,420
behaves overall, and there are
249
00:06:51,420 --> 00:06:52,620
the instructions inside each
250
00:06:52,620 --> 00:06:54,180
trigger payload which cover this
251
00:06:54,180 --> 00:06:55,019
one event.
252
00:06:55,019 --> 00:06:57,899
When those two disagree, you get
errors or strange behavior.
253
00:06:57,899 --> 00:07:00,420
So the guidance is to keep them
consistent.
254
00:07:00,420 --> 00:07:01,560
If an agent has several
255
00:07:01,560 --> 00:07:03,060
triggers, put the event specific
256
00:07:03,060 --> 00:07:04,459
detail in the payload instead of
257
00:07:04,459 --> 00:07:05,420
overloading the general
258
00:07:05,420 --> 00:07:06,180
instructions.
259
00:07:06,180 --> 00:07:07,379
There's a testing step here that
260
00:07:07,379 --> 00:07:08,699
beginners skip, and it's worth
261
00:07:08,699 --> 00:07:10,139
slowing down for before you
262
00:07:10,139 --> 00:07:10,579
publish.
263
00:07:10,579 --> 00:07:13,259
The agent won't react to the
trigger automatically, so you
264
00:07:13,259 --> 00:07:16,060
run the event once to create a
payload, then use the test
265
00:07:16,060 --> 00:07:18,540
trigger icon to send that
payload into the test chat and
266
00:07:18,540 --> 00:07:19,540
watch what happens.
267
00:07:19,540 --> 00:07:22,939
The activity map shows you step
by step how the agent responded,
268
00:07:22,939 --> 00:07:25,779
which is how you catch a missing
input before real users do.
269
00:07:25,779 --> 00:07:27,060
Event triggers authenticate
270
00:07:27,060 --> 00:07:28,060
using the maker's own
271
00:07:28,060 --> 00:07:28,779
credentials.
272
00:07:28,779 --> 00:07:30,500
The account of the person who
built them.
273
00:07:30,500 --> 00:07:32,500
That's what lets the agent run
unattended.
274
00:07:32,500 --> 00:07:33,860
And it's also why Microsoft
275
00:07:33,860 --> 00:07:34,939
shows a warning before you
276
00:07:34,939 --> 00:07:36,540
publish, your agent might reach
277
00:07:36,540 --> 00:07:37,740
data and systems that you can
278
00:07:37,740 --> 00:07:39,259
access on behalf of people who
279
00:07:39,259 --> 00:07:41,199
can't, so the power and the risk
280
00:07:41,199 --> 00:07:42,459
arrive together.
281
00:07:42,459 --> 00:07:45,779
An agent that can act on its own
at any hour is useful, and that
282
00:07:45,779 --> 00:07:48,660
same agent is something you have
to point carefully.
283
00:07:48,660 --> 00:07:50,779
Three everyday examples that
make triggers.
284
00:07:50,779 --> 00:07:51,300
Click.
285
00:07:51,300 --> 00:07:54,379
Three examples will make this
concrete because the idea lands
286
00:07:54,379 --> 00:07:56,180
better when you can picture it.
287
00:07:56,180 --> 00:07:59,139
Example one is the leave request
and this one is a topic trigger
288
00:07:59,139 --> 00:07:59,980
an employee types.
289
00:07:59,980 --> 00:08:01,569
I need to book time off next
week.
290
00:08:01,569 --> 00:08:02,730
The trigger recognizes the
291
00:08:02,730 --> 00:08:04,050
intent and starts the leave
292
00:08:04,050 --> 00:08:05,050
request topic.
293
00:08:05,050 --> 00:08:06,329
From there, the agent walks them
294
00:08:06,329 --> 00:08:07,430
through it, asking for the leave
295
00:08:07,430 --> 00:08:08,730
type and the dates and maybe a
296
00:08:08,730 --> 00:08:09,449
reason.
297
00:08:09,449 --> 00:08:12,170
Then it submits the request
through a flow and confirms that
298
00:08:12,170 --> 00:08:13,089
it went through.
299
00:08:13,089 --> 00:08:15,649
The person never has to learn
the menu or know the name of the
300
00:08:15,649 --> 00:08:18,250
process, because they just ask
in their own words.
301
00:08:18,250 --> 00:08:21,730
Example two is the new hire and
this one is an event trigger.
302
00:08:21,730 --> 00:08:23,410
Picture a new team member being
added.
303
00:08:23,410 --> 00:08:26,370
An event trigger fires on that
moment, and the agent sends a
304
00:08:26,370 --> 00:08:29,050
welcome message with the
onboarding resources that person
305
00:08:29,050 --> 00:08:29,889
needs on day one.
306
00:08:29,889 --> 00:08:31,290
Nobody in it has to remember
307
00:08:31,290 --> 00:08:32,330
because the event is the
308
00:08:32,330 --> 00:08:33,090
reminder.
309
00:08:33,090 --> 00:08:35,730
The same pattern works for a new
order coming in, where the agent
310
00:08:35,730 --> 00:08:38,929
confirms availability, checks
shipping timelines, and sends
311
00:08:38,929 --> 00:08:40,009
the customer an update.
312
00:08:40,009 --> 00:08:42,610
Example three is the quiet one
and it's my favorite.
313
00:08:42,610 --> 00:08:45,169
An event trigger watches the
table in Dataverse, and every
314
00:08:45,169 --> 00:08:47,409
time a new row shows up, it
checks whether the account name
315
00:08:47,409 --> 00:08:48,210
is a duplicate.
316
00:08:48,210 --> 00:08:51,049
When it finds one, it creates a
to do task to investigate with
317
00:08:51,049 --> 00:08:52,330
the details attached.
318
00:08:52,330 --> 00:08:54,370
Nobody is staring at a
spreadsheet and the agent just
319
00:08:54,370 --> 00:08:55,929
keeps watch on its own.
320
00:08:55,929 --> 00:08:57,809
Notice what all three have in
common.
321
00:08:57,809 --> 00:09:00,970
The person gets a fast, natural
experience and the maker spent
322
00:09:00,970 --> 00:09:03,529
their effort on the trigger and
the instructions rather than on
323
00:09:03,529 --> 00:09:04,529
the chat itself.
324
00:09:04,529 --> 00:09:05,690
That's the trade you're making,
325
00:09:05,690 --> 00:09:06,769
and most of the time it's a good
326
00:09:06,769 --> 00:09:07,210
one.
327
00:09:07,210 --> 00:09:08,309
But there's a bill attached to
328
00:09:08,309 --> 00:09:09,529
that third example, the one that
329
00:09:09,529 --> 00:09:10,450
keeps watch.
330
00:09:10,450 --> 00:09:12,289
And it's the reason a perfectly
331
00:09:12,289 --> 00:09:13,250
innocent trigger can get
332
00:09:13,250 --> 00:09:13,809
expensive.
333
00:09:13,809 --> 00:09:15,250
Let's talk about that next.
334
00:09:15,250 --> 00:09:16,289
What triggers cost?
335
00:09:16,289 --> 00:09:17,570
Because they are not free.
336
00:09:17,570 --> 00:09:19,250
The cost catches almost everyone
off guard.
337
00:09:19,250 --> 00:09:20,409
So let's start there.
338
00:09:20,409 --> 00:09:23,210
Copilot studio builds in units
called copilot credits.
339
00:09:23,210 --> 00:09:24,850
And the counting rule that
catches people.
340
00:09:24,850 --> 00:09:25,970
Is this a message?
341
00:09:25,970 --> 00:09:27,409
Is any request or message that
342
00:09:27,409 --> 00:09:28,889
triggers an action or a response
343
00:09:28,889 --> 00:09:30,570
from the agent and payload sent
344
00:09:30,570 --> 00:09:31,850
from event triggers count as
345
00:09:31,850 --> 00:09:32,529
messages.
346
00:09:32,529 --> 00:09:34,090
Read that part again because it
347
00:09:34,090 --> 00:09:35,490
means the event itself is
348
00:09:35,490 --> 00:09:36,049
billable.
349
00:09:36,049 --> 00:09:38,889
Every time your trigger wakes
the agent up, that's a message.
350
00:09:38,889 --> 00:09:40,529
Now think about the recurrence
trigger.
351
00:09:40,529 --> 00:09:41,929
It fires on a timer every time
352
00:09:41,929 --> 00:09:43,009
the clock reaches the interval
353
00:09:43,009 --> 00:09:43,690
you set.
354
00:09:43,690 --> 00:09:44,850
If you set it to every ten
355
00:09:44,850 --> 00:09:46,330
minutes, your agent gets a
356
00:09:46,330 --> 00:09:47,610
payload, a message every ten
357
00:09:47,610 --> 00:09:47,970
minutes.
358
00:09:47,970 --> 00:09:50,169
That's one hundred and forty
four messages a day for as long
359
00:09:50,169 --> 00:09:51,169
as you leave it switched on.
360
00:09:51,169 --> 00:09:52,970
Whether anything useful happens
or not.
361
00:09:52,970 --> 00:09:54,250
It's easy to build that on a
362
00:09:54,250 --> 00:09:55,450
Friday and forget about it by
363
00:09:55,450 --> 00:09:56,210
Monday.
364
00:09:56,210 --> 00:09:58,690
The rates themselves are set in
credits, and they vary by what
365
00:09:58,690 --> 00:09:59,610
the agent does.
366
00:09:59,610 --> 00:10:00,850
A classic answer, one that you
367
00:10:00,850 --> 00:10:02,450
wrote by hand, costs about one
368
00:10:02,450 --> 00:10:02,889
credit.
369
00:10:02,889 --> 00:10:05,769
A generative answer, one the AI
writes on the fly is about two
370
00:10:05,769 --> 00:10:08,370
an agent action, which is a step
like a trigger or a topic
371
00:10:08,370 --> 00:10:10,409
transition is about five.
372
00:10:10,409 --> 00:10:11,409
Grounding an answer in your
373
00:10:11,409 --> 00:10:12,830
company's own data costs more
374
00:10:12,830 --> 00:10:14,610
around ten and running agent
375
00:10:14,610 --> 00:10:14,929
flows.
376
00:10:14,929 --> 00:10:17,929
The predefined sequences of
steps is built at about thirteen
377
00:10:17,929 --> 00:10:19,409
credits per one hundred actions.
378
00:10:19,409 --> 00:10:21,210
Those numbers are illustrative
and they change.
379
00:10:21,210 --> 00:10:23,929
So check the current licensing
page before you plan a budget.
380
00:10:23,929 --> 00:10:26,409
There's a piece of good news
hiding in here, though.
381
00:10:26,409 --> 00:10:28,529
If the person using your agent
has a Microsoft three.
382
00:10:28,529 --> 00:10:30,889
Sixty five copilot license
employee facing usage is
383
00:10:30,889 --> 00:10:32,129
included at no charge.
384
00:10:32,129 --> 00:10:33,409
The exception is agent flows
385
00:10:33,409 --> 00:10:34,409
that are triggered some other
386
00:10:34,409 --> 00:10:35,690
way, which bill at the normal
387
00:10:35,690 --> 00:10:36,169
rate.
388
00:10:36,169 --> 00:10:37,250
And there's a hard edge worth
389
00:10:37,250 --> 00:10:38,610
knowing if your environment
390
00:10:38,610 --> 00:10:40,570
blows past its prepaid capacity
391
00:10:40,570 --> 00:10:41,649
at one hundred and twenty five
392
00:10:41,649 --> 00:10:43,090
percent, agents get switched
393
00:10:43,090 --> 00:10:43,409
off.
394
00:10:43,409 --> 00:10:46,210
Users see a message saying the
agent is unavailable or that
395
00:10:46,210 --> 00:10:47,289
there's a billing issue.
396
00:10:47,289 --> 00:10:48,809
Nobody likes that surprise.
397
00:10:48,809 --> 00:10:51,649
So a trigger that runs forever
deserves a second look before
398
00:10:51,649 --> 00:10:53,450
you walk away.
399
00:10:53,450 --> 00:10:54,610
The limits and the mistakes
400
00:10:54,610 --> 00:10:56,370
beginners make money is one
401
00:10:56,370 --> 00:10:58,289
limit, reliability is the other,
402
00:10:58,289 --> 00:10:59,409
and this is the one they hit
403
00:10:59,409 --> 00:11:00,169
first.
404
00:11:00,169 --> 00:11:01,210
Start with the words because
405
00:11:01,210 --> 00:11:02,460
most trigger problems live
406
00:11:02,460 --> 00:11:03,000
there.
407
00:11:03,000 --> 00:11:05,559
Too few example phrases and your
agent misses requests.
408
00:11:05,559 --> 00:11:08,720
It should catch duplicate
phrases across two topics and it
409
00:11:08,720 --> 00:11:10,000
can't tell them apart.
410
00:11:10,000 --> 00:11:13,200
Long unnatural sentences like
initiate employee absence
411
00:11:13,200 --> 00:11:15,879
management transaction confuse
the matching because nobody
412
00:11:15,879 --> 00:11:17,200
actually talks that way.
413
00:11:17,200 --> 00:11:19,899
And when two topics are simply
too similar, the agent has to
414
00:11:19,899 --> 00:11:22,720
guess the fix is boring and
effective, which is to read how
415
00:11:22,720 --> 00:11:25,919
real people ask from support
tickets or chat logs and write
416
00:11:25,919 --> 00:11:27,279
your phrases the way they do.
417
00:11:27,279 --> 00:11:29,840
There's a quick sanity check you
can run on yourself.
418
00:11:29,840 --> 00:11:32,159
If two of your topics could both
plausibly answer the same
419
00:11:32,159 --> 00:11:33,600
message, they'll fight over it.
420
00:11:33,600 --> 00:11:36,279
So either merge them or sharpen
their descriptions until only
421
00:11:36,279 --> 00:11:37,559
one clearly fits.
422
00:11:37,559 --> 00:11:38,960
Then there are instruction
problems.
423
00:11:38,960 --> 00:11:40,600
Vague agent instructions leave
424
00:11:40,600 --> 00:11:42,279
the agent guessing and payload
425
00:11:42,279 --> 00:11:43,679
instructions that contradict the
426
00:11:43,679 --> 00:11:43,960
agent.
427
00:11:43,960 --> 00:11:46,799
Instructions produce errors or
odd behavior.
428
00:11:46,799 --> 00:11:49,600
So the advice is to say what you
mean in one place and keep the
429
00:11:49,600 --> 00:11:51,480
two sets of instructions
agreeing with each other.
430
00:11:51,480 --> 00:11:54,000
Now the harder truth, and I want
to be fair about it.
431
00:11:54,000 --> 00:11:57,240
Some makers report that event
triggers fire inconsistently.
432
00:11:57,240 --> 00:12:00,159
One person on Microsoft's own
question and answer site
433
00:12:00,159 --> 00:12:03,480
described an email trigger that
worked, then stopped, then
434
00:12:03,480 --> 00:12:06,639
worked again after republishing
with Power Automate reporting
435
00:12:06,639 --> 00:12:08,039
success the whole time.
436
00:12:08,039 --> 00:12:09,480
The likely reasons are messy and
437
00:12:09,480 --> 00:12:11,080
they include preview status in
438
00:12:11,080 --> 00:12:12,679
some environments, connection
439
00:12:12,679 --> 00:12:14,759
and identity mismatches, a flow,
440
00:12:14,759 --> 00:12:15,720
and an agent sitting in
441
00:12:15,720 --> 00:12:16,840
different environments
442
00:12:16,840 --> 00:12:18,559
throttling under load and the
443
00:12:18,559 --> 00:12:20,879
way email triggers batch their
444
00:12:20,879 --> 00:12:22,399
events.
445
00:12:22,399 --> 00:12:24,679
Treat that as a community report
rather than an official
446
00:12:24,679 --> 00:12:27,879
guarantee, and design like the
event might not fire.
447
00:12:27,879 --> 00:12:30,960
That last point matters if the
work really has to happen.
448
00:12:30,960 --> 00:12:33,879
Don't let a single trigger be
your only safety net.
449
00:12:33,879 --> 00:12:35,039
Microsoft's own guidance
450
00:12:35,039 --> 00:12:36,440
suggests using a power automate
451
00:12:36,440 --> 00:12:37,600
flow when a connector won't
452
00:12:37,600 --> 00:12:38,879
cooperate, and building the
453
00:12:38,879 --> 00:12:40,139
whole thing so it can retry
454
00:12:40,139 --> 00:12:40,840
safely.
455
00:12:40,840 --> 00:12:43,000
There are some plain guardrails
worth carrying with you.
456
00:12:43,000 --> 00:12:45,580
Keep the number of actions and
topics an agent calls in a row
457
00:12:45,580 --> 00:12:48,399
under fifteen because long
chains get unreliable.
458
00:12:48,399 --> 00:12:49,879
Be careful with very frequent or
459
00:12:49,879 --> 00:12:50,759
never ending recurrence
460
00:12:50,759 --> 00:12:51,759
triggers, since they burn
461
00:12:51,759 --> 00:12:52,860
resources and can get you
462
00:12:52,860 --> 00:12:53,480
throttled.
463
00:12:53,480 --> 00:12:56,159
Keep an eye on how many triggers
are active in an environment,
464
00:12:56,159 --> 00:12:58,960
and remember that availability
isn't only up to you, because an
465
00:12:58,960 --> 00:13:02,240
administrator can block certain
triggers through data policies
466
00:13:02,240 --> 00:13:04,960
and adding event triggers
requires a specific sharing
467
00:13:04,960 --> 00:13:06,679
setting to be turned on.
468
00:13:06,679 --> 00:13:08,360
So when a trigger simply isn't
469
00:13:08,360 --> 00:13:09,720
there for you, it's often a
470
00:13:09,720 --> 00:13:11,159
setting rather than a missing
471
00:13:11,159 --> 00:13:12,360
feature.
472
00:13:12,360 --> 00:13:14,399
Where all of this lives in
Microsoft three hundred sixty
473
00:13:14,399 --> 00:13:15,320
five and Azure.
474
00:13:15,320 --> 00:13:16,840
Step back and it helps to see
475
00:13:16,840 --> 00:13:17,960
where triggers sit in the bigger
476
00:13:17,960 --> 00:13:18,600
picture.
477
00:13:18,600 --> 00:13:21,159
There are really three layers
and you can hold them as people.
478
00:13:21,159 --> 00:13:22,440
Platform and power.
479
00:13:22,440 --> 00:13:25,200
Microsoft three hundred sixty
five copilot is the layer for
480
00:13:25,200 --> 00:13:29,519
people, a license that puts AI
into the tools they already use.
481
00:13:29,519 --> 00:13:31,279
Copilot studio is the platform
482
00:13:31,279 --> 00:13:32,679
layer, the low code place where
483
00:13:32,679 --> 00:13:34,279
you build the agent, wire up its
484
00:13:34,279 --> 00:13:35,639
triggers and connect it to the
485
00:13:35,639 --> 00:13:37,000
channels where people meet it,
486
00:13:37,000 --> 00:13:38,419
like Microsoft Teams or a web
487
00:13:38,419 --> 00:13:39,120
page.
488
00:13:39,120 --> 00:13:40,639
Azure is the power layer where
489
00:13:40,639 --> 00:13:42,480
heavier custom AI work runs and
490
00:13:42,480 --> 00:13:43,879
where the pay as you go meter
491
00:13:43,879 --> 00:13:44,360
lives.
492
00:13:44,360 --> 00:13:45,879
That meter is a nice detail for
493
00:13:45,879 --> 00:13:46,919
beginners because it lets you
494
00:13:46,919 --> 00:13:47,519
start small.
495
00:13:47,519 --> 00:13:50,480
You can build inside Copilot
Studio and never touch Azure.
496
00:13:50,480 --> 00:13:51,840
If you do grow, you can link an
497
00:13:51,840 --> 00:13:53,039
Azure subscription for pay as
498
00:13:53,039 --> 00:13:54,840
you go, which also means overage
499
00:13:54,840 --> 00:13:55,919
bills to that subscription
500
00:13:55,919 --> 00:13:57,039
instead of switching your agents
501
00:13:57,039 --> 00:13:57,480
off.
502
00:13:57,480 --> 00:13:58,639
If you bring your own model,
503
00:13:58,639 --> 00:13:59,759
including the ones from Azure
504
00:13:59,759 --> 00:14:01,399
Foundry that's built separately
505
00:14:01,399 --> 00:14:02,710
outside the copilot studio
506
00:14:02,710 --> 00:14:03,350
credit rates.
507
00:14:03,350 --> 00:14:04,350
So the shape is simple.
508
00:14:04,350 --> 00:14:05,029
Microsoft three.
509
00:14:05,029 --> 00:14:07,029
Sixty five copilot is your
license.
510
00:14:07,029 --> 00:14:10,389
Copilot studio is the place you
build and the heavy lifting plus
511
00:14:10,389 --> 00:14:11,389
the billing flexibility.
512
00:14:11,389 --> 00:14:12,309
Live in Azure.
513
00:14:12,309 --> 00:14:14,029
You don't need all three to get
started.
514
00:14:14,029 --> 00:14:16,470
And that's the encouraging part.
515
00:14:16,470 --> 00:14:18,830
A quick recap and one question
for you.
516
00:14:18,830 --> 00:14:20,029
Let's pull it together.
517
00:14:20,029 --> 00:14:22,909
A trigger is the small condition
that decides when your agent
518
00:14:22,909 --> 00:14:25,230
acts the doorway into a topic.
519
00:14:25,230 --> 00:14:26,190
There are two families.
520
00:14:26,190 --> 00:14:27,549
Topic triggers that fire when a
521
00:14:27,549 --> 00:14:29,309
person asks, and event triggers
522
00:14:29,309 --> 00:14:29,710
that fire.
523
00:14:29,710 --> 00:14:32,629
When a system event happens, you
feed topic triggers with
524
00:14:32,629 --> 00:14:35,509
realistic example phrases and
you point event triggers at
525
00:14:35,509 --> 00:14:38,029
events with instructions that
tell the agent what to do.
526
00:14:38,029 --> 00:14:40,350
Get those right and your agent
feels alive.
527
00:14:40,350 --> 00:14:41,669
Get them vague and it either
528
00:14:41,669 --> 00:14:42,850
does nothing or does the wrong
529
00:14:42,850 --> 00:14:43,429
thing.
530
00:14:43,429 --> 00:14:45,789
One question for you if you
could switch on one trigger
531
00:14:45,789 --> 00:14:48,590
tomorrow, what would you have
your agent watch for?
532
00:14:48,590 --> 00:14:51,789
A new file, a new hire, or a
schedule that never sleeps?
533
00:14:51,789 --> 00:14:52,950
Tell me in the comments, because
534
00:14:52,950 --> 00:14:53,970
that answer usually tells you
535
00:14:53,970 --> 00:14:54,909
which kind of trigger you
536
00:14:54,909 --> 00:14:55,669
actually need.
537
00:14:55,669 --> 00:14:57,029
If this made the topic feel less
538
00:14:57,029 --> 00:14:59,490
intimidating, subscribe to M365
539
00:14:59,490 --> 00:15:01,350
FM to master the tools and the
540
00:15:01,350 --> 00:15:02,669
mindset shaping the future of
541
00:15:02,669 --> 00:15:03,269
work.
00:00:00,040 --> 00:00:03,600
Welcome to the M365 FM podcast,
where we explore the people,
2
00:00:03,600 --> 00:00:06,120
ideas and technologies shaping
the future of work.
3
00:00:06,120 --> 00:00:07,759
What a trigger actually is.
4
00:00:07,759 --> 00:00:09,240
Most people picture an AI agent
5
00:00:09,240 --> 00:00:10,320
as something you talk to a
6
00:00:10,320 --> 00:00:11,599
chatbot that sits there until
7
00:00:11,599 --> 00:00:12,320
you type.
8
00:00:12,320 --> 00:00:15,160
Triggers are the part that lets
it move first.
9
00:00:15,160 --> 00:00:16,519
They turn a polite question and
10
00:00:16,519 --> 00:00:17,640
answer bot into something that
11
00:00:17,640 --> 00:00:18,039
reacts.
12
00:00:18,039 --> 00:00:21,160
When a file lands in SharePoint,
a task gets assigned or a new
13
00:00:21,160 --> 00:00:22,440
person joins your team.
14
00:00:22,440 --> 00:00:23,800
In this episode, we're breaking
15
00:00:23,800 --> 00:00:25,519
down copilot studio triggers in
16
00:00:25,519 --> 00:00:26,199
plain language.
17
00:00:26,199 --> 00:00:28,199
No jargon, no admin details.
18
00:00:28,199 --> 00:00:29,800
Just what they are, how they
19
00:00:29,800 --> 00:00:31,179
work, and where they can cost
20
00:00:31,179 --> 00:00:32,159
you money.
21
00:00:32,159 --> 00:00:35,799
Welcome to the M365 FM podcast
where we explore the people,
22
00:00:35,799 --> 00:00:38,200
ideas and technologies shaping
the future of work.
23
00:00:38,200 --> 00:00:39,719
So here is the plain version.
24
00:00:39,719 --> 00:00:42,200
A trigger is the condition that
decides when your agent should
25
00:00:42,200 --> 00:00:43,280
do something at all.
26
00:00:43,280 --> 00:00:44,479
The clever conversation and the
27
00:00:44,479 --> 00:00:45,560
final answer are not the
28
00:00:45,560 --> 00:00:46,240
trigger.
29
00:00:46,240 --> 00:00:48,640
It's the small rule that says
this is your moment.
30
00:00:48,640 --> 00:00:51,560
An image helps here, and it's
the one I keep coming back to.
31
00:00:51,560 --> 00:00:55,439
Think of a topic inside Copilot
Studio as a room, and inside
32
00:00:55,439 --> 00:00:58,000
that room sits everything the
agent actually does.
33
00:00:58,000 --> 00:01:01,359
It asks the questions, sends the
messages, runs the flow, and
34
00:01:01,359 --> 00:01:03,079
updates the record in Dataverse.
35
00:01:03,079 --> 00:01:05,599
The trigger is the doorway into
that room, and it decides
36
00:01:05,599 --> 00:01:07,879
whether the person standing
outside gets to walk in.
37
00:01:07,879 --> 00:01:10,560
This matters more than it sounds
when your triggers are vague.
38
00:01:10,560 --> 00:01:11,920
One of three things happens.
39
00:01:11,920 --> 00:01:14,079
No topic starts at all and your
agent looks lost.
40
00:01:14,079 --> 00:01:15,239
The wrong topic starts and it
41
00:01:15,239 --> 00:01:16,879
answers a question nobody asked,
42
00:01:16,879 --> 00:01:18,480
or the user gets a flat generic
43
00:01:18,480 --> 00:01:19,719
fallback reply that tells them
44
00:01:19,719 --> 00:01:20,680
nothing useful.
45
00:01:20,680 --> 00:01:22,239
Microsoft's own documentation
46
00:01:22,239 --> 00:01:23,879
describes triggers as the way an
47
00:01:23,879 --> 00:01:25,200
agent intercepts and handles
48
00:01:25,200 --> 00:01:26,620
different events or incoming
49
00:01:26,620 --> 00:01:27,519
activities.
50
00:01:27,519 --> 00:01:28,640
That's a long way of saying the
51
00:01:28,640 --> 00:01:29,879
trigger notices that something
52
00:01:29,879 --> 00:01:31,200
happened and then decides to act
53
00:01:31,200 --> 00:01:31,760
on it.
54
00:01:31,760 --> 00:01:33,000
A trigger is small, but it does
55
00:01:33,000 --> 00:01:34,359
a lot of quiet work behind the
56
00:01:34,359 --> 00:01:35,040
scenes.
57
00:01:35,040 --> 00:01:37,959
It's the difference between an
agent that feels alive and one
58
00:01:37,959 --> 00:01:40,620
that just sits there waiting for
a human to push it, and some
59
00:01:40,620 --> 00:01:43,640
triggers fire when nobody is
typing at all, which is the part
60
00:01:43,640 --> 00:01:45,359
beginners never see coming.
61
00:01:45,359 --> 00:01:46,760
The two families of triggers.
62
00:01:46,760 --> 00:01:48,959
One you start and one that
starts itself.
63
00:01:48,959 --> 00:01:52,040
Every trigger in Copilot studio
belongs to one of two families.
64
00:01:52,040 --> 00:01:55,040
And once you see the split, the
whole tool gets easier to hold
65
00:01:55,040 --> 00:01:55,719
in your head.
66
00:01:55,719 --> 00:01:57,920
The first family is the one you
already understand.
67
00:01:57,920 --> 00:02:01,055
These are toxic triggers and
they're user led, which means
68
00:02:01,055 --> 00:02:04,030
they start a topic or an action
based on what a person says.
69
00:02:04,030 --> 00:02:06,609
Someone types a question and the
trigger works out which topic
70
00:02:06,609 --> 00:02:07,629
should handle it.
71
00:02:07,629 --> 00:02:09,949
The second family is the one
that surprises people.
72
00:02:09,949 --> 00:02:12,629
Event triggers are system led
and they start agent behavior.
73
00:02:12,629 --> 00:02:13,909
When something happens outside
74
00:02:13,909 --> 00:02:15,389
the chat, nobody types anything
75
00:02:15,389 --> 00:02:16,030
at all.
76
00:02:16,030 --> 00:02:17,750
A file shows up in OneDrive.
77
00:02:17,750 --> 00:02:20,710
A task gets marked done in
planner, a new row appears in a
78
00:02:20,710 --> 00:02:23,430
table, or a schedule ticks past
a certain time.
79
00:02:23,430 --> 00:02:26,150
The event itself wakes the agent
up with no person involved.
80
00:02:26,150 --> 00:02:27,669
So the clean way to hold it is
81
00:02:27,669 --> 00:02:29,110
this one family is someone asked
82
00:02:29,110 --> 00:02:30,030
and the other family is
83
00:02:30,030 --> 00:02:31,150
something happened.
84
00:02:31,150 --> 00:02:33,189
If a person is the reason your
agent runs.
85
00:02:33,189 --> 00:02:34,389
You want a topic trigger.
86
00:02:34,389 --> 00:02:37,189
If a system event is the reason
you want an event trigger.
87
00:02:37,189 --> 00:02:40,189
That distinction sounds simple
and it is, but it changes how
88
00:02:40,189 --> 00:02:41,949
you design everything.
89
00:02:41,949 --> 00:02:43,110
With a topic trigger, you're
90
00:02:43,110 --> 00:02:44,590
mostly thinking about words, the
91
00:02:44,590 --> 00:02:45,870
phrasing people use, and how to
92
00:02:45,870 --> 00:02:46,870
recognize it.
93
00:02:46,870 --> 00:02:47,990
With an event trigger, you're
94
00:02:47,990 --> 00:02:49,469
thinking about systems instead,
95
00:02:49,469 --> 00:02:51,069
what fires the event and what
96
00:02:51,069 --> 00:02:52,270
the agent should do the moment
97
00:02:52,270 --> 00:02:52,710
it lands.
98
00:02:52,710 --> 00:02:54,590
There's a third tool worth
naming here, too.
99
00:02:54,590 --> 00:02:57,669
When a connector is hard for the
agent to call directly, or when
100
00:02:57,669 --> 00:03:00,629
you need strict step by step
logic around an approval, an
101
00:03:00,629 --> 00:03:02,349
update, or a notification.
102
00:03:02,349 --> 00:03:05,990
Microsoft's guidance is to reach
for a power automate flow.
103
00:03:05,990 --> 00:03:07,229
Think of it as the dependable
104
00:03:07,229 --> 00:03:08,750
back office behind the agent,
105
00:03:08,750 --> 00:03:09,990
while the trigger is the front
106
00:03:09,990 --> 00:03:10,750
door.
107
00:03:10,750 --> 00:03:12,550
The two families are not equal,
though.
108
00:03:12,550 --> 00:03:13,710
A topic trigger always has a
109
00:03:13,710 --> 00:03:14,590
human in the loop because
110
00:03:14,590 --> 00:03:15,849
someone had to ask for something
111
00:03:15,849 --> 00:03:16,550
first.
112
00:03:16,550 --> 00:03:17,909
An event trigger can run on its
113
00:03:17,909 --> 00:03:19,189
own at three in the morning with
114
00:03:19,189 --> 00:03:19,990
nobody watching.
115
00:03:19,990 --> 00:03:21,030
That is where the power sits,
116
00:03:21,030 --> 00:03:22,030
and it's also where the risk
117
00:03:22,030 --> 00:03:22,550
lives.
118
00:03:22,550 --> 00:03:23,710
Hold on to that risk.
119
00:03:23,710 --> 00:03:24,789
There's a cost side to running
120
00:03:24,789 --> 00:03:26,270
on its own, and we'll get to it
121
00:03:26,270 --> 00:03:27,590
soon.
122
00:03:27,590 --> 00:03:29,550
How a topic trigger figures out
what you mean.
123
00:03:29,550 --> 00:03:32,349
Let's take the user led family
first, because this is the one
124
00:03:32,349 --> 00:03:33,349
beginners build first.
125
00:03:33,349 --> 00:03:34,569
Inside a topic, you write
126
00:03:34,569 --> 00:03:35,669
trigger phrases, which are
127
00:03:35,669 --> 00:03:37,849
example sentences that stand in
128
00:03:37,849 --> 00:03:39,469
for how people actually ask for
129
00:03:39,469 --> 00:03:39,909
something.
130
00:03:39,909 --> 00:03:41,870
Say you're building a leave
request topic.
131
00:03:41,870 --> 00:03:44,330
Your phrases might be apply
leave request, vacation book,
132
00:03:44,330 --> 00:03:46,550
time off, I need leave or can I
take leave tomorrow?
133
00:03:46,550 --> 00:03:48,550
You're not writing a script the
user has to follow.
134
00:03:48,550 --> 00:03:51,129
You're giving your agent a
handful of realistic ways to
135
00:03:51,129 --> 00:03:52,509
recognize the same request.
136
00:03:52,509 --> 00:03:54,550
People get the wrong idea about
this step.
137
00:03:54,550 --> 00:03:57,129
Trigger matching isn't keyword
search, where the user has to
138
00:03:57,129 --> 00:03:58,949
type the exact phrase you saved.
139
00:03:58,949 --> 00:04:00,509
Copilot studio reads the intent
140
00:04:00,509 --> 00:04:01,990
behind the message so someone
141
00:04:01,990 --> 00:04:03,150
can type something you never
142
00:04:03,150 --> 00:04:03,590
wrote.
143
00:04:03,590 --> 00:04:04,949
And the right topic can still
144
00:04:04,949 --> 00:04:06,389
start as long as your examples
145
00:04:06,389 --> 00:04:07,349
captured the shape of the
146
00:04:07,349 --> 00:04:08,389
request.
147
00:04:08,389 --> 00:04:10,669
A good phrase list is short,
natural, and varied.
148
00:04:10,669 --> 00:04:14,110
You want the words real people
use, so mix, leave, vacation
149
00:04:14,110 --> 00:04:15,030
time off, and holiday.
150
00:04:15,030 --> 00:04:16,189
If those are common where you
151
00:04:16,189 --> 00:04:17,310
work, you don't need hundreds of
152
00:04:17,310 --> 00:04:18,629
phrases and near duplicates
153
00:04:18,629 --> 00:04:19,269
don't help.
154
00:04:19,269 --> 00:04:22,230
You need to cover the realistic
ways people ask and then test
155
00:04:22,230 --> 00:04:25,350
them, including partial phrases,
typos, and longer questions.
156
00:04:25,350 --> 00:04:26,990
If you're stuck for ideas, raid
157
00:04:26,990 --> 00:04:27,949
your support tickets or your
158
00:04:27,949 --> 00:04:28,430
chat logs.
159
00:04:28,430 --> 00:04:29,769
Real questions from real people
160
00:04:29,769 --> 00:04:31,029
are the best phrase list you'll
161
00:04:31,029 --> 00:04:32,550
ever find, and they'll tell you
162
00:04:32,550 --> 00:04:33,790
which words your organization
163
00:04:33,790 --> 00:04:34,790
actually uses.
164
00:04:34,790 --> 00:04:37,829
When two topics look equally
good, Copilot studio has a built
165
00:04:37,829 --> 00:04:39,189
in way to handle it.
166
00:04:39,189 --> 00:04:42,149
It can show a multiple topics
matched list, so the user just
167
00:04:42,149 --> 00:04:43,670
picks which one they meant.
168
00:04:43,670 --> 00:04:45,509
That's much friendlier than a
wrong guess.
169
00:04:45,509 --> 00:04:46,750
And it also tells you that two
170
00:04:46,750 --> 00:04:47,670
of your topics might be
171
00:04:47,670 --> 00:04:48,589
overlapping.
172
00:04:48,589 --> 00:04:50,149
There's an order to things as
well.
173
00:04:50,149 --> 00:04:51,910
Some trigger types fire before
others.
174
00:04:51,910 --> 00:04:53,230
And if two triggers of the same
175
00:04:53,230 --> 00:04:55,189
type both qualify, the older one
176
00:04:55,189 --> 00:04:55,790
runs first.
177
00:04:55,790 --> 00:04:58,110
You can set a priority yourself
to override that.
178
00:04:58,110 --> 00:05:01,045
You can also add conditions, so
a trigger only fires when the
179
00:05:01,045 --> 00:05:02,060
situation is right.
180
00:05:02,060 --> 00:05:03,259
For example, only when the
181
00:05:03,259 --> 00:05:04,500
conversation is happening inside
182
00:05:04,500 --> 00:05:06,139
Microsoft Teams, when a plain
183
00:05:06,139 --> 00:05:07,620
condition isn't enough, there's
184
00:05:07,620 --> 00:05:08,779
a formula editor for anything
185
00:05:08,779 --> 00:05:09,779
more complicated.
186
00:05:09,779 --> 00:05:12,660
One thing changed recently, and
it's worth knowing before you
187
00:05:12,660 --> 00:05:14,100
follow an old tutorial.
188
00:05:14,100 --> 00:05:15,740
Newer agents use a mode called
189
00:05:15,740 --> 00:05:17,740
Generative Orchestration, and
190
00:05:17,740 --> 00:05:18,060
they're.
191
00:05:18,060 --> 00:05:19,980
The default trigger is the agent
chooses.
192
00:05:19,980 --> 00:05:21,259
Instead of matching phrases, the
193
00:05:21,259 --> 00:05:22,660
agent looks at a topic's name
194
00:05:22,660 --> 00:05:24,019
and its description and decides
195
00:05:24,019 --> 00:05:25,259
whether it fits what the user
196
00:05:25,259 --> 00:05:25,819
asked.
197
00:05:25,819 --> 00:05:27,060
Older style agents use.
198
00:05:27,060 --> 00:05:28,779
User says a phrase which is the
199
00:05:28,779 --> 00:05:30,139
phrase matching version we just
200
00:05:30,139 --> 00:05:31,060
walked through.
201
00:05:31,060 --> 00:05:33,779
Both are still alive in the
product, so if a tutorial looks
202
00:05:33,779 --> 00:05:37,019
different from your screen,
that's usually the reason how an
203
00:05:37,019 --> 00:05:40,300
event trigger lets your agent
act on its own.
204
00:05:40,300 --> 00:05:41,420
Now let's look at the family
205
00:05:41,420 --> 00:05:42,500
that runs without anyone
206
00:05:42,500 --> 00:05:43,180
watching.
207
00:05:43,180 --> 00:05:44,339
Before you can use an event
208
00:05:44,339 --> 00:05:45,740
trigger, your agent needs
209
00:05:45,740 --> 00:05:47,180
generative orchestration turned
210
00:05:47,180 --> 00:05:47,620
on.
211
00:05:47,620 --> 00:05:50,019
Orchestration is just the
agent's ability to decide which
212
00:05:50,019 --> 00:05:51,379
tool or topic to use.
213
00:05:51,379 --> 00:05:52,660
And in plain terms, it's the
214
00:05:52,660 --> 00:05:54,420
part doing the choosing event
215
00:05:54,420 --> 00:05:54,740
triggers.
216
00:05:54,740 --> 00:05:56,939
Build on that because the agent
has to figure out what to do
217
00:05:56,939 --> 00:05:58,740
with the event once it arrives.
218
00:05:58,740 --> 00:06:01,620
The flow has three steps, and
they're easier than they sound.
219
00:06:01,620 --> 00:06:04,019
First, an event happens
somewhere else, like a new item
220
00:06:04,019 --> 00:06:05,379
appearing in SharePoint.
221
00:06:05,379 --> 00:06:08,180
Second, the trigger sends what
Microsoft calls a payload, which
222
00:06:08,180 --> 00:06:10,740
is a small bundle of information
about the event, plus any
223
00:06:10,740 --> 00:06:12,500
instructions you want to attach.
224
00:06:12,500 --> 00:06:14,939
Third, the agent reads that
bundle and picks an action or a
225
00:06:14,939 --> 00:06:15,819
topic to run.
226
00:06:15,819 --> 00:06:17,939
The library of events is bigger
than you'd guess.
227
00:06:17,939 --> 00:06:19,139
A new item in SharePoint.
228
00:06:19,139 --> 00:06:22,279
A new file in OneDrive, a task
completed in planner, or a set
229
00:06:22,279 --> 00:06:24,620
amount of time passing, which is
the recurrence trigger.
230
00:06:24,620 --> 00:06:26,939
You pick the event and then you
narrow it down.
231
00:06:26,939 --> 00:06:30,620
So for a table in Dataverse, you
choose which tables changes
232
00:06:30,620 --> 00:06:31,860
should wake the agent.
233
00:06:31,860 --> 00:06:33,259
One thing trips up beginners
here.
234
00:06:33,259 --> 00:06:34,980
The agent doesn't invent an
action on the spot.
235
00:06:34,980 --> 00:06:36,100
You have to build the action or
236
00:06:36,100 --> 00:06:37,740
the topic first, and then your
237
00:06:37,740 --> 00:06:38,259
instructions.
238
00:06:38,259 --> 00:06:39,980
Tell the agent which one to
reach for.
239
00:06:39,980 --> 00:06:41,300
If you expect the trigger to do
240
00:06:41,300 --> 00:06:42,660
the work by itself, you'll be
241
00:06:42,660 --> 00:06:43,579
disappointed.
242
00:06:43,579 --> 00:06:44,720
You also have two places to
243
00:06:44,720 --> 00:06:46,060
write instructions, and keeping
244
00:06:46,060 --> 00:06:47,060
them straight saves you a
245
00:06:47,060 --> 00:06:47,660
headache.
246
00:06:47,660 --> 00:06:48,620
There are the agent's general
247
00:06:48,620 --> 00:06:49,899
instructions which cover how it
248
00:06:49,899 --> 00:06:51,420
behaves overall, and there are
249
00:06:51,420 --> 00:06:52,620
the instructions inside each
250
00:06:52,620 --> 00:06:54,180
trigger payload which cover this
251
00:06:54,180 --> 00:06:55,019
one event.
252
00:06:55,019 --> 00:06:57,899
When those two disagree, you get
errors or strange behavior.
253
00:06:57,899 --> 00:07:00,420
So the guidance is to keep them
consistent.
254
00:07:00,420 --> 00:07:01,560
If an agent has several
255
00:07:01,560 --> 00:07:03,060
triggers, put the event specific
256
00:07:03,060 --> 00:07:04,459
detail in the payload instead of
257
00:07:04,459 --> 00:07:05,420
overloading the general
258
00:07:05,420 --> 00:07:06,180
instructions.
259
00:07:06,180 --> 00:07:07,379
There's a testing step here that
260
00:07:07,379 --> 00:07:08,699
beginners skip, and it's worth
261
00:07:08,699 --> 00:07:10,139
slowing down for before you
262
00:07:10,139 --> 00:07:10,579
publish.
263
00:07:10,579 --> 00:07:13,259
The agent won't react to the
trigger automatically, so you
264
00:07:13,259 --> 00:07:16,060
run the event once to create a
payload, then use the test
265
00:07:16,060 --> 00:07:18,540
trigger icon to send that
payload into the test chat and
266
00:07:18,540 --> 00:07:19,540
watch what happens.
267
00:07:19,540 --> 00:07:22,939
The activity map shows you step
by step how the agent responded,
268
00:07:22,939 --> 00:07:25,779
which is how you catch a missing
input before real users do.
269
00:07:25,779 --> 00:07:27,060
Event triggers authenticate
270
00:07:27,060 --> 00:07:28,060
using the maker's own
271
00:07:28,060 --> 00:07:28,779
credentials.
272
00:07:28,779 --> 00:07:30,500
The account of the person who
built them.
273
00:07:30,500 --> 00:07:32,500
That's what lets the agent run
unattended.
274
00:07:32,500 --> 00:07:33,860
And it's also why Microsoft
275
00:07:33,860 --> 00:07:34,939
shows a warning before you
276
00:07:34,939 --> 00:07:36,540
publish, your agent might reach
277
00:07:36,540 --> 00:07:37,740
data and systems that you can
278
00:07:37,740 --> 00:07:39,259
access on behalf of people who
279
00:07:39,259 --> 00:07:41,199
can't, so the power and the risk
280
00:07:41,199 --> 00:07:42,459
arrive together.
281
00:07:42,459 --> 00:07:45,779
An agent that can act on its own
at any hour is useful, and that
282
00:07:45,779 --> 00:07:48,660
same agent is something you have
to point carefully.
283
00:07:48,660 --> 00:07:50,779
Three everyday examples that
make triggers.
284
00:07:50,779 --> 00:07:51,300
Click.
285
00:07:51,300 --> 00:07:54,379
Three examples will make this
concrete because the idea lands
286
00:07:54,379 --> 00:07:56,180
better when you can picture it.
287
00:07:56,180 --> 00:07:59,139
Example one is the leave request
and this one is a topic trigger
288
00:07:59,139 --> 00:07:59,980
an employee types.
289
00:07:59,980 --> 00:08:01,569
I need to book time off next
week.
290
00:08:01,569 --> 00:08:02,730
The trigger recognizes the
291
00:08:02,730 --> 00:08:04,050
intent and starts the leave
292
00:08:04,050 --> 00:08:05,050
request topic.
293
00:08:05,050 --> 00:08:06,329
From there, the agent walks them
294
00:08:06,329 --> 00:08:07,430
through it, asking for the leave
295
00:08:07,430 --> 00:08:08,730
type and the dates and maybe a
296
00:08:08,730 --> 00:08:09,449
reason.
297
00:08:09,449 --> 00:08:12,170
Then it submits the request
through a flow and confirms that
298
00:08:12,170 --> 00:08:13,089
it went through.
299
00:08:13,089 --> 00:08:15,649
The person never has to learn
the menu or know the name of the
300
00:08:15,649 --> 00:08:18,250
process, because they just ask
in their own words.
301
00:08:18,250 --> 00:08:21,730
Example two is the new hire and
this one is an event trigger.
302
00:08:21,730 --> 00:08:23,410
Picture a new team member being
added.
303
00:08:23,410 --> 00:08:26,370
An event trigger fires on that
moment, and the agent sends a
304
00:08:26,370 --> 00:08:29,050
welcome message with the
onboarding resources that person
305
00:08:29,050 --> 00:08:29,889
needs on day one.
306
00:08:29,889 --> 00:08:31,290
Nobody in it has to remember
307
00:08:31,290 --> 00:08:32,330
because the event is the
308
00:08:32,330 --> 00:08:33,090
reminder.
309
00:08:33,090 --> 00:08:35,730
The same pattern works for a new
order coming in, where the agent
310
00:08:35,730 --> 00:08:38,929
confirms availability, checks
shipping timelines, and sends
311
00:08:38,929 --> 00:08:40,009
the customer an update.
312
00:08:40,009 --> 00:08:42,610
Example three is the quiet one
and it's my favorite.
313
00:08:42,610 --> 00:08:45,169
An event trigger watches the
table in Dataverse, and every
314
00:08:45,169 --> 00:08:47,409
time a new row shows up, it
checks whether the account name
315
00:08:47,409 --> 00:08:48,210
is a duplicate.
316
00:08:48,210 --> 00:08:51,049
When it finds one, it creates a
to do task to investigate with
317
00:08:51,049 --> 00:08:52,330
the details attached.
318
00:08:52,330 --> 00:08:54,370
Nobody is staring at a
spreadsheet and the agent just
319
00:08:54,370 --> 00:08:55,929
keeps watch on its own.
320
00:08:55,929 --> 00:08:57,809
Notice what all three have in
common.
321
00:08:57,809 --> 00:09:00,970
The person gets a fast, natural
experience and the maker spent
322
00:09:00,970 --> 00:09:03,529
their effort on the trigger and
the instructions rather than on
323
00:09:03,529 --> 00:09:04,529
the chat itself.
324
00:09:04,529 --> 00:09:05,690
That's the trade you're making,
325
00:09:05,690 --> 00:09:06,769
and most of the time it's a good
326
00:09:06,769 --> 00:09:07,210
one.
327
00:09:07,210 --> 00:09:08,309
But there's a bill attached to
328
00:09:08,309 --> 00:09:09,529
that third example, the one that
329
00:09:09,529 --> 00:09:10,450
keeps watch.
330
00:09:10,450 --> 00:09:12,289
And it's the reason a perfectly
331
00:09:12,289 --> 00:09:13,250
innocent trigger can get
332
00:09:13,250 --> 00:09:13,809
expensive.
333
00:09:13,809 --> 00:09:15,250
Let's talk about that next.
334
00:09:15,250 --> 00:09:16,289
What triggers cost?
335
00:09:16,289 --> 00:09:17,570
Because they are not free.
336
00:09:17,570 --> 00:09:19,250
The cost catches almost everyone
off guard.
337
00:09:19,250 --> 00:09:20,409
So let's start there.
338
00:09:20,409 --> 00:09:23,210
Copilot studio builds in units
called copilot credits.
339
00:09:23,210 --> 00:09:24,850
And the counting rule that
catches people.
340
00:09:24,850 --> 00:09:25,970
Is this a message?
341
00:09:25,970 --> 00:09:27,409
Is any request or message that
342
00:09:27,409 --> 00:09:28,889
triggers an action or a response
343
00:09:28,889 --> 00:09:30,570
from the agent and payload sent
344
00:09:30,570 --> 00:09:31,850
from event triggers count as
345
00:09:31,850 --> 00:09:32,529
messages.
346
00:09:32,529 --> 00:09:34,090
Read that part again because it
347
00:09:34,090 --> 00:09:35,490
means the event itself is
348
00:09:35,490 --> 00:09:36,049
billable.
349
00:09:36,049 --> 00:09:38,889
Every time your trigger wakes
the agent up, that's a message.
350
00:09:38,889 --> 00:09:40,529
Now think about the recurrence
trigger.
351
00:09:40,529 --> 00:09:41,929
It fires on a timer every time
352
00:09:41,929 --> 00:09:43,009
the clock reaches the interval
353
00:09:43,009 --> 00:09:43,690
you set.
354
00:09:43,690 --> 00:09:44,850
If you set it to every ten
355
00:09:44,850 --> 00:09:46,330
minutes, your agent gets a
356
00:09:46,330 --> 00:09:47,610
payload, a message every ten
357
00:09:47,610 --> 00:09:47,970
minutes.
358
00:09:47,970 --> 00:09:50,169
That's one hundred and forty
four messages a day for as long
359
00:09:50,169 --> 00:09:51,169
as you leave it switched on.
360
00:09:51,169 --> 00:09:52,970
Whether anything useful happens
or not.
361
00:09:52,970 --> 00:09:54,250
It's easy to build that on a
362
00:09:54,250 --> 00:09:55,450
Friday and forget about it by
363
00:09:55,450 --> 00:09:56,210
Monday.
364
00:09:56,210 --> 00:09:58,690
The rates themselves are set in
credits, and they vary by what
365
00:09:58,690 --> 00:09:59,610
the agent does.
366
00:09:59,610 --> 00:10:00,850
A classic answer, one that you
367
00:10:00,850 --> 00:10:02,450
wrote by hand, costs about one
368
00:10:02,450 --> 00:10:02,889
credit.
369
00:10:02,889 --> 00:10:05,769
A generative answer, one the AI
writes on the fly is about two
370
00:10:05,769 --> 00:10:08,370
an agent action, which is a step
like a trigger or a topic
371
00:10:08,370 --> 00:10:10,409
transition is about five.
372
00:10:10,409 --> 00:10:11,409
Grounding an answer in your
373
00:10:11,409 --> 00:10:12,830
company's own data costs more
374
00:10:12,830 --> 00:10:14,610
around ten and running agent
375
00:10:14,610 --> 00:10:14,929
flows.
376
00:10:14,929 --> 00:10:17,929
The predefined sequences of
steps is built at about thirteen
377
00:10:17,929 --> 00:10:19,409
credits per one hundred actions.
378
00:10:19,409 --> 00:10:21,210
Those numbers are illustrative
and they change.
379
00:10:21,210 --> 00:10:23,929
So check the current licensing
page before you plan a budget.
380
00:10:23,929 --> 00:10:26,409
There's a piece of good news
hiding in here, though.
381
00:10:26,409 --> 00:10:28,529
If the person using your agent
has a Microsoft three.
382
00:10:28,529 --> 00:10:30,889
Sixty five copilot license
employee facing usage is
383
00:10:30,889 --> 00:10:32,129
included at no charge.
384
00:10:32,129 --> 00:10:33,409
The exception is agent flows
385
00:10:33,409 --> 00:10:34,409
that are triggered some other
386
00:10:34,409 --> 00:10:35,690
way, which bill at the normal
387
00:10:35,690 --> 00:10:36,169
rate.
388
00:10:36,169 --> 00:10:37,250
And there's a hard edge worth
389
00:10:37,250 --> 00:10:38,610
knowing if your environment
390
00:10:38,610 --> 00:10:40,570
blows past its prepaid capacity
391
00:10:40,570 --> 00:10:41,649
at one hundred and twenty five
392
00:10:41,649 --> 00:10:43,090
percent, agents get switched
393
00:10:43,090 --> 00:10:43,409
off.
394
00:10:43,409 --> 00:10:46,210
Users see a message saying the
agent is unavailable or that
395
00:10:46,210 --> 00:10:47,289
there's a billing issue.
396
00:10:47,289 --> 00:10:48,809
Nobody likes that surprise.
397
00:10:48,809 --> 00:10:51,649
So a trigger that runs forever
deserves a second look before
398
00:10:51,649 --> 00:10:53,450
you walk away.
399
00:10:53,450 --> 00:10:54,610
The limits and the mistakes
400
00:10:54,610 --> 00:10:56,370
beginners make money is one
401
00:10:56,370 --> 00:10:58,289
limit, reliability is the other,
402
00:10:58,289 --> 00:10:59,409
and this is the one they hit
403
00:10:59,409 --> 00:11:00,169
first.
404
00:11:00,169 --> 00:11:01,210
Start with the words because
405
00:11:01,210 --> 00:11:02,460
most trigger problems live
406
00:11:02,460 --> 00:11:03,000
there.
407
00:11:03,000 --> 00:11:05,559
Too few example phrases and your
agent misses requests.
408
00:11:05,559 --> 00:11:08,720
It should catch duplicate
phrases across two topics and it
409
00:11:08,720 --> 00:11:10,000
can't tell them apart.
410
00:11:10,000 --> 00:11:13,200
Long unnatural sentences like
initiate employee absence
411
00:11:13,200 --> 00:11:15,879
management transaction confuse
the matching because nobody
412
00:11:15,879 --> 00:11:17,200
actually talks that way.
413
00:11:17,200 --> 00:11:19,899
And when two topics are simply
too similar, the agent has to
414
00:11:19,899 --> 00:11:22,720
guess the fix is boring and
effective, which is to read how
415
00:11:22,720 --> 00:11:25,919
real people ask from support
tickets or chat logs and write
416
00:11:25,919 --> 00:11:27,279
your phrases the way they do.
417
00:11:27,279 --> 00:11:29,840
There's a quick sanity check you
can run on yourself.
418
00:11:29,840 --> 00:11:32,159
If two of your topics could both
plausibly answer the same
419
00:11:32,159 --> 00:11:33,600
message, they'll fight over it.
420
00:11:33,600 --> 00:11:36,279
So either merge them or sharpen
their descriptions until only
421
00:11:36,279 --> 00:11:37,559
one clearly fits.
422
00:11:37,559 --> 00:11:38,960
Then there are instruction
problems.
423
00:11:38,960 --> 00:11:40,600
Vague agent instructions leave
424
00:11:40,600 --> 00:11:42,279
the agent guessing and payload
425
00:11:42,279 --> 00:11:43,679
instructions that contradict the
426
00:11:43,679 --> 00:11:43,960
agent.
427
00:11:43,960 --> 00:11:46,799
Instructions produce errors or
odd behavior.
428
00:11:46,799 --> 00:11:49,600
So the advice is to say what you
mean in one place and keep the
429
00:11:49,600 --> 00:11:51,480
two sets of instructions
agreeing with each other.
430
00:11:51,480 --> 00:11:54,000
Now the harder truth, and I want
to be fair about it.
431
00:11:54,000 --> 00:11:57,240
Some makers report that event
triggers fire inconsistently.
432
00:11:57,240 --> 00:12:00,159
One person on Microsoft's own
question and answer site
433
00:12:00,159 --> 00:12:03,480
described an email trigger that
worked, then stopped, then
434
00:12:03,480 --> 00:12:06,639
worked again after republishing
with Power Automate reporting
435
00:12:06,639 --> 00:12:08,039
success the whole time.
436
00:12:08,039 --> 00:12:09,480
The likely reasons are messy and
437
00:12:09,480 --> 00:12:11,080
they include preview status in
438
00:12:11,080 --> 00:12:12,679
some environments, connection
439
00:12:12,679 --> 00:12:14,759
and identity mismatches, a flow,
440
00:12:14,759 --> 00:12:15,720
and an agent sitting in
441
00:12:15,720 --> 00:12:16,840
different environments
442
00:12:16,840 --> 00:12:18,559
throttling under load and the
443
00:12:18,559 --> 00:12:20,879
way email triggers batch their
444
00:12:20,879 --> 00:12:22,399
events.
445
00:12:22,399 --> 00:12:24,679
Treat that as a community report
rather than an official
446
00:12:24,679 --> 00:12:27,879
guarantee, and design like the
event might not fire.
447
00:12:27,879 --> 00:12:30,960
That last point matters if the
work really has to happen.
448
00:12:30,960 --> 00:12:33,879
Don't let a single trigger be
your only safety net.
449
00:12:33,879 --> 00:12:35,039
Microsoft's own guidance
450
00:12:35,039 --> 00:12:36,440
suggests using a power automate
451
00:12:36,440 --> 00:12:37,600
flow when a connector won't
452
00:12:37,600 --> 00:12:38,879
cooperate, and building the
453
00:12:38,879 --> 00:12:40,139
whole thing so it can retry
454
00:12:40,139 --> 00:12:40,840
safely.
455
00:12:40,840 --> 00:12:43,000
There are some plain guardrails
worth carrying with you.
456
00:12:43,000 --> 00:12:45,580
Keep the number of actions and
topics an agent calls in a row
457
00:12:45,580 --> 00:12:48,399
under fifteen because long
chains get unreliable.
458
00:12:48,399 --> 00:12:49,879
Be careful with very frequent or
459
00:12:49,879 --> 00:12:50,759
never ending recurrence
460
00:12:50,759 --> 00:12:51,759
triggers, since they burn
461
00:12:51,759 --> 00:12:52,860
resources and can get you
462
00:12:52,860 --> 00:12:53,480
throttled.
463
00:12:53,480 --> 00:12:56,159
Keep an eye on how many triggers
are active in an environment,
464
00:12:56,159 --> 00:12:58,960
and remember that availability
isn't only up to you, because an
465
00:12:58,960 --> 00:13:02,240
administrator can block certain
triggers through data policies
466
00:13:02,240 --> 00:13:04,960
and adding event triggers
requires a specific sharing
467
00:13:04,960 --> 00:13:06,679
setting to be turned on.
468
00:13:06,679 --> 00:13:08,360
So when a trigger simply isn't
469
00:13:08,360 --> 00:13:09,720
there for you, it's often a
470
00:13:09,720 --> 00:13:11,159
setting rather than a missing
471
00:13:11,159 --> 00:13:12,360
feature.
472
00:13:12,360 --> 00:13:14,399
Where all of this lives in
Microsoft three hundred sixty
473
00:13:14,399 --> 00:13:15,320
five and Azure.
474
00:13:15,320 --> 00:13:16,840
Step back and it helps to see
475
00:13:16,840 --> 00:13:17,960
where triggers sit in the bigger
476
00:13:17,960 --> 00:13:18,600
picture.
477
00:13:18,600 --> 00:13:21,159
There are really three layers
and you can hold them as people.
478
00:13:21,159 --> 00:13:22,440
Platform and power.
479
00:13:22,440 --> 00:13:25,200
Microsoft three hundred sixty
five copilot is the layer for
480
00:13:25,200 --> 00:13:29,519
people, a license that puts AI
into the tools they already use.
481
00:13:29,519 --> 00:13:31,279
Copilot studio is the platform
482
00:13:31,279 --> 00:13:32,679
layer, the low code place where
483
00:13:32,679 --> 00:13:34,279
you build the agent, wire up its
484
00:13:34,279 --> 00:13:35,639
triggers and connect it to the
485
00:13:35,639 --> 00:13:37,000
channels where people meet it,
486
00:13:37,000 --> 00:13:38,419
like Microsoft Teams or a web
487
00:13:38,419 --> 00:13:39,120
page.
488
00:13:39,120 --> 00:13:40,639
Azure is the power layer where
489
00:13:40,639 --> 00:13:42,480
heavier custom AI work runs and
490
00:13:42,480 --> 00:13:43,879
where the pay as you go meter
491
00:13:43,879 --> 00:13:44,360
lives.
492
00:13:44,360 --> 00:13:45,879
That meter is a nice detail for
493
00:13:45,879 --> 00:13:46,919
beginners because it lets you
494
00:13:46,919 --> 00:13:47,519
start small.
495
00:13:47,519 --> 00:13:50,480
You can build inside Copilot
Studio and never touch Azure.
496
00:13:50,480 --> 00:13:51,840
If you do grow, you can link an
497
00:13:51,840 --> 00:13:53,039
Azure subscription for pay as
498
00:13:53,039 --> 00:13:54,840
you go, which also means overage
499
00:13:54,840 --> 00:13:55,919
bills to that subscription
500
00:13:55,919 --> 00:13:57,039
instead of switching your agents
501
00:13:57,039 --> 00:13:57,480
off.
502
00:13:57,480 --> 00:13:58,639
If you bring your own model,
503
00:13:58,639 --> 00:13:59,759
including the ones from Azure
504
00:13:59,759 --> 00:14:01,399
Foundry that's built separately
505
00:14:01,399 --> 00:14:02,710
outside the copilot studio
506
00:14:02,710 --> 00:14:03,350
credit rates.
507
00:14:03,350 --> 00:14:04,350
So the shape is simple.
508
00:14:04,350 --> 00:14:05,029
Microsoft three.
509
00:14:05,029 --> 00:14:07,029
Sixty five copilot is your
license.
510
00:14:07,029 --> 00:14:10,389
Copilot studio is the place you
build and the heavy lifting plus
511
00:14:10,389 --> 00:14:11,389
the billing flexibility.
512
00:14:11,389 --> 00:14:12,309
Live in Azure.
513
00:14:12,309 --> 00:14:14,029
You don't need all three to get
started.
514
00:14:14,029 --> 00:14:16,470
And that's the encouraging part.
515
00:14:16,470 --> 00:14:18,830
A quick recap and one question
for you.
516
00:14:18,830 --> 00:14:20,029
Let's pull it together.
517
00:14:20,029 --> 00:14:22,909
A trigger is the small condition
that decides when your agent
518
00:14:22,909 --> 00:14:25,230
acts the doorway into a topic.
519
00:14:25,230 --> 00:14:26,190
There are two families.
520
00:14:26,190 --> 00:14:27,549
Topic triggers that fire when a
521
00:14:27,549 --> 00:14:29,309
person asks, and event triggers
522
00:14:29,309 --> 00:14:29,710
that fire.
523
00:14:29,710 --> 00:14:32,629
When a system event happens, you
feed topic triggers with
524
00:14:32,629 --> 00:14:35,509
realistic example phrases and
you point event triggers at
525
00:14:35,509 --> 00:14:38,029
events with instructions that
tell the agent what to do.
526
00:14:38,029 --> 00:14:40,350
Get those right and your agent
feels alive.
527
00:14:40,350 --> 00:14:41,669
Get them vague and it either
528
00:14:41,669 --> 00:14:42,850
does nothing or does the wrong
529
00:14:42,850 --> 00:14:43,429
thing.
530
00:14:43,429 --> 00:14:45,789
One question for you if you
could switch on one trigger
531
00:14:45,789 --> 00:14:48,590
tomorrow, what would you have
your agent watch for?
532
00:14:48,590 --> 00:14:51,789
A new file, a new hire, or a
schedule that never sleeps?
533
00:14:51,789 --> 00:14:52,950
Tell me in the comments, because
534
00:14:52,950 --> 00:14:53,970
that answer usually tells you
535
00:14:53,970 --> 00:14:54,909
which kind of trigger you
536
00:14:54,909 --> 00:14:55,669
actually need.
537
00:14:55,669 --> 00:14:57,029
If this made the topic feel less
538
00:14:57,029 --> 00:14:59,490
intimidating, subscribe to M365
539
00:14:59,490 --> 00:15:01,350
FM to master the tools and the
540
00:15:01,350 --> 00:15:02,669
mindset shaping the future of
541
00:15:02,669 --> 00:15:03,269
work.