How to embed Zendesk mobile SDK in your app: Complete 2026 guide

Stevia Putri
Written by

Stevia Putri

Reviewed by

Stanley Nicholas

Last edited February 26, 2026

Expert Verified

Banner image for How to embed Zendesk mobile SDK in your app: Complete 2026 guide

When your users hit a problem in your mobile app, the last thing you want is for them to leave to find help. Embedding support directly into your app keeps users engaged while giving them the assistance they need. The Zendesk mobile SDK provides a straightforward way to add this capability.

Zendesk embeddables landing page overview
Zendesk embeddables landing page overview

This guide walks you through embedding Zendesk's mobile SDK into your iOS or Android app. Whether you need a simple help center, real-time chat, or full ticket management, we'll cover the steps to get you up and running.

What you'll need

Before diving in, make sure you have the following ready:

  • A Zendesk Support or Suite subscription (Suite Team or higher for mobile SDK access)
  • An existing iOS app (iOS 14+) or Android app (API 21+)
  • Admin access to your Zendesk account for configuration
  • Xcode or Android Studio installed
  • Basic familiarity with Swift/Objective-C or Kotlin/Java

Step 1: Choose the right Zendesk SDK for your needs

Zendesk offers three main SDK options, and picking the right one depends on what kind of support experience you want to provide.

Zendesk SDK for Messaging (Recommended)

This is Zendesk's modern, unified approach to in-app support. It provides a conversational messaging experience that works consistently across iOS, Android, and web. If you're starting fresh, this is the SDK to use.

Key features include:

  • Asynchronous messaging (users can leave and return to conversations)
  • AI agent support for automated responses
  • Unified conversation history across devices
  • Push notification support

Support SDK (Classic)

The Support SDK focuses on self-service and ticket creation. It's ideal if you have a robust help center and want users to find answers before contacting you.

Key features include:

  • Browse and search help center articles
  • Submit support tickets from within the app
  • View ticket history and add comments
  • Voice-to-text for ticket descriptions

Mobile app help center with categorized support articles
Mobile app help center with categorized support articles

Chat SDK v2

If you need real-time live chat with your support agents, the Chat SDK is what you're looking for. Note that this requires a separate Zendesk Chat subscription.

Key features include:

  • Real-time live chat with agents
  • Built on the Unified SDK foundation for reliability
  • Queue position and wait time indicators
  • File sharing within chat

Which one should you choose?

If you need...Choose...Why
Modern messaging with AI supportZendesk SDK for MessagingBest long-term investment, unified experience
Self-service focused supportSupport SDKGreat for knowledge base-heavy organizations
Real-time live chatChat SDK v2Direct agent interaction, but requires Chat subscription

Step 2: Register your app in Zendesk Admin Center

Once you've chosen your SDK, you need to register your app in Zendesk before writing any code.

  1. Log into your Zendesk account and navigate to Admin Center
  2. Click Channels in the sidebar, then select Classic > Mobile SDK
  3. Click Add app (or Get Started if this is your first time)
  4. Enter a name for your app (this is for internal reference only)
  5. Choose your authentication method:
    • Anonymous: Simplest option, users identified by device
    • JWT: Secure authentication for identified users with ticket history access
  6. Copy the channel key and code snippet for your platform

Zendesk Admin Center Mobile SDK configuration panel
Zendesk Admin Center Mobile SDK configuration panel

If you selected JWT authentication, you'll need to set up a JWT endpoint on your backend. Zendesk provides detailed documentation on building a dedicated JWT endpoint for secure authentication.

Step 3: Integrate the SDK into your iOS app

With your channel key in hand, it's time to add the SDK to your iOS project.

Installation

The recommended approach is Swift Package Manager:

  1. In Xcode, select File > Swift Packages > Add Package Dependency
  2. Add the repository https://github.com/zendesk/sdk_messaging_ios/
  3. Follow Xcode's instructions to add ZendeskMessagingSDK as a dependency

