SlideShare a Scribd company logo
1 of 21
Download to read offline
Service Cloud: SOS
Building a Concierge-like Experience into any Mobile App
Ian Livingstone (@ianlivingstone)
Safe Harbor
Safe harbor statement under the Private Securities Litigation Reform Act of 1995:
This presentation may contain forward-looking statements that involve risks, uncertainties, and assumptions. If any such uncertainties materialize or if any
of the assumptions proves incorrect, the results of salesforce.com, inc. could differ materially from the results expressed or implied by the forward-looking
statements we make. All statements other than statements of historical fact could be deemed forward-looking, including any projections of product or
service availability, subscriber growth, earnings, revenues, or other financial items and any statements regarding strategies or plans of management for
future operations, statements of belief, any statements concerning new, planned, or upgraded services or technology developments and customer
contracts or use of our services.
The risks and uncertainties referred to above include – but are not limited to – risks associated with developing and delivering new functionality for our
service, new products and services, our new business model, our past operating losses, possible fluctuations in our operating results and rate of growth,
interruptions or delays in our Web hosting, breach of our security measures, the outcome of any litigation, risks associated with completed and any
possible mergers and acquisitions, the immature market in which we operate, our relatively limited operating history, our ability to expand, retain, and
motivate our employees and manage our growth, new releases of our service and successful customer deployment, our limited history reselling non-
salesforce.com products, and utilization and selling to larger enterprise customers. Further information on potential factors that could affect the financial
results of salesforce.com, inc. is included in our annual report on Form 10-K for the most recent fiscal year and in our quarterly report on Form 10-Q for
the most recent fiscal quarter. These documents and others containing important disclosures are available on the SEC Filings section of the Investor
Information section of our Web site.
Any unreleased services or features referenced in this or other presentations, press releases or public statements are not currently available and may not
be delivered on time or at all. Customers who purchase our services should make the purchase decisions based upon features that are currently
available. Salesforce.com, inc. assumes no obligation and does not intend to update these forward-looking statements.
High-Touch Service in Your Mobile App
Embedded SOS button Video Chat Screensharing and Agent Annotations
Power of an SDK
Create New Experiences using the SOS SDK that
revolutionize the way you build relationships with your
customer.
Customize the look and feel to make the experience feel
native to the application.
Capture and provide any context to the agent to make
building and maintaining the customer relationship easier
than ever before.
Available for iOS and Android
Creating a Concierge Experience
Configuring Service Cloud
Agent can access a
Presence Status that
includes SOS Session
objects
A queue has been
created for SOS Session’
s objects with the routing
configured
Agent has been
assigned an SOS
license and can pull
work from the queue.
Omni and SOS
Widget’s added
to console
Create an SOS Deployment
Configure Session
Recording Details
Enable Two-Way
Camera
Choose Storage
Option
Enable Session
Recording
SOS
Deployment
Queue
Session created
for a deployment
Deployment
pushes session
into a Queue
Omni-Channel pulls
from the Queue and
pushes to the next
available Agent
Org - Demo
Integrating SOS
Including the SOS Framework
1. Initialize a Podfile in your applications repository
using pod init in your project’s root
2. Add our CocoaPod repository as a source to
your Podfile
source ‘https://github.com/CocoaPods/Specs.git’
source ‘https://github.com/goinstant/pods-specs-public’
3. Install the pods into your project using pod
install inside your project’s root
4. Open the workspace to ensure new project
settings and dependencies are included
Update Project Settings
1. Enabled background mode inside the
capabilities section of your application build
settings
2. Enable Audio and AirPlay mode allowing
SOS to continue a call when the application is
backgrounded or the phone is put to sleep
Add SOSContainerView to the StoryBoard
1. Add a View Controller at the beginning of
your storyboard as the initial view controller
2. Set the custom class to SOS Container
View Controller
3. Create a custom segue between the new
view controller and the former initial view
controller
4. Set the identifier as SOS identifier and
customer class to SOSSegue
Add Button to the Navigation Bar
1. Add UIBarButtonItem to the Navigation Bar
of the Shoes Collection View Controller
2. Set the Image of the UIBarButtonItem to our
desired icon
3. Add IBAction and IBOutlet to our Browse
Shoes Collection View Controller for the button
and it’s action
4. Assign references from our storyboard to the
newly added IBAction and IBOutlet
Wiring it up
1. Include SOS into the Collection View
Controller header file
2. Create an SOS Options object with our
organization, deployment and LiveAgent pod
details.
3. Start the SOS Session using the
SOSSessionManager singleton
startSessionWithOptions method
4. Handle the error through the completion block
to catch any errors when we attempt to the
start the session
Customizing the Experience
Hiding the SOS Button
1. Implement SOSDelegate protocol for the
CollectionViewController class
2. Implement stateDidChange method to
conform to the SOSDelegate protocol
3. Hide the button when the state is not
SOSSessionStateInactive by updating the
rightBarButtonItem property of the
navigationItem for our view controller.
Customizing the Messaging and Annotations
1. Acquire references to SOSUIComponents
and SOSScreenAnnotations via the
uiComponents and annotations getters on
the SOSSessionManager singleton
2. Use setters on uiComponents to set your
custom messages such as setAlertText,
setConnectMessage, and
setDisconnectMessage
3. Customize line width and color via the
setLineWidth and setLineColor methods
on the SOSScreenAnnotations instance
Session Manager Container View Controller
UI Components
Screen
Annotations
Agent
View
Session
Controls
SOS
Camera
Customize through
setters and
delegates
Customize through
setters or replace
entirely
The Road Ahead
Epic Functionality Embeddable Service
SDKs for SOS, Knowledge Base, Case Mgmt
and Live Chat
Smart Configure & Customize the customer
experience. Maintain brand consistency
Simple Easily drop Service SDK into your app
with only a few lines of code
Introducing the Service SDK
​Embedded Mobile Service Is Here
Thank you
Resources
● https://developers.salesforce.com - SOS Documentation
● https://www.salesforcesos.com - SOS Developer Hub
● CocoaPods

