SlideShare a Scribd company logo
CREATING CUSTOM SLACK
INTEGRATIONS WITH VAPOR
1
WHAT IS VAPOR?
2
WHAT IS VAPOR?
3
WHAT IS VAPOR?
▸ Vapor is a collection of open source, Swift 3 modules for
building web apps
3
WHAT IS VAPOR?
▸ Vapor is a collection of open source, Swift 3 modules for
building web apps
3
Source: https://youtu.be/G_dUwkhZst0
4
WHY VAPOR?
5
WHY VAPOR?
6
WHY VAPOR?
▸ Swift is AWESOME!
6
WHY VAPOR?
▸ Swift is AWESOME!
▸ Nice option for iOS dev to create their own back-end
6
WHY VAPOR?
▸ Swift is AWESOME!
▸ Nice option for iOS dev to create their own back-end
▸ It’s fast
6
WHAT IS SLACK?
7
WHAT IS SLACK?
8
WHAT IS SLACK?
▸ Slack is a team communications tool
8
WHAT IS SLACK?
▸ Slack is a team communications tool
▸ https://orlandodevs.slack.com/
8
WHAT DO I NEED TO
DEVELOP WITH VAPOR?
9
TEXT
WHAT DO I NEED TO DEVELOP WITH VAPOR?
10
TEXT
WHAT DO I NEED TO DEVELOP WITH VAPOR?
▸ Swift 3
10
TEXT
WHAT DO I NEED TO DEVELOP WITH VAPOR?
▸ Swift 3
▸ macOS - Xcode 8
10
TEXT
WHAT DO I NEED TO DEVELOP WITH VAPOR?
▸ Swift 3
▸ macOS - Xcode 8
▸ Ubuntu - curl	-sL	swift.vapor.sh/ubuntu	|	bash
10
TEXT
WHAT DO I NEED TO DEVELOP WITH VAPOR?
▸ Swift 3
▸ macOS - Xcode 8
▸ Ubuntu - curl	-sL	swift.vapor.sh/ubuntu	|	bash
▸ https://swift.org/getting-started/#installing-swift
10
TEXT
WHAT DO I NEED TO DEVELOP WITH VAPOR?
▸ Swift 3
▸ macOS - Xcode 8
▸ Ubuntu - curl	-sL	swift.vapor.sh/ubuntu	|	bash
▸ https://swift.org/getting-started/#installing-swift
▸ curl	-sL	check.vapor.sh	|	bash
10
TEXT
WHAT DO I NEED TO DEVELOP WITH VAPOR?
▸ Swift 3
▸ macOS - Xcode 8
▸ Ubuntu - curl	-sL	swift.vapor.sh/ubuntu	|	bash
▸ https://swift.org/getting-started/#installing-swift
▸ curl	-sL	check.vapor.sh	|	bash
▸ Vapor Toolbox
10
TEXT
WHAT DO I NEED TO DEVELOP WITH VAPOR?
▸ Swift 3
▸ macOS - Xcode 8
▸ Ubuntu - curl	-sL	swift.vapor.sh/ubuntu	|	bash
▸ https://swift.org/getting-started/#installing-swift
▸ curl	-sL	check.vapor.sh	|	bash
▸ Vapor Toolbox
▸ curl	-sL	toolbox.vapor.sh	|	bash
10
TEXT
WHAT DO I NEED TO DEVELOP WITH VAPOR?
▸ Swift 3
▸ macOS - Xcode 8
▸ Ubuntu - curl	-sL	swift.vapor.sh/ubuntu	|	bash
▸ https://swift.org/getting-started/#installing-swift
▸ curl	-sL	check.vapor.sh	|	bash
▸ Vapor Toolbox
▸ curl	-sL	toolbox.vapor.sh	|	bash
▸ https://vapor.github.io/documentation/getting-started/manual.html
10
SLACK DEVELOPMENT
BASICS
11
SLACK DEVELOPMENT BASICS
12
SLACK DEVELOPMENT BASICS
▸ Types of Custom Integrations
12
SLACK DEVELOPMENT BASICS
▸ Types of Custom Integrations
▸ Incoming/Outgoing Webhooks
12
SLACK DEVELOPMENT BASICS
▸ Types of Custom Integrations
▸ Incoming/Outgoing Webhooks
12
SLACK DEVELOPMENT BASICS
▸ Types of Custom Integrations
▸ Incoming/Outgoing Webhooks
▸ Bot Users
12
SLACK DEVELOPMENT BASICS
▸ Types of Custom Integrations
▸ Incoming/Outgoing Webhooks
▸ Bot Users
▸ Slash Commands
12
SLACK DEVELOPMENT BASICS
▸ Types of Custom Integrations
▸ Incoming/Outgoing Webhooks
▸ Bot Users
▸ Slash Commands
12
SLACK MESSAGES
13
SLACK MESSAGES
▸ Basic message format:

				{

								“text”	:	“This	is	text”,

								“response_type”	:	“ephemeral”

				}
