SlideShare a Scribd company logo
1 of 84
Slack Platform Community:
Denver
Introducing the Slack app toolkit
Building a home for your app 🏡
JavaScript broke my heart,
but TypeScript made me
fall in love again
Andrew Homeyer
CTO @ Halp
@andrewhomeyer
https://time.graphics/line/155170
JavaScript is TypeScript, but TypeScript isn’t
JavaScript
Expecting the wrong shape sucks in JavaScript
> TypeScript adds strict type checking
Figuring out function arguments sucks in
JavaScript
> TypeScript typeahead is lovely
Refactoring is really painful in JavaScript
> TypeScript won’t let you screw it up, and your
editor usually helps you do it
Recommended flags:
● noImplicitAny
● strictNullChecks
TypeScript isn’t a linter, but ESLint and Prettier do
support TypeScript
“Cannot read property x of undefined” hurts in
JavaScript
> TypeScript’s optional chaining and strict null
checks makes this easy
TypeScript with Bolt
More fun things: TypeScript utilities
https://www.typescriptlang.org/docs/handbook/utility-types.html
Generating types with GraphQL
Word of caution: TypeScript doesn’t do
runtime type checking for you
What are your favorite TypeScript
features?
(Or what do you also hate about
JavaScript)
Thank you!
Andrew Homeyer
CTO @ Halp
@andrewhomeyer
How Slack Uses Slack
Dustin Lindquist
He/Him
Engineer
3 simple things
How Slack uses Slack
Channel naming
conventions
Help people find the
information they’re looking for
easily.
Emojis have meaning
Emojis are fun. They also can
communicate concrete
meaning instantly.
Open by default
Questions that get answered
in public are answered for all.
#announce-
#announce-global
#announce-denver
#announce-devel
#announce-platform
Announcement channels
#help-
#help-pr
#help-legal
#help-biztech
#help-workspace-den
Help channels
#feat-
#feat-email-bridge
#feat-wysiwyg-composer
#feat-workflow-builder
#feat-shared-channels
Feature channels
#devel-
#devel-email-bridge
#devel-wysiwyg-composer
#devel-workflow-builder
#devel-shared-channels
Development channels
#feedback-
#feedback-email-bridge
#feedback-wysiwyg-composer
#feedback-workflow-builder
#feedback-shared-channels
Feedback channels
#escal-
#escal-workflows
#escal-ios-infra
#escal-admin
#escal-files
Escalation channels
#account
#account-oracle
#account-target
#account-fox
#account-intuit
Account channels
3 simple things
How Slack uses Slack
Channel naming
conventions
Help people find the
information they’re looking for
easily.
Emojis have meaning
Emojis are fun. They also can
communicate concrete
meaning instantly.
Open by default
Questions that get answered
in public are answered for all.
Emojis with
meaning
We use emojis to kickoff
automated
processes/workflows as
well as to communicate
very specific meaning.
We also use them for fun
all the time.
Matt Russo
Where do we get water from?
11:02 PM
DiógenesBrito
I’ve got a plan for Q4 planning in
4:59 PM
2 replies Last reply just now
How Slack uses Slack
Peter Tielking
Can I get GitHub added to my Okta?
3:02 PM
2 replies Last reply just now
Liz Lally
Did we fix the backend timing issue?
10:02 AM
3 simple things
How Slack uses Slack
Channel naming
conventions
Help people find the
information they’re looking for
easily.
Emojis have meaning
Emojis are fun. They also can
communicate concrete
meaning instantly.
Open by default
Questions that get answered
in public are answered for all.
🙇♂️Thank You!
Dustin Lindquist
Building Devops Tooling
With Slack
Dan Moore - Community Engineer - Transposit
About me
@mooreds https://www.transposit.com
About me
● Who cares
@mooreds https://www.transposit.com
How about you?
@mooreds https://www.transposit.com
● How many have built a Slack app
● Role
○ Developer
○ Ops
○ Product
○ Execs
○ Someone else?
@mooreds https://www.transposit.com
@mooreds https://www.transposit.com
@mooreds https://www.transposit.com
@mooreds https://www.transposit.com
@mooreds https://www.transposit.com
Chatops
@mooreds https://www.transposit.com
@mooreds https://www.transposit.com
Visible
@mooreds https://www.transposit.com
System of
record
@mooreds https://www.transposit.com
Searchable
@mooreds https://www.transposit.com
Linkable
@mooreds https://www.transposit.com
Timestamps
@mooreds https://www.transposit.com
Mobile
@mooreds https://www.transposit.com
Integrations
@mooreds https://www.transposit.com
@mooreds https://www.transposit.com
Devops
+ Slack
@mooreds https://www.transposit.com
@mooreds https://www.transposit.com
@mooreds https://www.transposit.com
@mooreds https://www.transposit.com
Commands
@mooreds https://www.transposit.com
Examples?
@mooreds https://www.transposit.com
@mooreds https://www.transposit.com
@mooreds https://www.transposit.com
@mooreds https://www.transposit.com
@mooreds https://www.transposit.com
Demo
@mooreds https://www.transposit.com
More UX options
● Modals
● Write to Slack
○ SOP
○ Incident response
@mooreds https://www.transposit.com
https://slack.dev/guides/AppUIGuidelines.pdf
@mooreds https://www.transposit.com
@mooreds https://www.transposit.com
Discoverability
@mooreds https://www.transposit.com
Security
@mooreds https://www.transposit.com
@mooreds https://www.transposit.com
Thanks!
@mooreds
https://www.transposit.com
Questions?
83
Thank you!
Next Meetup - March 4th
84