More Related Content

Viewers also liked (6)

eoDOCUMENT Managementul Documentelor integrat cu OpenERP
eoDOCUMENT Managementul Documentelor integrat cu OpenERPeoDOCUMENT Managementul Documentelor integrat cu OpenERP
eoDOCUMENT Managementul Documentelor integrat cu OpenERP
 
OpenERP - Invoice Processing, Elastoffice
OpenERP - Invoice Processing, Elastoffice OpenERP - Invoice Processing, Elastoffice
OpenERP - Invoice Processing, Elastoffice
 
Gps tracking solutions by UniGuard Technology Limited
Gps tracking solutions by UniGuard Technology LimitedGps tracking solutions by UniGuard Technology Limited
Gps tracking solutions by UniGuard Technology Limited
 
Topics in Theme Park Management
Topics in Theme Park ManagementTopics in Theme Park Management
Topics in Theme Park Management
 
Five Things You Should Experience This Week: 1.5.2015
Five Things You Should Experience This Week: 1.5.2015Five Things You Should Experience This Week: 1.5.2015
Five Things You Should Experience This Week: 1.5.2015
 
Fjord Trends 2017
Fjord Trends 2017 Fjord Trends 2017
Fjord Trends 2017
 

More from Salesforce Developers

More from Salesforce Developers (20)

Sample Gallery: Reference Code and Best Practices for Salesforce Developers
Sample Gallery: Reference Code and Best Practices for Salesforce DevelopersSample Gallery: Reference Code and Best Practices for Salesforce Developers
Sample Gallery: Reference Code and Best Practices for Salesforce Developers
 
Maximizing Salesforce Lightning Experience and Lightning Component Performance
Maximizing Salesforce Lightning Experience and Lightning Component PerformanceMaximizing Salesforce Lightning Experience and Lightning Component Performance
Maximizing Salesforce Lightning Experience and Lightning Component Performance
 
Local development with Open Source Base Components
Local development with Open Source Base ComponentsLocal development with Open Source Base Components
Local development with Open Source Base Components
 
TrailheaDX India : Developer Highlights
TrailheaDX India : Developer HighlightsTrailheaDX India : Developer Highlights
TrailheaDX India : Developer Highlights
 