13
SLACK MESSAGES
▸ Basic message format:

				{

								“text”	:	“This	is	text”,

								“response_type”	:	“ephemeral”

				}
13
SLACK MESSAGES
▸ Basic message format:

				{

								“text”	:	“This	is	text”,

								“response_type”	:	“ephemeral”

				}
▸ Attachments:

				{

								“response_type”	:	“in_channel”,

								“attachments”	:	[

												{

																“title”	:	“This	is	the	title”,

																“text”	:	“This	is	text”,

																“color”	:	“#000000”

												}]

				}
13
SLACK MESSAGES
▸ Basic message format:

				{

								“text”	:	“This	is	text”,

								“response_type”	:	“ephemeral”

				}
▸ Attachments:

				{

								“response_type”	:	“in_channel”,

								“attachments”	:	[

												{

																“title”	:	“This	is	the	title”,

																“text”	:	“This	is	text”,

																“color”	:	“#000000”

												}]

				}
13
SLACK MESSAGES
▸ Basic message format:

				{

								“text”	:	“This	is	text”,

								“response_type”	:	“ephemeral”

				}
▸ Attachments:

				{

								“response_type”	:	“in_channel”,

								“attachments”	:	[

												{

																“title”	:	“This	is	the	title”,

																“text”	:	“This	is	text”,

																“color”	:	“#000000”

												}]

				}
▸ https://api.slack.com/docs/messages
13
LESSONS
LEARNED
14
LESSONS LEARNED
15
LESSONS LEARNED
▸ You won’t be able to use all the frameworks you’re
accustomed to using in iOS development
15
LESSONS LEARNED
▸ You won’t be able to use all the frameworks you’re
accustomed to using in iOS development
▸ Testing on both macOS and Linux is essential
15
REFERENCES
16
REFERENCES
▸ Slack API Documentation - https://api.slack.com/
▸ Vapor Documentation - https://docs.vapor.codes
▸ Vapor Slack - http://vapor.team
▸ https://github.com/WERUreo/WeatherSlack/
▸ https://github.com/WERUreo/werureo-slackbots/
16
REFERENCES
▸ Slack API Documentation - https://api.slack.com/
▸ Vapor Documentation - https://docs.vapor.codes
▸ Vapor Slack - http://vapor.team
▸ https://github.com/WERUreo/WeatherSlack/
▸ https://github.com/WERUreo/werureo-slackbots/
QUESTIONS?
16

More Related Content

What's hot (20)

PPTX
How to Build & Deploy a HelloWorld API function using Java on OpenShift in...
Jan Vosecky
 
PDF
Silent push
CocoaHeads France
 
PDF
Swift girls20170710
純華 胡
 
PDF
Creating Custom Slack Integrations with Vapor 3 (Redux)
🔴 Keli'i Martin
 
PDF
Vagrant for local and team WordPress Development
Anthony Alvarez
 
PPTX
React native development with expo
SangSun Park
 
ODP
iOS Developers Conference-iOS Automation with Cucumber, Appium and Saucelabs
Shashikant Jagtap
 
PDF
DevOps Camp 2017 NYC Local Development using Vagrant by Anthony Alvarez
Anthony Alvarez
 
PDF
T3DD13 - Automated deployment for TYPO3 CMS (Workshop)
Tobias Liebig
 
PDF
React Native Expo
Ryosuke Hara
 
PPTX
Build r
Dmitry Buzdin
 
PDF
Cloud expo-east-2015
argvader
 
KEY
Essential Plone development tools - Plone conf 2012
Kim Chee Leong
 
PDF
Kinect Workshop Part 1/2
Seiya Konno
 
PDF
VCCW - Vagrant based WordPress development environment
Takayuki Miyauchi
 
PPTX
Introduction to jenkins for the net developer
Abe Diaz
 
ODP
iOS Automation with Cucumber, Appium and Saucelabs
Shashikant Jagtap
 
PDF
Wocker @WordBench Osaka No.41
Kite Koga
 
PPT
Behat sauce
Shashikant Jagtap
 
PPTX
PhoneGap Day 2016 EU: Creating the Ideal Cordova Dev Environment
Ryan J. Salva
 
