Before doing this tutorial, be sure that you’ve set up Service Cloud for Chat. See Org Setup for Chat in Lightning Experience with a Guided Flow for more information.
This tutorial shows you how to get Chat into your iOS app.
-
Create an Xcode project. For this example, let’s make a Single View
Application. Name it HelloChat.
- Install the SDK as described in Install the for iOS for iOS.
-
Go to your storyboard and place a button somewhere on the view. Name it Chat.
-
Add a Touch Up Inside action to your UIViewController implementation. Name it launchChat.
- Import the SDK. Wherever you intend to use the Chat SDK, be sure to import the ServiceCore framework and the ServiceChat framework.
-
Launch a chat session from within the launchChat method.
From the button action implementation, launch chat using the showChat(with:showPrechat:) method on SCSChatInterface.
In Swift:
@IBAction func launchChat(sender: AnyObject) { // Create configuration object if let config = SCSChatConfiguration(liveAgentPod: "YOUR_POD_NAME", orgId: "YOUR_ORG_ID", deploymentId: "YOUR_DEPLOYMENT_ID", buttonId: "YOUR_BUTTON_ID") { // Start the session ServiceCloud.shared().chatUI.showChat(with: config) } }
In Objective-C:
- (IBAction)launchChat:(id)sender { SCSChatConfiguration *config = [[SCSChatConfiguration alloc] initWithLiveAgentPod:@"YOUR_POD_NAME" orgId:@"YOUR_ORG_ID" deploymentId:@"YOUR_DEPLOYMENT_ID" buttonId:@"YOUR_BUTTON_ID"]; // Start the session [[SCServiceCloud sharedInstance].chatUI showChatWithConfiguration:config]; }Fill in the placeholder text for the Chat API endpoint, the org ID, the deployment ID, and the button ID.
- Deployment ID
- The unique ID of your Chat deployment. To get this value, from
Setup, select . The script at the bottom of the page contains a
call to the liveagent.init
function with the pod, the
deploymentId, and
orgId as arguments. Copy the
deploymentId value.

For instance, if the deployment code contains the following information:
<script type='text/javascript' src='https://d.gla3.gus.salesforce.com/content/g/js/44.0/deployment.js'></script> <script type='text/javascript'> liveagent.init('https://d.gla5.gus.salesforce.com/chat', '573B00000005KXz', '00DB00000003Rxz'); </script>
-
The deployment ID value is:
573B00000005KXzBe sure not to use the org ID value (which is also in this deployment code) for the deployment ID.
- Button ID
- The unique button ID for your chat configuration. To get this
value, from Setup, search for Chat
Buttons and select Chat Buttons &
Invitations. Copy the id for the button from the JavaScript
snippet.

For instance, if your chat button code contains the following information:
<a id="liveagent_button_online_575C00000004h3m" href="javascript://Chat" style="display: none;" onclick="liveagent.startChat('575C00000004h3m')"> <!-- Online Chat Content --> </a> <div id="liveagent_button_offline_575C00000004h3m" style="display: none;"> <!-- Offline Chat Content --> </div> <script type="text/javascript"> if (!window._laq) { window._laq = []; } window._laq.push(function() { liveagent.showWhenOnline('575C00000004h3m', document.getElementById('liveagent_button_online_575C00000004h3m')); liveagent.showWhenOffline('575C00000004h3m', document.getElementById('liveagent_button_offline_575C00000004h3m')); }); </script>
-
The button ID value is:
575C00000004h3mBe sure to omit the liveagent_button_online_ text from the ID when using it in the SDK.
-
Launch Service Cloud Console. From the
Omni-Channel widget, ensure that an agent is
online.
Now you can build and run the app. When you tap the Chat button, the app requests a chat session, which an agent can accept from the Service Cloud Console. From the console, an agent can real-time chat with a customer.