Why developers shouldn’t miss TrailheaDX India
Why developers shouldn’t miss TrailheaDX IndiaWhy developers shouldn’t miss TrailheaDX India
Why developers shouldn’t miss TrailheaDX India
 
CodeLive: Build Lightning Web Components faster with Local Development
CodeLive: Build Lightning Web Components faster with Local DevelopmentCodeLive: Build Lightning Web Components faster with Local Development
CodeLive: Build Lightning Web Components faster with Local Development
 
CodeLive: Converting Aura Components to Lightning Web Components
CodeLive: Converting Aura Components to Lightning Web ComponentsCodeLive: Converting Aura Components to Lightning Web Components
CodeLive: Converting Aura Components to Lightning Web Components
 
Enterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web ComponentsEnterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web Components
 
TrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer HighlightsTrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer Highlights
 
Live coding with LWC
Live coding with LWCLive coding with LWC
Live coding with LWC
 
Lightning web components - Episode 4 : Security and Testing
Lightning web components  - Episode 4 : Security and TestingLightning web components  - Episode 4 : Security and Testing
Lightning web components - Episode 4 : Security and Testing
 
LWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura InteroperabilityLWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura Interoperability
 
Lightning web components episode 2- work with salesforce data
Lightning web components   episode 2- work with salesforce dataLightning web components   episode 2- work with salesforce data
Lightning web components episode 2- work with salesforce data
 
Lightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An IntroductionLightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An Introduction
 
Migrating CPQ to Advanced Calculator and JSQCP
Migrating CPQ to Advanced Calculator and JSQCPMigrating CPQ to Advanced Calculator and JSQCP
Migrating CPQ to Advanced Calculator and JSQCP
 
Scale with Large Data Volumes and Big Objects in Salesforce
Scale with Large Data Volumes and Big Objects in SalesforceScale with Large Data Volumes and Big Objects in Salesforce
Scale with Large Data Volumes and Big Objects in Salesforce
 
Replicate Salesforce Data in Real Time with Change Data Capture
Replicate Salesforce Data in Real Time with Change Data CaptureReplicate Salesforce Data in Real Time with Change Data Capture
Replicate Salesforce Data in Real Time with Change Data Capture
 
Modern Development with Salesforce DX
Modern Development with Salesforce DXModern Development with Salesforce DX
Modern Development with Salesforce DX
 
Get Into Lightning Flow Development
Get Into Lightning Flow DevelopmentGet Into Lightning Flow Development
Get Into Lightning Flow Development
 
Integrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS ConnectIntegrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS Connect
 

Recently uploaded

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Recently uploaded (20)

AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 