How to Build & Deploy a HelloWorld API function using Java on OpenShift in...
Jan Vosecky
 
Silent push
CocoaHeads France
 
Swift girls20170710
純華 胡
 
Creating Custom Slack Integrations with Vapor 3 (Redux)
🔴 Keli'i Martin
 
Vagrant for local and team WordPress Development
Anthony Alvarez
 
React native development with expo
SangSun Park
 
iOS Developers Conference-iOS Automation with Cucumber, Appium and Saucelabs
Shashikant Jagtap
 
DevOps Camp 2017 NYC Local Development using Vagrant by Anthony Alvarez
Anthony Alvarez
 
T3DD13 - Automated deployment for TYPO3 CMS (Workshop)
Tobias Liebig
 
React Native Expo
Ryosuke Hara
 
Build r
Dmitry Buzdin
 
Cloud expo-east-2015
argvader
 
Essential Plone development tools - Plone conf 2012
Kim Chee Leong
 
Kinect Workshop Part 1/2
Seiya Konno
 
VCCW - Vagrant based WordPress development environment
Takayuki Miyauchi
 
Introduction to jenkins for the net developer
Abe Diaz
 
iOS Automation with Cucumber, Appium and Saucelabs
Shashikant Jagtap
 
Wocker @WordBench Osaka No.41
Kite Koga
 
Behat sauce
Shashikant Jagtap
 
PhoneGap Day 2016 EU: Creating the Ideal Cordova Dev Environment
Ryan J. Salva
 

Viewers also liked (8)

PPTX
Agile with slack
Diluka Wittahachchige
 
PDF
Introduction to slack and how my team used it
Muchamad Ishaq Z
 
PPTX
Slack for the mere mortals
Abe Diaz
 
PDF
A slack tutorial 2017 melvinreceno themagnificent
Melvin Receno
 
PPTX
How to implement Slack
Olivier De Schutter
 
PPTX
Presentation On Slack
Rahul Khandelwal
 
PPTX
Slack presentation
blevz
 
Agile with slack
Diluka Wittahachchige
 
Introduction to slack and how my team used it
Muchamad Ishaq Z
 
Slack for the mere mortals
Abe Diaz
 
A slack tutorial 2017 melvinreceno themagnificent
Melvin Receno
 
How to implement Slack
Olivier De Schutter
 
Presentation On Slack
Rahul Khandelwal
 
Slack presentation
blevz
 
Ad

Similar to Creating Custom Slack Integrations with Vapor (20)

PDF
Quinoa: A modern Quarkus UI with no hassles | DevNation tech Talk
Red Hat Developers
 
PDF
Ansible meetup-0915
Pierre Mavro
 
PDF
Modern Web Application Development Workflow - web2day 2014
Stéphane Bégaudeau
 
PDF
Try! Swift Tokyo2017
Amy Cheong
 
PDF
Dependent things dependency management for apple sw - slideshare
Cavelle Benjamin
 
PDF
Modern Web Application Development Workflow - EclipseCon US 2014
Stéphane Bégaudeau
 
PDF
DevOps: Using Vagrant to Enhance Your Day to Day Development
Rob Reynolds
 
PPTX
WordPress workflow of the future
Eli McMakin
 
PDF
Streamlining API with Swagger.io
Victor Augusteo
 
PDF
Virtualize and automate your development environment for fun and profit
Andreas Heim
 
PDF
Server side development using Swift and Vapor
Santex Group
 
PDF
The Big Cloud native FaaS Lebowski
QAware GmbH
 
PPTX
Development with Vagrant
John Coggeshall
 
PPTX
BSides Iowa 2017 Wanna break JavaScript and APIs in web apps?
Andrew Freeborn
 
PDF
Swift at Scale
Kamilah Taylor
 
PDF
Run your Java code on Cloud Foundry
Andy Piper
 
PDF
Swift server-side-let swift2016
Eric Ahn
 
PDF
The state of server-side Swift
Ciprian Redinciuc
 
PDF
Banquet 08
Koubei UED
 
PDF
夜宴8期《Dive into Mozilla Labs》
Koubei Banquet
 
Quinoa: A modern Quarkus UI with no hassles | DevNation tech Talk
Red Hat Developers
 
Ansible meetup-0915
Pierre Mavro
 
Modern Web Application Development Workflow - web2day 2014
Stéphane Bégaudeau
 
Try! Swift Tokyo2017
Amy Cheong
 
Dependent things dependency management for apple sw - slideshare
Cavelle Benjamin
 
Modern Web Application Development Workflow - EclipseCon US 2014
Stéphane Bégaudeau
 