Alternatively, you can use CocoaPods by adding this to your Podfile:

pod 'ZendeskSDKMessaging'

Then run pod install.

Basic implementation

Import the SDK and initialize it in your AppDelegate or at app launch:

import ZendeskSDKMessaging
import ZendeskSDK

Zendesk.initialize(withChannelKey: "<your_channel_key>",
                   messagingFactory: DefaultMessagingFactory()) { result in
    if case let .failure(error) = result {
        print("Messaging did not initialize. Error: \(error.localizedDescription)")
    }
}

To show the messaging interface from a view controller:

if let viewController = Zendesk.instance?.messaging?.messagingViewController() {
    self.navigationController?.show(viewController, sender: self)
}

Xcode project navigator showing iOS app file structure
Xcode project navigator showing iOS app file structure

Required permissions

Add these keys to your Info.plist to enable camera, microphone, and photo library access:

  • NSCameraUsageDescription - for capturing images and videos
  • NSMicrophoneUsageDescription - for recording video with audio
  • NSPhotoLibraryUsageDescription - for accessing photos

Step 4: Integrate the SDK into your Android app

The Android integration follows a similar pattern with some platform-specific differences.

Installation

First, add the Zendesk Maven repository to your settings.gradle.kts:

repositories {
    maven {
        url = uri("https://zendesk.jfrog.io/artifactory/repo")
    }
}

Then add the dependency to your build.gradle.kts:

dependencies {
    implementation("zendesk.messaging:messaging-android:<latest_version>")
}

Check the Android release notes for the latest version.

Basic implementation

Initialize the SDK in your Application class:

Zendesk.initialize(
    context = this,
    channelKey = "<your_channel_key>",
    successCallback = { zendesk ->
        // SDK initialized successfully
    },
    failureCallback = { error ->
        // Handle initialization error
    },
    messagingFactory = DefaultMessagingFactory()
)

To show the messaging interface from an Activity:

Zendesk.instance.messaging.showMessaging(context)

The SDK automatically adds the necessary internet and network permissions to your manifest.

Step 5: Configure user authentication

Authentication determines how users are identified and what data they can access.

Anonymous authentication

This is the simplest approach. Users are identified by their device, and each installation creates a unique user record in Zendesk. There's no backend setup required, but users won't be able to see their ticket history if they switch devices or clear app data.

JWT authentication

For a more robust experience, JWT authentication lets you securely identify users and give them access to their full ticket history across devices.