More Related Content

What's hot

Strategie di testing: Spring Boot loves Kotlin
Strategie di testing: Spring Boot loves KotlinStrategie di testing: Spring Boot loves Kotlin
Strategie di testing: Spring Boot loves KotlinMarco Fracassi
 
Infinum Android Talks #19 - Stop wasting time fixing bugs with TDD by Domagoj...
Infinum Android Talks #19 - Stop wasting time fixing bugs with TDD by Domagoj...Infinum Android Talks #19 - Stop wasting time fixing bugs with TDD by Domagoj...
Infinum Android Talks #19 - Stop wasting time fixing bugs with TDD by Domagoj...Infinum
 
Swift: The Basics
Swift: The BasicsSwift: The Basics
Swift: The BasicsMarc Brown
 
Complete Programming
Complete ProgrammingComplete Programming
Complete Programminglichtkind
 
Application Development Using Java - DIYComputerScience Course
Application Development Using Java - DIYComputerScience CourseApplication Development Using Java - DIYComputerScience Course
Application Development Using Java - DIYComputerScience Courseparag
 
Good code, Bad Code
Good code, Bad CodeGood code, Bad Code
Good code, Bad Codejosedasilva
 
Geecon10: Object Oriented for nonbelievers
Geecon10: Object Oriented for nonbelieversGeecon10: Object Oriented for nonbelievers
Geecon10: Object Oriented for nonbelieversBruno Bossola
 

What's hot (12)

Strategie di testing: Spring Boot loves Kotlin
Strategie di testing: Spring Boot loves KotlinStrategie di testing: Spring Boot loves Kotlin
Strategie di testing: Spring Boot loves Kotlin
 
Infinum Android Talks #19 - Stop wasting time fixing bugs with TDD by Domagoj...
Infinum Android Talks #19 - Stop wasting time fixing bugs with TDD by Domagoj...Infinum Android Talks #19 - Stop wasting time fixing bugs with TDD by Domagoj...
Infinum Android Talks #19 - Stop wasting time fixing bugs with TDD by Domagoj...
 
Swift: The Basics
Swift: The BasicsSwift: The Basics
Swift: The Basics
 
Complete Programming
Complete ProgrammingComplete Programming
Complete Programming
 
Tensorflow go
Tensorflow goTensorflow go
Tensorflow go
 
How to write bad code using C#
How to write bad code using C#How to write bad code using C#
How to write bad code using C#
 
Sonatype DevSecOps Leadership forum 2020
Sonatype DevSecOps Leadership forum 2020Sonatype DevSecOps Leadership forum 2020
Sonatype DevSecOps Leadership forum 2020
 
Development tools
Development toolsDevelopment tools
Development tools
 
Gamedev-grade debugging
Gamedev-grade debuggingGamedev-grade debugging
Gamedev-grade debugging
 
Application Development Using Java - DIYComputerScience Course
Application Development Using Java - DIYComputerScience CourseApplication Development Using Java - DIYComputerScience Course
Application Development Using Java - DIYComputerScience Course
 
Good code, Bad Code
Good code, Bad CodeGood code, Bad Code
Good code, Bad Code
 