DevOps: Using Vagrant to Enhance Your Day to Day Development
Rob Reynolds
 
WordPress workflow of the future
Eli McMakin
 
Streamlining API with Swagger.io
Victor Augusteo
 
Virtualize and automate your development environment for fun and profit
Andreas Heim
 
Server side development using Swift and Vapor
Santex Group
 
The Big Cloud native FaaS Lebowski
QAware GmbH
 
Development with Vagrant
John Coggeshall
 
BSides Iowa 2017 Wanna break JavaScript and APIs in web apps?
Andrew Freeborn
 
Swift at Scale
Kamilah Taylor
 
Run your Java code on Cloud Foundry
Andy Piper
 
Swift server-side-let swift2016
Eric Ahn
 
The state of server-side Swift
Ciprian Redinciuc
 
Banquet 08
Koubei UED
 
夜宴8期《Dive into Mozilla Labs》
Koubei Banquet
 
Ad

Recently uploaded (20)

PDF
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
PDF
July Patch Tuesday
Ivanti
 
PDF
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
PPTX
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
PDF
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
PDF
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
PDF
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
PDF
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
PDF
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
PDF
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
PPTX
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
PDF
HubSpot Main Hub: A Unified Growth Platform
Jaswinder Singh
 
PDF
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
PPTX
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
PDF
Log-Based Anomaly Detection: Enhancing System Reliability with Machine Learning
Mohammed BEKKOUCHE
 
PDF
Windsurf Meetup Ottawa 2025-07-12 - Planning Mode at Reliza.pdf
Pavel Shukhman
 
PDF
Python basic programing language for automation
DanialHabibi2
 
PDF
The Builder’s Playbook - 2025 State of AI Report.pdf
jeroen339954
 
PDF
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
July Patch Tuesday
Ivanti
 
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
HubSpot Main Hub: A Unified Growth Platform
Jaswinder Singh
 
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
Log-Based Anomaly Detection: Enhancing System Reliability with Machine Learning
Mohammed BEKKOUCHE
 
Windsurf Meetup Ottawa 2025-07-12 - Planning Mode at Reliza.pdf
Pavel Shukhman
 
Python basic programing language for automation
DanialHabibi2
 
The Builder’s Playbook - 2025 State of AI Report.pdf
jeroen339954
 
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 