To implement JWT:

  1. Set up a JWT endpoint on your backend that generates tokens with four required fields:

    • iat (issued at timestamp)
    • jti (unique token ID)
    • name (user's display name)
    • email (user's email address)
  2. Provide the JWT endpoint URL to Zendesk in the Mobile SDK settings

  3. In your app, obtain a JWT token from your backend before initializing the Zendesk SDK

A common mistake is missing one of the four required JWT fields. Double-check your payload if authentication fails.

For serverless implementations, you can use Firebase Cloud Functions or AWS Lambda to host your JWT endpoint. This avoids maintaining dedicated backend infrastructure.

Step 6: Customize the in-app experience

Once the basic integration works, you can tailor the experience to match your brand.

Branding options

In your Zendesk Admin Center, you can customize:

  • Colors to match your brand
  • Logo and launcher icon
  • Welcome messages and automated responses

Feature configuration

You can enable or disable specific features:

  • Help Center article browsing
  • Ticket creation
  • Conversation history
  • File attachments

Push notifications

To notify users of new responses when your app is closed, set up push notifications:

  • iOS: Upload your APNs certificate to Zendesk and implement the push notification delegate methods
  • Android: Configure Firebase Cloud Messaging and provide your server key to Zendesk

Mobile SDK branding and customization settings panel
Mobile SDK branding and customization settings panel

Common integration challenges and solutions

Even with clear documentation, you might run into a few hurdles. Here's how to handle the most common ones.

App size impact The Zendesk SDK adds approximately 7.5 MB to your app size. For iOS, app thinning and bitcode stripping reduce the actual impact. On Android, ProGuard or R8 minification helps shrink the final size.

ProGuard/R8 configuration If you're using ProGuard or R8 on Android, you may need to add keep rules for Zendesk classes. Check the SDK documentation for the latest recommended rules.

Push notification conflicts If your app already uses push notifications, make sure your notification handling code differentiates between Zendesk messages and your own notifications. Both iOS and Android SDKs provide methods to check if a notification originated from Zendesk.

Migration from Classic SDKs If you're upgrading from older SDK versions, Zendesk provides dedicated migration guides for both iOS and Android. The new SDK uses a different initialization pattern, so plan for some refactoring time.

Testing in development Create a separate Zendesk sandbox or use a staging environment for development. This prevents test tickets from polluting your production support queue.

Alternative: eesel AI for in-app support

While Zendesk's mobile SDK is a solid choice for traditional support workflows, it's worth considering modern alternatives. At eesel AI, we take a different approach to in-app support.

eesel AI chatbot interface with product recommendations
eesel AI chatbot interface with product recommendations

Instead of routing users to human agents or static help articles, our AI chatbot handles conversations autonomously. It learns from your existing documentation, past tickets, and knowledge base to provide instant, accurate responses. When a situation requires human intervention, the AI seamlessly hands off to your team with full context.

The setup is straightforward: connect your knowledge sources, embed the chat widget, and the AI starts learning immediately. There's no complex SDK integration or authentication endpoint to build. We handle the heavy lifting while you focus on your product.

If you're looking for an AI-first approach to mobile support, explore our integrations to see how we connect with your existing tools.

Start building better in-app support today

Embedding customer support directly in your mobile app creates a better experience for users and reduces friction when they need help. With Zendesk's mobile SDK, you can provide help center access, ticket creation, or real-time chat without users ever leaving your app.

The steps are clear: choose your SDK, register your app in Zendesk Admin Center, integrate the SDK for your platform, configure authentication, and customize the experience. Each step builds on the previous one, and within a few hours you can have a working support experience.

For detailed technical documentation, refer to the Zendesk developer docs. The iOS getting started guide and Android documentation cover platform-specific implementation details. If you run into issues, their support team and community forums are solid resources.

And if you're curious about an AI-powered alternative that can resolve up to 81% of inquiries without human intervention, check out eesel AI's AI chatbot. We offer a Zendesk integration that works alongside your existing support infrastructure, giving you modern AI capabilities without replacing what you've already built.

Frequently Asked Questions

Yes, mobile SDK access requires at least the Suite Team plan, which starts at $55 per agent per month when billed annually. The basic Support Team plan does not include mobile SDK functionality.
Yes, Zendesk provides native SDKs for both platforms. The iOS SDK supports iOS 14 and later, while the Android SDK requires API level 21 (Android 5.0) or higher.
You have two options. Anonymous authentication identifies users by device and requires no backend setup. JWT authentication provides secure user identification and access to ticket history, but requires building a JWT endpoint on your backend.
The SDK adds approximately 7.5 MB to your app. On iOS, app thinning reduces the actual download size. On Android, ProGuard or R8 minification helps minimize the impact.
Yes, you can customize colors, logos, launcher icons, and welcome messages through the Zendesk Admin Center. You can also enable or disable specific features like Help Center browsing or ticket creation.
Yes, the Chat SDK v2 requires a Zendesk Chat subscription in addition to your Support or Suite plan. The other SDKs (Messaging and Support) are included with Suite Team and higher.

Share this post

Stevia undefined

Article by

Stevia Putri

Stevia Putri is a marketing generalist at eesel AI, where she helps turn powerful AI tools into stories that resonate. She’s driven by curiosity, clarity, and the human side of technology.