
1
00:00:00,000 –> 00:00:07,000
Every flow begins with hope, a small click, a bright promise.
2
00:00:07,000 –> 00:00:11,520
An email arrives, a team’s message appears.
3
00:00:11,520 –> 00:00:15,760
Someone claps, someone says, finally.
4
00:00:15,760 –> 00:00:18,720
They always cheer at the beginning.
5
00:00:18,720 –> 00:00:25,040
No owner named, no logs written, 100 actions stitched like mismatched parts, and then one night
6
00:00:25,040 –> 00:00:31,440
it wakes, 6,000 messages before dawn, threads choke, cues grind, people ask who built
7
00:00:31,440 –> 00:00:34,040
this, silence answers.
8
00:00:34,040 –> 00:00:38,680
Here’s what actually works, what returns when called, how to bind the orchestrator so
9
00:00:38,680 –> 00:00:45,240
it serves, not feeds, one rule if you break it, it wakes at 307 am.
10
00:00:45,240 –> 00:00:53,680
And something is listening, the entities that listen, triggers that never sleep, administrator.
11
00:00:53,680 –> 00:00:54,760
Do you hear that?
12
00:00:54,760 –> 00:01:00,160
The quiet hum under your tenant, it’s not quiet, it’s listening.
13
00:01:00,160 –> 00:01:05,240
Some triggers behave, they announce themselves with clean edges, they leave tracks you can
14
00:01:05,240 –> 00:01:09,960
follow when a row is added or modified in dataverse, it raises a hand, you bind it with
15
00:01:09,960 –> 00:01:16,600
an idempotent key, you hold a watermark, you use changed tokens, sins, curses, server
16
00:01:16,600 –> 00:01:21,560
side filters, it tells you only what changed, only once.
17
00:01:21,560 –> 00:01:28,060
Even an email arrives, you pre-filter by subject, by sender, by headers, you gate on status
18
00:01:28,060 –> 00:01:34,640
equals ready, you add a trigger condition so noise dies at the door, a scheduled tick,
19
00:01:34,640 –> 00:01:41,680
a steady heartbeat, once an hour, or once a day, never frantic, you cap it, you name it, you
20
00:01:41,680 –> 00:01:47,500
log every beat when a team’s message is posted, you narrow the channel, you match a keyword,
21
00:01:47,500 –> 00:01:53,220
you keep concurrency off until you own a partition key, you refuse to let it fan out without a
22
00:01:53,220 –> 00:01:59,220
leash, when a case is created in dynamics, it’s a proper birth, a single source of truth,
23
00:01:59,220 –> 00:02:03,820
so you trust the table, not the whispers, so you record the correlation id to the moment
24
00:02:03,820 –> 00:02:10,740
it cries, but some triggers misbehave, they smile, then they slip.
25
00:02:10,740 –> 00:02:16,140
When an item is deleted, it leaves nothing but a cold gap, your flow wakes to an absence,
26
00:02:16,140 –> 00:02:25,740
nobody, no details, just gone, you thought you could react, you can’t, not reliably.
27
00:02:25,740 –> 00:02:31,900
The silencer is lying on premises gateway, the haunted bridge, sometimes it holds, sometimes
28
00:02:31,900 –> 00:02:39,180
it sways, latency crawls in, rit tries stack like bones, the bridge doesn’t warn you before
29
00:02:39,180 –> 00:02:44,420
it drops a step into the river, recurrence every minute that is not a pulse, that is a
30
00:02:44,420 –> 00:02:49,500
summoning, a loop that calls itself, if you are applied to each nudges a record, the
31
00:02:49,500 –> 00:02:56,020
record, twitches, a new trigger fires, and then another, the quota goes hollow, then empty,
32
00:02:56,020 –> 00:03:04,540
flows triggered by flows, the chain ritual, you say only this once, it says again, one
33
00:03:04,540 –> 00:03:10,180
child calls another, apparent reawakings on a status change it created, you didn’t set
34
00:03:10,180 –> 00:03:13,620
a max depth, you didn’t set a gate, you just opened a door.
35
00:03:13,620 –> 00:03:19,500
Most people think triggers are simple switches, but triggers are ears, they hear everything,
36
00:03:19,500 –> 00:03:24,740
you must teach them to ignore, guardrails are not decoration, trigger conditions gate
37
00:03:24,740 –> 00:03:28,620
the first breath, if not ready, return to sleep.
38
00:03:28,620 –> 00:03:34,900
Pre-filters, cut the noise at the source, property filters only fields that matter or nothing
39
00:03:34,900 –> 00:03:41,380
moves, server side query let the data store refuse the crowd before it reaches you, headers
40
00:03:41,380 –> 00:03:47,860
to reduce payload, light steps only, no heavy footprints, ritual snippet, you will use
41
00:03:47,860 –> 00:03:56,420
it like salt on a sill, equals trigger outputs, body, status, ready.
42
00:03:56,420 –> 00:04:02,260
That single line bars the restless from your door, concurrency off by default, you don’t
43
00:04:02,260 –> 00:04:06,100
turn it on because it’s there, you turn it on when you own a partition key, when you can
44
00:04:06,100 –> 00:04:12,940
say this run touches only this shard, otherwise the creature splits and feeds from both hands,
45
00:04:12,940 –> 00:04:19,260
tenant tie in, you’re not alone in the house, DLP walls keep cursed connectors out, solution
46
00:04:19,260 –> 00:04:23,980
aware flows keep builders from scribbling in the dark, connections reference service principles
47
00:04:23,980 –> 00:04:29,700
not people who come and go like weather, owner rotation on schedule, not after the obituary,
48
00:04:29,700 –> 00:04:35,500
and when you must listen to busy places, share point libraries that never sleep, pre-filter
49
00:04:35,500 –> 00:04:42,500
by path, by column, by a flag you set only once, debounts, batch, you’re not here to hear
50
00:04:42,500 –> 00:04:47,140
every footstep, you’re here to hear the right knock, but hearing is nothing without rules
51
00:04:47,140 –> 00:04:54,460
to bind what comes next, the ears are open, the house is aware, now you decide who may enter
52
00:04:54,460 –> 00:04:59,140
and how they leave, because the orchestrator is awake, and if you don’t bind it it will
53
00:04:59,140 –> 00:05:06,780
bind you, the patterns that survive, protection rituals that hold, now bind it, golden rules
54
00:05:06,780 –> 00:05:14,000
first, not advice, law, try, catch finally three scopes, three circles of salt, in try you
55
00:05:14,000 –> 00:05:19,500
do the work, nothing clever, just the path you expect, in catch you tell the truth, status,
56
00:05:19,500 –> 00:05:26,140
stage, error code, the last action that screamed, in finally you clean the floor, close handles,
57
00:05:26,140 –> 00:05:32,340
and threads, write the tombstone, then decide if this run returns, or is put down, you
58
00:05:32,340 –> 00:05:38,540
log everything, everything, not because you crave noise, because silence lies, flow name,
59
00:05:38,540 –> 00:05:47,780
run night, environment, trigger, correlation id, error code, payload hash, person to notify,
60
00:05:47,780 –> 00:05:54,780
a link to the run, append only, never overwrite the past, it remembers, it teaches, terminate
61
00:05:54,780 –> 00:06:01,100
with reason codes, don’t fail, speak, terminate success when you recover, retryable when the
62
00:06:01,100 –> 00:06:06,140
wind changes, fatal when the map is wrong, your dashboards will read this like omens, your
63
00:06:06,140 –> 00:06:12,260
responders will move, names bind demons, you stop calling things scope one, you carve names
64
00:06:12,260 –> 00:06:18,820
like gravestones, scope validate request, scope process order, scope handle errors, action
65
00:06:18,820 –> 00:06:25,660
get customer, var order id, var retry count, when it fails at 307 am you don’t hunt, you
66
00:06:25,660 –> 00:06:32,100
point and you cut, dynamic content is a stranger, distrust it, coalesce every field you didn’t
67
00:06:32,100 –> 00:06:39,100
create, string into, pull, cast the shape before you let it in, empty, on every branch that
68
00:06:39,100 –> 00:06:47,040
can go dark, if equals variables, vards status, ready, nulls are not bugs, their teeth,
69
00:06:47,040 –> 00:06:53,880
pat the door, version outside the beast, export unmanaged, commit to get, tag the release,
70
00:06:53,880 –> 00:06:59,640
note the change, you never ask, which version is in prod, you know, the commit tells you,
71
00:06:59,640 –> 00:07:05,280
the release notes whisper, what changed and why, control concurrency with a leash, off
72
00:07:05,280 –> 00:07:10,600
until you hold a partition key, if you own account id you can split by it, degree equals
73
00:07:10,600 –> 00:07:16,520
throughput math you can defend, ten shards, fine, 50, show your numbers, and when a message
74
00:07:16,520 –> 00:07:22,280
poisons the stream, you don’t feed it twice, you send it to the side, your poison queue,
75
00:07:22,280 –> 00:07:27,160
you market, you move on, you don’t stop the river for one stone, child microflows are
76
00:07:27,160 –> 00:07:32,920
small creatures, keep them that way, one job, stateless, tiny inputs, tiny outputs, no side
77
00:07:32,920 –> 00:07:39,080
effects, you pass a contract, not a story, child sanitize email, child create task, child
78
00:07:39,080 –> 00:07:45,160
post teams alert, each can be tested alone, each can be replaced without tearing the house,
79
00:07:45,160 –> 00:07:50,840
lend ferral changes, lock environment variables, reference secrets through key vault or service
80
00:07:50,840 –> 00:07:57,120
connections, not in the open air, layer your solutions, security roles like iron bars, connection
81
00:07:57,120 –> 00:08:02,800
references bound to service principles, not people who vanish at Fridays goodbye call,
82
00:08:02,800 –> 00:08:07,920
a flow that depends on a person is a candle in a draft, a flow that depends on a principle
83
00:08:07,920 –> 00:08:13,320
is a lantern bolted to stone, your copy paste ritual is not a hack, it’s memory, a standard
84
00:08:13,320 –> 00:08:20,520
scaffold scope try, scope catch with has failed, has timed out, is skipped on run after,
85
00:08:20,520 –> 00:08:30,080
compose workflow meta, to a workflow, compose watch flow run url, the long string that stitches
86
00:08:30,080 –> 00:08:37,520
environment, id and run name into a door you can open, filter failed actions, convert them
87
00:08:37,520 –> 00:08:42,800
into a table you can read at a glance, post to the teams channel that listens without
88
00:08:42,800 –> 00:08:49,760
screaming, use ad mention tokens like bells, one person not ten, dev and prod, different
89
00:08:49,760 –> 00:08:56,720
bells the right ears wake, then the right, dita verse audit create with your contract fields,
90
00:08:56,720 –> 00:09:03,720
append only, calm, if the failure is transient market retriable and set a short back off,
91
00:09:03,720 –> 00:09:10,200
if it is permanent, fatal and ended, the message moves to the poison queue for daylight work,
92
00:09:10,200 –> 00:09:15,600
the real secret is simple, you do this everywhere, every flow, every team, every domain, it’s
93
00:09:15,600 –> 00:09:21,360
boring, it’s repeatable, it holds, now the small warnings that look like dust but cut
94
00:09:21,360 –> 00:09:27,420
like wire, never allow users to change environment variables that steer routing destinations
95
00:09:27,420 –> 00:09:32,800
or limits, those are rails not preferences, wrap them with security rolls, audit their
96
00:09:32,800 –> 00:09:39,280
edits, alert when they move, don’t auto generate HTML tables from raw error blobs, you think
97
00:09:39,280 –> 00:09:44,160
you’re making it readable, you’re making it shapeless, project the fields action name,
98
00:09:44,160 –> 00:09:49,800
message, timestamp, correlation need, two columns for HTTP primary error and secondary
99
00:09:49,800 –> 00:09:57,400
path, if the first is empty the second will speak, retry is not hope, it’s math, exponential
100
00:09:57,400 –> 00:10:04,920
back off, ceiling, circuit breaker, three tries for network flinch, one for a hard 403, if
101
00:10:04,920 –> 00:10:11,240
the breaker opens, you don’t keep knocking, you mark, you notify, you stop, the system,
102
00:10:11,240 –> 00:10:21,000
breathes, and governance flows, govern, owner rotation runs monthly, connections rebind
103
00:10:21,000 –> 00:10:26,560
to service principles by policy, disabled accounts are purged from ownership lists,
104
00:10:26,560 –> 00:10:32,400
orphaned flows are not curiosities, they are ghosts, you end them or you adopt them, nothing
105
00:10:32,400 –> 00:10:39,440
just runs, when you copy this scaffold, do not trim the bones, developers will ask can
106
00:10:39,440 –> 00:10:44,880
we remove the team’s post for now? no, the house must hear itself, can we drop the audit
107
00:10:44,880 –> 00:10:51,480
insert while testing? no, tests are where habits grow teeth, finally remember the rule you
108
00:10:51,480 –> 00:10:58,240
don’t want, terminate on purpose, do not let a run wander in a do until with no hour
109
00:10:58,240 –> 00:11:04,940
glass, do not let a branch skip quietly into the weeds, end it, name it’s end, leave a
110
00:11:04,940 –> 00:11:10,480
stone on top, these patterns don’t make you safe, they make you ready, the orchestrator respects
111
00:11:10,480 –> 00:11:15,480
only structure, give it names, give it gates, give it records that outlive you, and when
112
00:11:15,480 –> 00:11:22,440
it wakes at 307 am, it will find you prepared, the flows that went wrong, urban legends from
113
00:11:22,440 –> 00:11:28,600
the tenant you’ve heard whispers, here are the bodies, the loop that ate a tenant, it began
114
00:11:28,600 –> 00:11:36,880
with kindness, a share point list, a flow that said when an item is updated, fix a field,
115
00:11:36,880 –> 00:11:42,040
set status to ready, simple, except the update woke the trigger, the trigger woke the update,
116
00:11:42,040 –> 00:11:47,840
a mirror staring at a mirror, apply to each nudged, each record to clean it, share point
117
00:11:47,840 –> 00:11:53,720
dutifully saved, the flow listened again, and again, by sunrise one million calls had
118
00:11:53,720 –> 00:12:01,460
gone into the dark, api quotas, hollowed dot service limits, screaming, uses woke to
119
00:12:01,460 –> 00:12:06,240
throttles errors and a quiet team’s channel that began to stutter, remediation we cut the
120
00:12:06,240 –> 00:12:12,400
wire, bulk cancel the runs, patch the trigger with a condition, only act when status changes
121
00:12:12,400 –> 00:12:18,080
from not ready to ready, at a tombstone column last processed hash so the creature knows
122
00:12:18,080 –> 00:12:25,440
it has fed, owner reassigned to a service principal, concurrency capped, and a poison path, the
123
00:12:25,440 –> 00:12:31,160
hunger stopped, the approval that never returned, an approval left the team, their mailbox
124
00:12:31,160 –> 00:12:39,960
moved, their calendar changed shape, the flow waited anyway, day one, day 30, day 100.
125
00:12:39,960 –> 00:12:52,280
271 days of pending, like a light left on in an empty room, downstream SLA softened, then
126
00:12:52,280 –> 00:12:58,520
rotted, people resented, people escalated, the record did not care, it was still awaiting,
127
00:12:58,520 –> 00:13:04,740
we tracked the thing by its correlation id, we found its grave in run history, a line
128
00:13:04,740 –> 00:13:11,380
that said nothing but still waiting, the fix, backup approver bound by role, not name,
129
00:13:11,380 –> 00:13:18,460
expiration window enforced, on timeout, reassign, on second timeout, escalate and close, terminate
130
00:13:18,460 –> 00:13:24,740
with expired approval so dashboards learned, and at the source, approvals created with adaptive
131
00:13:24,740 –> 00:13:31,780
cards that confess when the user is gone, no more polite silence, the dead users flow,
132
00:13:31,780 –> 00:13:37,900
the owner was disabled on friday, the flow did not notice, all token still warm, every night
133
00:13:37,900 –> 00:13:45,340
its scent reports signed by a ghost, when the token finally cooled, it failed, quietly,
134
00:13:45,340 –> 00:13:50,740
because no one was listening, the tenant filled with onalous things, still ticking, still
135
00:13:50,740 –> 00:13:56,100
trying, we brought out the rights, owner reassignment protocol, inventory of flows by connection
136
00:13:56,100 –> 00:14:03,300
owner, service principle rebinding by policy, a monthly sweep that ends, or adopt strays,
137
00:14:03,300 –> 00:14:09,300
and a sentinel, a flow that watches for disabled accounts tied to live automations, it writes
138
00:14:09,300 –> 00:14:14,820
a warning in date of us, it pings the steward, it ends the haunt, cost shadows, runaway
139
00:14:14,820 –> 00:14:21,180
retries, premium connectors built by the breath, an on prem gateway flinched, recurrence
140
00:14:21,180 –> 00:14:27,300
hit again, calls stacked, as your consumption rose like a tide you pretend not to see,
141
00:14:27,300 –> 00:14:32,980
we pulled logs from audit, we traced correlation through log analytics, we saw the same error,
142
00:14:32,980 –> 00:14:38,740
echoed a hundred times, remediation, circuit breakers back off with ceilings, retrieable only
143
00:14:38,740 –> 00:14:42,660
for a minute, then fatal, then notify.
144
00:14:42,660 –> 00:14:47,740
The bill quieted, forensics live where the bodies lie, run history gaps tell you when
145
00:14:47,740 –> 00:14:53,660
the bridge dropped, correlation IDs lead you from the trigger to the last scream, audit logs,
146
00:14:53,660 –> 00:14:59,860
log analytics, that’s where the names are, the kit is simple, bulk cancel, owner rebind,
147
00:14:59,860 –> 00:15:05,260
connection rotate, trigger patch, cap recurrence, and then align in the ledger, so the house remembers
148
00:15:05,260 –> 00:15:13,780
why the door is locked, the patterns that actually work, binding rituals for real teams, administrator,
149
00:15:13,780 –> 00:15:20,060
this is where the noise fades, not by chance, by design, reliable designs first, intake,
150
00:15:20,060 –> 00:15:25,860
validate, route, three doors, one direction, intake, gathers, it does not decide, it accepts
151
00:15:25,860 –> 00:15:31,660
a payload, stamps a correlation id, checks a signature, and writes a single thin record
152
00:15:31,660 –> 00:15:38,060
into dataverse, flow name, run ID, trigger, payload hash, status, it received, that’s the
153
00:15:38,060 –> 00:15:39,260
mark.
154
00:15:39,260 –> 00:15:45,620
From there, validation runs like a quiet clerk, required fields, present, data types,
155
00:15:45,620 –> 00:15:52,140
cast, references, resolve or reject, no side effects yet, if it passes, routing decides
156
00:15:52,140 –> 00:15:57,660
which task router takes the case, if it fails, terminate with invalid input, write the
157
00:15:57,660 –> 00:16:03,780
tombstone, notify the Stuart once, and let the house stay calm, dataverse is your spine,
158
00:16:03,780 –> 00:16:05,820
the source of truth, not a rumor.
159
00:16:05,820 –> 00:16:10,580
When you route by dataverse, you avoid double work, you look up by key, you coalesce missing
160
00:16:10,580 –> 00:16:16,120
fields, you guard with alternate keys, so idempotence is baked in, you never update the
161
00:16:16,120 –> 00:16:21,620
same record twice without checking the watermark, the table remembers, run to run, task
162
00:16:21,620 –> 00:16:28,860
routers are light, deterministic, they read a rules table, no branching labyrinths inside
163
00:16:28,860 –> 00:16:35,700
the flow, they choose a path by a clause, type equal, sales and region equals NA, child
164
00:16:35,700 –> 00:16:41,180
sales on board, and they do not send emails, they do not create tasks, they point, that’s
165
00:16:41,180 –> 00:16:47,900
all, no side effects means no ghosts, child micro flows do the work, tiny, contract driven,
166
00:16:47,900 –> 00:16:52,620
you pass only what they need, they return only what you asked, status output id in a small
167
00:16:52,620 –> 00:17:00,940
note, if they fail, they speak a code, retryable external 503, fatal bad mapping, the orchestrator
168
00:17:00,940 –> 00:17:06,660
listens to codes, not vibes, it decides the next breath, retry math sits beside them
169
00:17:06,660 –> 00:17:12,180
like a metronome, exponential back off with a ceiling you can say out loud, for 503 maybe
170
00:17:12,180 –> 00:17:17,620
10s 30s 60s, then circuit breaker opens, you mark the record, paused, write the retryate,
171
00:17:17,620 –> 00:17:23,900
and stop pushing, a timed watcher wakes later, checks the breaker, and tries again, or closes
172
00:17:23,900 –> 00:17:29,420
the book with fatal, and a ping to the steward, no run loops in the dark, no desperate hammering
173
00:17:29,420 –> 00:17:36,660
at a dead door, termination paths are named, not guest, success writes done, with an end time
174
00:17:36,660 –> 00:17:44,460
stamp and empty t-artics, retryable writes held, with next attempt, fatal writes dead, with
175
00:17:44,460 –> 00:17:50,700
a reason you can filter in a dashboard at 2pm or 307am, the dashboards breathe because
176
00:17:50,700 –> 00:17:55,620
the codes are clean, notifications live in one place, a team’s channel that hears, not
177
00:17:55,620 –> 00:18:03,020
screams, the post includes the flow run url correlation id and a short table action message
178
00:18:03,020 –> 00:18:09,860
error path, it mentions one role or one person chosen by environment, dev test, prod different
179
00:18:09,860 –> 00:18:15,380
bells, the right ears wake, everyone else sleeps, audit entries go to date of verse, happened
180
00:18:15,380 –> 00:18:21,660
only, never overwrite, that’s how mttr drops, run id to trigger to failure to resolution,
181
00:18:21,660 –> 00:18:26,660
the line forms a spine you can follow with a single query, and if you push to log analytics
182
00:18:26,660 –> 00:18:32,660
you can hunt by correlation id across services without guessing where the shadow moved, now
183
00:18:32,660 –> 00:18:39,660
the rooms where this holds, sales, onboarding micro flows that create tasks, set SLA timers
184
00:18:39,660 –> 00:18:45,260
and schedule reminders, intake writes the lead, validate verifies email and account, router
185
00:18:45,260 –> 00:18:51,300
sends by region and product, child flows create the tasks in data verse or dynamics, a timer
186
00:18:51,300 –> 00:18:56,940
child watches the due date, if a task lingers it posts a quiet nudge in teams with the record
187
00:18:56,940 –> 00:19:03,660
link once, then escalates, failure rate drops because each child only does one thing, API
188
00:19:03,660 –> 00:19:09,180
calls fall because nothing retreats in panic, the log tells you where time slipped, service
189
00:19:09,180 –> 00:19:14,180
auto classify email and escalate high priority cases, the intake listens to exchange with
190
00:19:14,180 –> 00:19:20,300
strict pre filters, subject and sender yes, but also a keyword list stored in data verse,
191
00:19:20,300 –> 00:19:26,380
validation casts the body strips noise and calculates a hash, if the hash matches the last processed
192
00:19:26,380 –> 00:19:32,700
payload, the flow steps aside, the router assigns to a queue by product, a child calls a
193
00:19:32,700 –> 00:19:38,740
model to score severity, critical gets an immediate teams post with mention to on call, normal
194
00:19:38,740 –> 00:19:43,700
gets a task, retreats for exchange hiccups happen in the watcher, not in the main run, your
195
00:19:43,700 –> 00:19:50,480
queue stops swallowing the same scream twice, HR staged approvals that don’t wait forever,
196
00:19:50,480 –> 00:19:55,580
the router chooses a path by job family, child request approval posts an adaptive card with
197
00:19:55,580 –> 00:20:01,340
an expiration window, if it times out child reassign finds a backup approver by role, not
198
00:20:01,340 –> 00:20:07,340
name, calendar aware windows prevent asking a 2 a.m. each path writes its own termination
199
00:20:07,340 –> 00:20:14,300
code, expired approval, reassigned, approved, mttr drops because you can see which stage failed
200
00:20:14,300 –> 00:20:21,100
without opening the run, security, compliance checks with purview, often teams and sharepoint
201
00:20:21,100 –> 00:20:28,660
cleanup, Azure AD lifecycle hooks feed the intake, user disabled, license removed, group
202
00:20:28,660 –> 00:20:37,100
changed, router sends cleanup team, archive site, lock share, child flows perform the
203
00:20:37,100 –> 00:20:43,260
work, I dampotently, if the site is already archived, they return success without pretending
204
00:20:43,260 –> 00:20:49,100
to act, a purge engine runs on a schedule, it cancels hanging runs older than a rule, it
205
00:20:49,100 –> 00:20:53,860
archives payloads past retention, it deletes stale connections, it rotates owners back to
206
00:20:53,860 –> 00:20:59,780
service principles if a hand straight, the haunt ends because the house keeps closing doors,
207
00:20:59,780 –> 00:21:04,380
copy paste kits make this real, a child flow contract template, a team’s message template
208
00:21:04,380 –> 00:21:10,780
with url composer, a dataverse audit create jason block, and a guide that says naming
209
00:21:10,780 –> 00:21:17,460
schema try catch scaffold router rules error codes, you don’t invent the ritual every time
210
00:21:17,460 –> 00:21:22,820
you repeat it, that’s how fear leaves, and the numbers change, api cut by a third sometimes
211
00:21:22,820 –> 00:21:30,180
more, failure rates from noisy 18% to quiet under 2 mttr sliding under 10 minutes because
212
00:21:30,180 –> 00:21:36,580
the first ping points straight to the wound, costs stop climbing the tenant sleeps, if
213
00:21:36,580 –> 00:21:43,100
you follow the marks the house stays quiet, the dark patterns things that never come back,
214
00:21:43,100 –> 00:21:48,660
some shapes don’t return, they slip into the crawl space and when they move the walls crack,
215
00:21:48,660 –> 00:21:53,460
one flow with 300 actions, no that’s not a flow, that’s a maze you don’t debug mazes
216
00:21:53,460 –> 00:21:59,060
you get lost in them, split by concern, compose a score, not a scream, orchestrator above,
217
00:21:59,060 –> 00:22:04,300
task rotors between child micro flows below anything else feeds the dark, do until with
218
00:22:04,300 –> 00:22:09,580
no timeout, never, that is a candle in a room with no air, it burns until it eats the table
219
00:22:09,580 –> 00:22:15,300
always add cap delay escape hatch, five tries back off, circuit breaker, if it forgets to
220
00:22:15,300 –> 00:22:20,660
stop you didn’t build a loop, you built a trap, apply to each on large lists with concurrency,
221
00:22:20,660 –> 00:22:26,500
it feels fast, it is not, it is a stampede, shard by partition keys, paginate on the server,
222
00:22:26,500 –> 00:22:31,060
filter where the data sleeps, not where your flow weasers, let each shard touch only its own
223
00:22:31,060 –> 00:22:38,460
row, then and only then raise the degree, excel as a trigger, never, excel remembers and
224
00:22:38,460 –> 00:22:45,060
it punishes, files lock, rows shift, tables break when someone fixes formatting, use data
225
00:22:45,060 –> 00:22:52,700
verse or share point lists for state, import from excel, do not listen to it, the sheet lies,
226
00:22:52,700 –> 00:22:59,100
share point, busy library triggers, they never sleep, pre filter by path, by content type,
227
00:22:59,100 –> 00:23:06,060
by flag you control, batch updates, debounds change storms with a watermark column that moves
228
00:23:06,060 –> 00:23:11,300
only when you say, if you listen to every footstep, you’ll never hear the knock, approvals
229
00:23:11,300 –> 00:23:17,380
with zero aerologic, that’s not a request, that’s a plea thrown into wind, add escalation,
230
00:23:17,380 –> 00:23:22,380
back up approver by roll, expiration and reassign, terminate with named codes, if no one
231
00:23:22,380 –> 00:23:28,420
answers the flow answers for them, and it ends, hard coded URLs and personal owners, that’s
232
00:23:28,420 –> 00:23:33,420
a love letter to a future outage, put URLs in environment variables, lock them, bind connections
233
00:23:33,420 –> 00:23:38,600
to service principles, rotate owners on a schedule, people leave, services don’t, chain
234
00:23:38,600 –> 00:23:44,860
ritual flows with no guard, flows triggering flows calling back their parents, waking themselves
235
00:23:44,860 –> 00:23:52,180
on their own edits, add trigger conditions, item potency keys, max depth, if a run can
236
00:23:52,180 –> 00:23:58,660
see its reflection, blind it, some patterns look brave, they are bait, leave them in the
237
00:23:58,660 –> 00:24:00,300
dark.
238
00:24:00,300 –> 00:24:06,820
The orchestrator blueprint, the safe architecture, now the warding, the blueprint that turns
239
00:24:06,820 –> 00:24:14,260
noise into work and work into quiet, master orchestrator, it listens once, only once, it
240
00:24:14,260 –> 00:24:21,260
deduplicates on site, payload hash or alternate key and stamps a correlation it that will not
241
00:24:21,260 –> 00:24:22,340
change.
242
00:24:22,340 –> 00:24:28,780
It logs the intake in dataverse, flow name, run it, ENV trigger hash status equals received,
243
00:24:28,780 –> 00:24:33,340
then it roots by type and environment, no side effects yet, the master’s hands are clean,
244
00:24:33,340 –> 00:24:39,740
task routers, light, deterministic, their rules live in dataverse so humans can edit without
245
00:24:39,740 –> 00:24:47,020
cutting wire, if type ill sales in region ill NA send to child sales on board, if severity
246
00:24:47,020 –> 00:24:54,100
equal, critical, send to child notify on call, routers don’t post, they don’t write, they
247
00:24:54,100 –> 00:25:00,460
point, then pass, child micro flows tiny, idempotent, contract driven, you hand them the minimum,
248
00:25:00,460 –> 00:25:08,140
they return status, output id, reason code, no global state, no oh while I’m here, per domain,
249
00:25:08,140 –> 00:25:14,340
sales, service, HR, sec ops, each tested alone, each replaceable without tearing the house,
250
00:25:14,340 –> 00:25:22,660
error hub, a dataverse audit table, append only, severity, stage, reason code, flow run URL,
251
00:25:22,660 –> 00:25:28,100
correlation id, person to notify, workflow meta, it accepts rights from every child and
252
00:25:28,100 –> 00:25:34,820
every router, it feeds the dashboard without asking anyone to check the run, purge plus retention
253
00:25:34,820 –> 00:25:41,420
engine, the keeper, it cancels hanging runs past a rule that archives payloads beyond retention,
254
00:25:41,420 –> 00:25:47,300
it deletes stale connections, it rotates owners back to service principles if someone drifted,
255
00:25:47,300 –> 00:25:53,420
it clears poison cues into daylight work, it keeps the house from filling with bones, monitoring,
256
00:25:53,420 –> 00:26:00,300
a dashboard that always watches, failed runs, high frequency triggers, onalous flows, disabled
257
00:26:00,300 –> 00:26:08,980
flows, top API burners, mttr, slice by reason code, drill by correlation id, from whale to
258
00:26:08,980 –> 00:26:16,500
wound in one click, governance shell, environments dev test prod, dlp walls that keep cursed connectors
259
00:26:16,500 –> 00:26:23,140
out, solution only built, COE starter kit signals to harvest inventory, log analytics for the long
260
00:26:23,140 –> 00:26:29,060
trail, Azure AD lifecycle hooks to catch the moment a user goes dim, copilot as scribe, it reads
261
00:26:29,060 –> 00:26:35,460
the error hub, it writes the narrative with timestamps, at 0 to 11 router recue due to circuit breaker,
262
00:26:35,940 –> 00:26:41,780
it suggests fixes, it links to runs, it is not the handler, it’s the chronicle you wish you had
263
00:26:41,780 –> 00:26:49,140
at 307 am, copy paste assets, a naming schema that binds demons, a try catch template, the data
264
00:26:49,140 –> 00:26:56,340
verse schema, the dashboard layout, the orchestration design guide, these are charms not trinkets, use them
265
00:26:56,340 –> 00:27:04,740
as written, metrics arc, the proof that the noise fades, API cut by 30 70%, failure rate from 18 to
266
00:27:04,740 –> 00:27:11,140
under 2, mttr under 10 minutes, cost curves flatten across licensing and Azure consumption, not luck,
267
00:27:11,140 –> 00:27:18,660
structure, with structure the noise fades, without it everything loops, one truth, the tool isn’t the
268
00:27:18,660 –> 00:27:25,780
monster, neglect is, the gaps, the unlock doors in a silent house, if you want the charms, the naming
269
00:27:25,780 –> 00:27:30,500
schema, the try catch scaffold, the data verse audit table, the dashboard layout, the orchestrator
270
00:27:30,500 –> 00:27:36,900
blueprint take them, subscribe and watch the deeper build, keep them close, build carefully,
271
00:27:36,900 –> 00:27:40,500
or the machine will finish the work, long after you are gone.