Creating Custom Slack Integrations with Vapor

  • 4. WHAT IS VAPOR? ▸ Vapor is a collection of open source, Swift 3 modules for building web apps 3
  • 5. WHAT IS VAPOR? ▸ Vapor is a collection of open source, Swift 3 modules for building web apps 3
  • 9. WHY VAPOR? ▸ Swift is AWESOME! 6
  • 10. WHY VAPOR? ▸ Swift is AWESOME! ▸ Nice option for iOS dev to create their own back-end 6
  • 11. WHY VAPOR? ▸ Swift is AWESOME! ▸ Nice option for iOS dev to create their own back-end ▸ It’s fast 6
  • 14. WHAT IS SLACK? ▸ Slack is a team communications tool 8
  • 15. WHAT IS SLACK? ▸ Slack is a team communications tool ▸ https://orlandodevs.slack.com/ 8
  • 16. WHAT DO I NEED TO DEVELOP WITH VAPOR? 9
  • 17. TEXT WHAT DO I NEED TO DEVELOP WITH VAPOR? 10
  • 18. TEXT WHAT DO I NEED TO DEVELOP WITH VAPOR? ▸ Swift 3 10
  • 19. TEXT WHAT DO I NEED TO DEVELOP WITH VAPOR? ▸ Swift 3 ▸ macOS - Xcode 8 10
  • 20. TEXT WHAT DO I NEED TO DEVELOP WITH VAPOR? ▸ Swift 3 ▸ macOS - Xcode 8 ▸ Ubuntu - curl -sL swift.vapor.sh/ubuntu | bash 10
  • 21. TEXT WHAT DO I NEED TO DEVELOP WITH VAPOR? ▸ Swift 3 ▸ macOS - Xcode 8 ▸ Ubuntu - curl -sL swift.vapor.sh/ubuntu | bash ▸ https://swift.org/getting-started/#installing-swift 10
  • 22. TEXT WHAT DO I NEED TO DEVELOP WITH VAPOR? ▸ Swift 3 ▸ macOS - Xcode 8 ▸ Ubuntu - curl -sL swift.vapor.sh/ubuntu | bash ▸ https://swift.org/getting-started/#installing-swift ▸ curl -sL check.vapor.sh | bash 10
  • 23. TEXT WHAT DO I NEED TO DEVELOP WITH VAPOR? ▸ Swift 3 ▸ macOS - Xcode 8 ▸ Ubuntu - curl -sL swift.vapor.sh/ubuntu | bash ▸ https://swift.org/getting-started/#installing-swift ▸ curl -sL check.vapor.sh | bash ▸ Vapor Toolbox 10
  • 24. TEXT WHAT DO I NEED TO DEVELOP WITH VAPOR? ▸ Swift 3 ▸ macOS - Xcode 8 ▸ Ubuntu - curl -sL swift.vapor.sh/ubuntu | bash ▸ https://swift.org/getting-started/#installing-swift ▸ curl -sL check.vapor.sh | bash ▸ Vapor Toolbox ▸ curl -sL toolbox.vapor.sh | bash 10
  • 25. TEXT WHAT DO I NEED TO DEVELOP WITH VAPOR? ▸ Swift 3 ▸ macOS - Xcode 8 ▸ Ubuntu - curl -sL swift.vapor.sh/ubuntu | bash ▸ https://swift.org/getting-started/#installing-swift ▸ curl -sL check.vapor.sh | bash ▸ Vapor Toolbox ▸ curl -sL toolbox.vapor.sh | bash ▸ https://vapor.github.io/documentation/getting-started/manual.html 10
  • 28. SLACK DEVELOPMENT BASICS ▸ Types of Custom Integrations 12
  • 29. SLACK DEVELOPMENT BASICS ▸ Types of Custom Integrations ▸ Incoming/Outgoing Webhooks 12
  • 30. SLACK DEVELOPMENT BASICS ▸ Types of Custom Integrations ▸ Incoming/Outgoing Webhooks 12
  • 31. SLACK DEVELOPMENT BASICS ▸ Types of Custom Integrations ▸ Incoming/Outgoing Webhooks ▸ Bot Users 12
  • 32. SLACK DEVELOPMENT BASICS ▸ Types of Custom Integrations ▸ Incoming/Outgoing Webhooks ▸ Bot Users ▸ Slash Commands 12
  • 33. SLACK DEVELOPMENT BASICS ▸ Types of Custom Integrations ▸ Incoming/Outgoing Webhooks ▸ Bot Users ▸ Slash Commands 12
  • 35. SLACK MESSAGES ▸ Basic message format:
 {
 “text” : “This is text”,
 “response_type” : “ephemeral”
 } 13
  • 36. SLACK MESSAGES ▸ Basic message format:
 {
 “text” : “This is text”,
 “response_type” : “ephemeral”
 } 13
  • 37. SLACK MESSAGES ▸ Basic message format:
 {
 “text” : “This is text”,
 “response_type” : “ephemeral”
 } ▸ Attachments:
 {
 “response_type” : “in_channel”,
 “attachments” : [
 {
 “title” : “This is the title”,
 “text” : “This is text”,
 “color” : “#000000”
 }]
 } 13
  • 38. SLACK MESSAGES ▸ Basic message format:
 {
 “text” : “This is text”,
 “response_type” : “ephemeral”
 } ▸ Attachments:
 {
 “response_type” : “in_channel”,
 “attachments” : [
 {
 “title” : “This is the title”,
 “text” : “This is text”,
 “color” : “#000000”
 }]
 } 13
  • 39. SLACK MESSAGES ▸ Basic message format:
 {
 “text” : “This is text”,
 “response_type” : “ephemeral”
 } ▸ Attachments:
 {
 “response_type” : “in_channel”,
 “attachments” : [
 {
 “title” : “This is the title”,
 “text” : “This is text”,
 “color” : “#000000”
 }]
 } ▸ https://api.slack.com/docs/messages 13
  • 42. LESSONS LEARNED ▸ You won’t be able to use all the frameworks you’re accustomed to using in iOS development 15
  • 43. LESSONS LEARNED ▸ You won’t be able to use all the frameworks you’re accustomed to using in iOS development ▸ Testing on both macOS and Linux is essential 15
  • 45. REFERENCES ▸ Slack API Documentation - https://api.slack.com/ ▸ Vapor Documentation - https://docs.vapor.codes ▸ Vapor Slack - http://vapor.team ▸ https://github.com/WERUreo/WeatherSlack/ ▸ https://github.com/WERUreo/werureo-slackbots/ 16
  • 46. REFERENCES ▸ Slack API Documentation - https://api.slack.com/ ▸ Vapor Documentation - https://docs.vapor.codes ▸ Vapor Slack - http://vapor.team ▸ https://github.com/WERUreo/WeatherSlack/ ▸ https://github.com/WERUreo/werureo-slackbots/ QUESTIONS? 16