---
schema_version: "1"
id: 4282592f77fa352938725081f81a2206d1edc0881cb74733436025631847bf43
title: Get Started with Chat
collection: developer
version: current
locale: en-us
portal_url: https://docs.salesforce.com/developer/current/en-us/service-cloud/service-sdk-ios/guides/ios-live-agent-quick-start.md
canonical_url: https://developer.salesforce.com/docs/service/service-sdk-ios/guide/ios-live-agent-quick-start.html
source_site: developer.salesforce.com
content_type: documentation
content_hash: 5dd7f80aca898dbdeb72600502333ef04d8cfeeb64e0461708341a534e56b320
products:
  - Embedded Service Chat SDK for iOS Developer Guide
  - Service Cloud Developer Content
---

# Get Started with Chat

Get rolling quickly with chat sessions between your customers and your agents.

## Before You Begin

**important:** The legacy chat product is scheduled for retirement on February 14, 2026, and is in maintenance mode until then. During this phase, you can continue to use chat, but we no longer recommend that you implement new chat channels. To avoid service interruptions to your customers, migrate to [Messaging for In-App and Web](https://help.salesforce.com/s/articleView?id=service.miaw_intro_landing.htm&type=5) before that date. Messaging offers many of the [chat features](https://help.salesforce.com/s/articleView?id=service.miaw_chat_vs_messaging.htm&type=5) that you love plus asynchronous conversations that can be picked back up at any time. Learn about chat retirement in [Help](https://help.salesforce.com/s/articleView?id=001790618&type=1).

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](https://developer.salesforce.com/docs/service/service-sdk-android/guides/shared/live-agent-cloud-setup.md) for more information.

This tutorial shows you how to get Chat into your iOS app.

1.  Create an Xcode project. For this example, let’s make a Single View Application. Name it `HelloChat`.

    ![Single view application](https://developer.salesforce.com/docs/media/service-sdk/quickstart-knowledge-ios-singleviewcontroller.png '{"class": "image-xl"}')

    ![Hello chat setup](https://developer.salesforce.com/docs/media/service-sdk/quickstart-lac-ios-hellolac.png '{"class": "image-xl"}')

2.  Install the SDK as described in [Install the Service Chat SDK for iOS](https://developer.salesforce.com/docs/service/service-sdk-ios/guide/ios-sdk-install-overview.md).

3.  Go to your storyboard and place a button somewhere on the view. Name it `Chat`.

    ![Place button](https://developer.salesforce.com/docs/media/service-sdk/quickstart-knowledge-ios-button.png '{"class": "image-lg"}')

4.  Add a `Touch Up Inside` action to your `UIViewController` implementation. Name it `launchChat`.

    ![Button action](https://developer.salesforce.com/docs/media/service-sdk/quickstart-lac-ios-action.png '{"class": "image-lg"}')

    ![showSOS action](https://developer.salesforce.com/docs/media/service-sdk/quickstart-lac-ios-showchat.png '{"class": "image-md"}')

5.  Import the SDK. Wherever you intend to use the Chat SDK, be sure to import the ServiceCore framework and the ServiceChat framework.

    In Swift:

    ```java
    import ServiceCore
    import ServiceChat
    ```

    In Objective-C:

    ```java
    @import ServiceCore;
    @import ServiceChat;
    ```

6.  Launch a chat session from within the `launchChat` method.

    From the button action implementation, launch chat using the [`showChat(with:showPrechat:)`](https://developer.salesforce.com/docs/service/service-sdk-ios/guide/%3Chttps://forcedotcom.github.io/ServiceSDK-iOS/releases/api/234.1/Classes/SCSChatInterface.html#/c:objc(cs)SCSChatInterface(im)showChatWithConfiguration:showPrechat:>) method on [`SCSChatInterface`](https://forcedotcom.github.io/ServiceSDK-iOS/releases/api/234.1/Classes/SCSChatInterface.html).

    In Swift:

    ```java
    @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:

    ```java
    - (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 **Chat** | **Deployments**. 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.

        ![Deployment ID](https://developer.salesforce.com/docs/media/service-sdk/chat_org_deployment_id.png '{"class": "image-xl"}')

        For instance, if the deployment code contains the following information:

        ```html
        <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:

        ```java
        573B00000005KXz
        ```

        Be 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.

        ![Button ID](https://developer.salesforce.com/docs/media/service-sdk/chat_org_button_id.png '{"class": "image-xl"}')

        For instance, if your chat button code contains the following information:

        ```html
        <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:

        ```java
        575C00000004h3m
        ```

        Be sure to omit the `liveagent_button_online_` text from the ID when using it in the SDK.

7.  Launch **Service Cloud Console**. From the **Omni-Channel** widget, ensure that an agent is online.

    ![Omni-channel online](https://developer.salesforce.com/docs/media/service-sdk/quickstart-lac-ios-omnichannel.png '{"class": "image-md"}')

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.

![Chat publisher](https://developer.salesforce.com/docs/media/service-sdk/lac-chat-publisher-ios.png '{"class": "image-sm"}')
