Mobile adoption continues to increase rapidly with many companies reporting usage double and tripling on an annual basis. However, businesses are struggling to provide high-touch support experiences so they can serve their customers through this new medium. Service Cloud SOS has been helping customers re-define the way they interact with their customers through their mobile application by providing a high-touch support experience using the latest web technologies such as WebRTC. In this session we will demonstrate the versatility of the SOS SDK by using it to create a concierge-like experience in an e-commerce application and make it feel as if service is a first class citizen.
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
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