Geecon10: Object Oriented for nonbelievers
Geecon10: Object Oriented for nonbelieversGeecon10: Object Oriented for nonbelievers
Geecon10: Object Oriented for nonbelievers
 

Similar to SPC Denver/Boulder - Jan 2020

JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development
JAZOON'13 - Sven Peters - How to do Kick-Ass Software DevelopmentJAZOON'13 - Sven Peters - How to do Kick-Ass Software Development
JAZOON'13 - Sven Peters - How to do Kick-Ass Software Developmentjazoon13
 
Github github-github
Github github-githubGithub github-github
Github github-githubfusion2011
 
How To Do Kick-Ass Software Development
How To Do Kick-Ass Software DevelopmentHow To Do Kick-Ass Software Development
How To Do Kick-Ass Software DevelopmentSven Peters
 
The Junior Developer Survival Guide - GDI Ann Arbor 2/10/15
The Junior Developer Survival Guide -  GDI Ann Arbor 2/10/15The Junior Developer Survival Guide -  GDI Ann Arbor 2/10/15
The Junior Developer Survival Guide - GDI Ann Arbor 2/10/15James York
 
How To Do Kick-Ass Software Development, by Sven Peters
How To Do Kick-Ass Software Development, by Sven PetersHow To Do Kick-Ass Software Development, by Sven Peters
How To Do Kick-Ass Software Development, by Sven PetersZeroTurnaround
 
Kickass Agile Development - Agile & Beyond Conference
Kickass Agile Development - Agile & Beyond ConferenceKickass Agile Development - Agile & Beyond Conference
Kickass Agile Development - Agile & Beyond ConferenceDan Chuparkoff
 
Jr devsurvivalguide
Jr devsurvivalguideJr devsurvivalguide
Jr devsurvivalguideJames York
 
Scenic City Summit 2018 - TypeScript 101
Scenic City Summit 2018 - TypeScript 101Scenic City Summit 2018 - TypeScript 101
Scenic City Summit 2018 - TypeScript 101Frances Coronel
 
Survey on Script-based languages to write a Chatbot
Survey on Script-based languages to write a ChatbotSurvey on Script-based languages to write a Chatbot
Survey on Script-based languages to write a ChatbotNguyen Giang
 
Slack for the mere mortals
Slack for the mere mortalsSlack for the mere mortals
Slack for the mere mortalsAbe Diaz
 
Build chatbots with api.ai and Google cloud functions
Build chatbots with api.ai and Google cloud functionsBuild chatbots with api.ai and Google cloud functions
Build chatbots with api.ai and Google cloud functionsThe Incredible Automation Day
 
Building an Open Source iOS app: lessons learned
Building an Open Source iOS app: lessons learnedBuilding an Open Source iOS app: lessons learned
Building an Open Source iOS app: lessons learnedWojciech Koszek
 
From Ant to Rake
From Ant to RakeFrom Ant to Rake
From Ant to Rakejazzman1980
 
Migrating Web SDK from JS to TS
Migrating Web SDK from JS to TSMigrating Web SDK from JS to TS
Migrating Web SDK from JS to TSGrigory Petrov
 
Webdev and programming
Webdev and programming  Webdev and programming
Webdev and programming George Ingram
 

Similar to SPC Denver/Boulder - Jan 2020 (20)

JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development
JAZOON'13 - Sven Peters - How to do Kick-Ass Software DevelopmentJAZOON'13 - Sven Peters - How to do Kick-Ass Software Development
JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development
 
Github github-github
Github github-githubGithub github-github
Github github-github
 
How To Do Kick-Ass Software Development
How To Do Kick-Ass Software DevelopmentHow To Do Kick-Ass Software Development
How To Do Kick-Ass Software Development
 
The Junior Developer Survival Guide - GDI Ann Arbor 2/10/15
The Junior Developer Survival Guide -  GDI Ann Arbor 2/10/15The Junior Developer Survival Guide -  GDI Ann Arbor 2/10/15
The Junior Developer Survival Guide - GDI Ann Arbor 2/10/15
 
How To Do Kick-Ass Software Development, by Sven Peters
How To Do Kick-Ass Software Development, by Sven PetersHow To Do Kick-Ass Software Development, by Sven Peters
How To Do Kick-Ass Software Development, by Sven Peters
 