Building a Concierge-like Experience into any Mobile Application

  • 1. Service Cloud: SOS Building a Concierge-like Experience into any Mobile App Ian Livingstone (@ianlivingstone)
  • 2. Safe Harbor Safe harbor statement under the Private Securities Litigation Reform Act of 1995: This presentation may contain forward-looking statements that involve risks, uncertainties, and assumptions. If any such uncertainties materialize or if any of the assumptions proves incorrect, the results of salesforce.com, inc. could differ materially from the results expressed or implied by the forward-looking statements we make. All statements other than statements of historical fact could be deemed forward-looking, including any projections of product or service availability, subscriber growth, earnings, revenues, or other financial items and any statements regarding strategies or plans of management for future operations, statements of belief, any statements concerning new, planned, or upgraded services or technology developments and customer contracts or use of our services. The risks and uncertainties referred to above include – but are not limited to – risks associated with developing and delivering new functionality for our service, new products and services, our new business model, our past operating losses, possible fluctuations in our operating results and rate of growth, interruptions or delays in our Web hosting, breach of our security measures, the outcome of any litigation, risks associated with completed and any possible mergers and acquisitions, the immature market in which we operate, our relatively limited operating history, our ability to expand, retain, and motivate our employees and manage our growth, new releases of our service and successful customer deployment, our limited history reselling non- salesforce.com products, and utilization and selling to larger enterprise customers. Further information on potential factors that could affect the financial results of salesforce.com, inc. is included in our annual report on Form 10-K for the most recent fiscal year and in our quarterly report on Form 10-Q for the most recent fiscal quarter. These documents and others containing important disclosures are available on the SEC Filings section of the Investor Information section of our Web site. Any unreleased services or features referenced in this or other presentations, press releases or public statements are not currently available and may not be delivered on time or at all. Customers who purchase our services should make the purchase decisions based upon features that are currently available. Salesforce.com, inc. assumes no obligation and does not intend to update these forward-looking statements.
  • 3. High-Touch Service in Your Mobile App Embedded SOS button Video Chat Screensharing and Agent Annotations
  • 4. Power of an SDK Create New Experiences using the SOS SDK that revolutionize the way you build relationships with your customer. Customize the look and feel to make the experience feel native to the application. Capture and provide any context to the agent to make building and maintaining the customer relationship easier than ever before. Available for iOS and Android
  • 5. Creating a Concierge Experience
  • 6. Configuring Service Cloud Agent can access a Presence Status that includes SOS Session objects A queue has been created for SOS Session’ s objects with the routing configured Agent has been assigned an SOS license and can pull work from the queue. Omni and SOS Widget’s added to console
  • 7. Create an SOS Deployment Configure Session Recording Details Enable Two-Way Camera Choose Storage Option Enable Session Recording SOS Deployment Queue Session created for a deployment Deployment pushes session into a Queue Omni-Channel pulls from the Queue and pushes to the next available Agent
  • 10. Including the SOS Framework 1. Initialize a Podfile in your applications repository using pod init in your project’s root 2. Add our CocoaPod repository as a source to your Podfile source ‘https://github.com/CocoaPods/Specs.git’ source ‘https://github.com/goinstant/pods-specs-public’ 3. Install the pods into your project using pod install inside your project’s root 4. Open the workspace to ensure new project settings and dependencies are included
  • 11. Update Project Settings 1. Enabled background mode inside the capabilities section of your application build settings 2. Enable Audio and AirPlay mode allowing SOS to continue a call when the application is backgrounded or the phone is put to sleep
  • 12. Add SOSContainerView to the StoryBoard 1. Add a View Controller at the beginning of your storyboard as the initial view controller 2. Set the custom class to SOS Container View Controller 3. Create a custom segue between the new view controller and the former initial view controller 4. Set the identifier as SOS identifier and customer class to SOSSegue
  • 13. Add Button to the Navigation Bar 1. Add UIBarButtonItem to the Navigation Bar of the Shoes Collection View Controller 2. Set the Image of the UIBarButtonItem to our desired icon 3. Add IBAction and IBOutlet to our Browse Shoes Collection View Controller for the button and it’s action 4. Assign references from our storyboard to the newly added IBAction and IBOutlet
  • 14. Wiring it up 1. Include SOS into the Collection View Controller header file 2. Create an SOS Options object with our organization, deployment and LiveAgent pod details. 3. Start the SOS Session using the SOSSessionManager singleton startSessionWithOptions method 4. Handle the error through the completion block to catch any errors when we attempt to the start the session
  • 16. Hiding the SOS Button 1. Implement SOSDelegate protocol for the CollectionViewController class 2. Implement stateDidChange method to conform to the SOSDelegate protocol 3. Hide the button when the state is not SOSSessionStateInactive by updating the rightBarButtonItem property of the navigationItem for our view controller.
  • 17. Customizing the Messaging and Annotations 1. Acquire references to SOSUIComponents and SOSScreenAnnotations via the uiComponents and annotations getters on the SOSSessionManager singleton 2. Use setters on uiComponents to set your custom messages such as setAlertText, setConnectMessage, and setDisconnectMessage 3. Customize line width and color via the setLineWidth and setLineColor methods on the SOSScreenAnnotations instance Session Manager Container View Controller UI Components Screen Annotations Agent View Session Controls SOS Camera Customize through setters and delegates Customize through setters or replace entirely
  • 19. Epic Functionality Embeddable Service SDKs for SOS, Knowledge Base, Case Mgmt and Live Chat Smart Configure & Customize the customer experience. Maintain brand consistency Simple Easily drop Service SDK into your app with only a few lines of code Introducing the Service SDK ​Embedded Mobile Service Is Here
  • 21. Resources ● https://developers.salesforce.com - SOS Documentation ● https://www.salesforcesos.com - SOS Developer Hub ● CocoaPods