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.