Kickass Agile Development - Agile & Beyond Conference
Kickass Agile Development - Agile & Beyond ConferenceKickass Agile Development - Agile & Beyond Conference
Kickass Agile Development - Agile & Beyond Conference
 
Jr devsurvivalguide
Jr devsurvivalguideJr devsurvivalguide
Jr devsurvivalguide
 
Scenic City Summit 2018 - TypeScript 101
Scenic City Summit 2018 - TypeScript 101Scenic City Summit 2018 - TypeScript 101
Scenic City Summit 2018 - TypeScript 101
 
Survey on Script-based languages to write a Chatbot
Survey on Script-based languages to write a ChatbotSurvey on Script-based languages to write a Chatbot
Survey on Script-based languages to write a Chatbot
 
Scratch2
Scratch2Scratch2
Scratch2
 
Slack for the mere mortals
Slack for the mere mortalsSlack for the mere mortals
Slack for the mere mortals
 
Build chatbots with api.ai and Google cloud functions
Build chatbots with api.ai and Google cloud functionsBuild chatbots with api.ai and Google cloud functions
Build chatbots with api.ai and Google cloud functions
 
Building an Open Source iOS app: lessons learned
Building an Open Source iOS app: lessons learnedBuilding an Open Source iOS app: lessons learned
Building an Open Source iOS app: lessons learned
 
Alabot
AlabotAlabot
Alabot
 
Rapid prototyping
Rapid prototypingRapid prototyping
Rapid prototyping
 
Open source
Open sourceOpen source
Open source
 
From Ant to Rake
From Ant to RakeFrom Ant to Rake
From Ant to Rake
 
Migrating Web SDK from JS to TS
Migrating Web SDK from JS to TSMigrating Web SDK from JS to TS
Migrating Web SDK from JS to TS
 
Git Makes Me Angry Inside
Git Makes Me Angry InsideGit Makes Me Angry Inside
Git Makes Me Angry Inside
 
Webdev and programming
Webdev and programming  Webdev and programming
Webdev and programming
 

Recently uploaded

Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 

Recently uploaded (20)

Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 

SPC Denver/Boulder - Jan 2020

Editor's Notes

  1. Cohesion - broadcast in context
  2. For every feature, pinned items, purpose
  3. For every feature, pinned items, purpose
  4. For every feature, pinned items, purpose
  5. For every feature, pinned items, purpose
  6. Team Escal. Channels Alerts Staffed Priority SLA’s (screenshot of SLA escal.)
  7. For every feature, pinned items, purpose
  8. We make interactive runbooks which learn.
  9. Save questions for after the talk, due to the “lightning” nature of it.
  10. Not going to cover: Building a slack app Oauth UX intricacies
  11. What is devops? It’s tools designed to enable development and operations of your applications. CI/CD pipelines, alerting, monitoring, incident management.
  12. What makes sense to “tie in” to slack? Frequency of use Accessible (make a command available for someone who might not be able to run it on their own) Intricate Human decision making needed SOP vs incident
  13. “People are already there”. Everybody is in chat (as opposed to jenkins or other tools)
  14. Across the org
  15. Helpful for future you
  16. Can be included in
  17. All about making you more efficient and effective.
  18. So how can devops tools and chat work together
  19. Easiest: just have adhoc meetings in slack.
  20. Easier: bring all your relevant events (releases, incidents, service provider statuses) and discussions about those into slack. Aka the “firehose” pattern.
  21. Don’t push too much to slack (nginx logfiles in their entiriety) because of the 1 post/second limit.
  22. You can also build specific commands that integrate with devops tooling.
  23. Trigger a jenkins build. Show me the last 10 deployments for service X. Add this ip to my firewall and drop all the packets.
  24. You need to think about inputs. These include plain text, structured data from slack’s form controls (dates, select list) and emojis.
  25. Then ad your business logic (authorization, any specific business rules).
  26. Finally, connect to your other systems via webhook, API or SDK calls.
  27. Example of a slack app I built which lists my ec2 instances.
  28. Demo of list of ec2-instances and restart of ec2-instances in my test slack.
  29. Read this
  30. Or google for it.
  31. How can you discover slack commands? Docs, welcome messages, bots that exist in your workspace.
  32. Make sure to avoid escalation of privileges.
  33. Think about when you should drop out of slack. Sometimes you should just go to the tool. How do you capture the actions someone did “out of band”. Firehose will save you.