Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Dealing with Incidents using Monzo Response
Search
Christopher Evans
May 22, 2019
Technology
50
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Dealing with Incidents using Monzo Response
Christopher Evans
May 22, 2019
More Decks by Christopher Evans
See All by Christopher Evans
How to Build a Digital Bank Using AWS
evnsio
0
200
Keeping a modern bank online
evnsio
1
440
Other Decks in Technology
See All in Technology
Claude Codeを組織で使いこなす— サーバサイドAIエージェント運用の実践知
techtekt
PRO
0
200
もりもり新機能を一挙紹介! AgentCoreに入門して、AWS上にAIエージェントを構築しよう
minorun365
PRO
6
810
サプライチェーンセキュリティの空白地帯 - 信頼できる”依存性”の未来を考える
rung
PRO
2
700
Claude Code×Terraform IaC テンプレート駆動開発
itouhi
1
290
ルールやカスタム機能、どう使う?理想の出力を引き出すために今知りたいIBM Bob 5つの機能
muehara
1
340
2026.06.13_AI時代に事業会社が「SIer出身エンジニア」を求める理由 / Why Businesses Seek Engineers with a System Integrator Background in the AI Era
jumtech
0
500
PHP と TypeScript の型システム比較:AI 時代の「型」は誰のためにあるのか? #frontend_phpcon_do / frontend_phpcon_do_2026
shogogg
1
250
速さだけじゃない! VoidZero ツールが移行先に選ばれる理由
mizdra
PRO
6
750
noUncheckedIndexedAccess、3時間、1万円。 / noUncheckedIndexedAccess, 3 Hours, 10,000 JPY.
kaonavi
1
300
AI駆動開発が変える、大規模開発の前提 ーHuman in the Loop から Human on the Loop へ / AIE2026
visional_engineering_and_design
7
5k
データ基盤をDataformで整えた話 〜 開発環境を添えて 〜
takapy
0
110
運用を見据えたAIエージェント設計実践
amacbee
1
2.9k
Featured
See All Featured
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2k
Exploring anti-patterns in Rails
aemeredith
3
390
The Invisible Side of Design
smashingmag
302
52k
Paper Plane (Part 1)
katiecoart
PRO
0
8.5k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
370
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
65
56k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
Are puppies a ranking factor?
jonoalderson
1
3.5k
The Limits of Empathy - UXLibs8
cassininazir
1
350
Designing for Performance
lara
611
70k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
390
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
480
Transcript
Dealing with Incidents using Monzo Response ⚡ Chris Evans Platform
/ On-call Lead @evnsio
None
None
None
None
None
If any of that sounds interesting, we’re hiring… monzo.com/careers
Let’s talk about incidents...
“When you assign an incident lead, let customer operations know
who it is”
“...and remember to set a severity within the first 5
mins of the incident”
“...and if it’s a major severity, follow this procedure”
“...and if it’s a critical severity, here’s this other stuff
you need to do”
“...and if you’re going to put the status page up,
contact this team so they can decide whether we need to inform the regulator”
“...and check this spreadsheet for risk ratings to know whether
you need to notify a senior exec”
“...oh, and the incident needs to be dealt with too”
None
Response ⚡ is the result of applying software engineering to
incident response
Limit context switching Context switching during an incident is often
unavoidable. We aim to limit this, by enabling actions to be carried out without leaving the conversation.
Make the easiest thing the right thing If something needs
doing, bring it to the attention of the responder when it makes sense, or better still automate it away.
events, messages, etc Monzo Incident Backend Monzo Incident Web UI
Slack Architecture view, edit incidents messages, actions
The Basics
None
None
The Headline Post
The Incident Doc
The Comms Channel
The Comms Channel
The Comms Channel
Building Blocks
@slack_event @notification @action_handler @keyword_handler @incident_command @dialog_handler Building blocks
@slack_event @notification @action_handler @keyword_handler @incident_command @dialog_handler Building blocks
Functions that are called when a user wants the tool
to do something...
@incident <command> <action>
None
None
None
None
None
Some other commands we use at Monzo action log an
action to be followed up later escalate escalate to another set of on-callers statuspage update our customer facing status page rename rename a comms channel to something descriptive
@slack_event @notification @action_handler @keyword_handler @incident_command @dialog_handler Building blocks
Functions that are called when a word or phrase is
mentioned...
None
@slack_event @notification @action_handler @keyword_handler @incident_command @dialog_handler Building blocks
Functions that are called on a particular schedule...
None
None
@slack_event @notification @action_handler @keyword_handler @incident_command @dialog_handler Building blocks
Functions that are called when a particular Slack event happens...
None
None
Some other events that might be interesting... Users posting messages
Users pasting links Reactions
@slack_event @notification @action_handler @keyword_handler @incident_command @dialog_handler Building blocks
Functions that are called when a Slack button is clicked...
None
@slack_event @notification @action_handler @keyword_handler @incident_command @dialog_handler Building blocks
Functions that are called when a Slack dialog is submitted...
None
“I want to be able to Page engineers without leaving
Slack”
None
Page Engineer One line of code One function
One incident command to post the message One function to
handle buttons and raise dialog One function to handle dialog submission
Takeaways Map out your incident handling process Understand what you’re
being asked to do and when Use the building blocks of Response ⚡ to codify it Let your on-callers do what they do best
Thanks for listening! @evnsio github.com/monzo/response