The Support SDKs for iOS and Android lets you embed Zendesk Support options natively in your mobile app so your customers can get help directly in the app. The Support SDK lets users do any of the following:
- Browse and search your Help Center knowledge base in the app without using the mobile web browser
- Create tickets in the app
- View and comment on existing tickets in the app without switching to email
What does the Support SDK do?
If the Support SDK is integrated in an Android or iOS app running on a mobile device, a user can tap a button in the app to open a screen listing your Help Center articles:
The user can tap any article in the list to read it.
The user can also search your knowledge base, then tap any article in the results:
Tapping an article opens it:
The user can tap the pencil icon on the lower-right to submit a ticket to your agents working in Zendesk Support:
If the user prefers not to use the keyboard, they can tap the microphone icon and describe their problem out loud. The description will be transcribed and added to the ticket.
The Support SDK lets you configure the options you want for the app:
- You can provide users with only Help Center, only ticketing, or both.
- You can provide a filtered view of your knowledge base content. For example, you could show only the categories or sections that are relevant to mobile users.
- You can brand the UI or build your own customized UI from the ground up in iOS or Android.
Adding the Support SDK to a mobile app
The first step is to meet with product managers and developers to decide how to integrate the Support SDK in your iOS or Android app. Use the Zendesk SDK integration checklist for guidance.
Once your organization has decided how to integrate the SDK, complete the following steps to add the SDK to your app:
- Register the SDK in Support admin interface. See Registering the mobile app in Zendesk Support.
- Configure the SDK in Support admin interface. See Configuring the SDK in Zendesk Support.
- Ask your developer team to integrate the SDK in the app. You can refer them to the developer documentation for iOS or Android.
Registering the mobile app in Zendesk Support
You must be a Zendesk Support administrator to complete these steps.
To register the mobile app
- Click the Admin icon (
) in the sidebar, then select Channels > Mobile SDK.
- Click Add app.
If this is your first time setting up the SDK, click Get Started, then click Add app.
The Setup tab opens by default.
- Enter a Name for your app.
The name is for your reference only and is not shown to your customers.
- Copy and save the code snippet for Android or iOS or both, depending on the application versions.
Your app developers need the snippet to initalize the SDK in the mobile app. If your developers are working on an iOS app, ask them if they need the Objective-C or Swift version of the snippet.
- For Authentication method, select Anonymous or JWT. This is required.
- Select Anonymous if you don't know, or don't need to know, the details of the end user.
- Select JWT if you want only trusted users to access your organization's Help Center or to submit tickets. This option requires additional setup.
For more information, see User identification decision in the SDK integration checklist.
- If you selected JWT as the authentication method, enter a placeholder URL for JWT URL. Example:
https://yoursubdomain.com/api/zendesk-jwt
You can only enter a value for JWT URL after a team in your organization builds a dedicated JWT endpoint for the Zendesk SDK. They can't build it until you provide them with the secret in the next step.
You can't use an existing JWT endpoint with the SDK. The endpoint must meet the requirements outlined in Building a dedicated JWT endpoint for the Zendesk SDK.
- If you selected JWT, copy and save the JWT secret. The secret is only shown once, so make sure you save it somewhere safe.
- Click Save.
- Send the code snippet or snippets to the application developers in charge of integrating the SDK.
- If applicable, send the JWT secret to the team in charge of building the dedicated JWT endpoint. Refer the team to Building a dedicated JWT endpoint for the Zendesk SDK. Include instructions for the team to send you the endpoint URL when they're done.
When you receive the final URL from them, return to the Setup tab and update the JWT URL field.
To deregister the mobile app from Zendesk Support
- Click the Admin icon (
) in the sidebar, then select Channels > Mobile SDK.
- Click the options menu on the right side of the app you want to edit, then click Delete.
- Click OK to confirm the deletion.
This removes the app from the Mobile SDK page but it doesn't remove the SDK from your app. To remove the SDK from your app, an app update is required.
Configuring the SDK in Zendesk Support
You can configure the Support SDK in the admin interface to provide only the customer service options you want in the mobile app. For example, you can enable or disable Help Center in the mobile app from the admin interface.
There's no option to disable ticketing in the admin but your developers can disable it in the SDK. Refer them to "Disable Ticket Creation" in the iOS or Android developer docs.
A chat option is provided by separate Chat SDKs for iOS and Android.
Your configuration changes in Zendesk Support are automatically reflected in the mobile app. However, you can't turn the SDK off completely from Support. To fully remove the SDK from the app, an app update is required. Consult your developers.
You must be a Zendesk Support administrator to configure the Support SDK.
To configure the Support SDK
- If you're not already on the Mobile SDK page in the admin interface, click the Admin icon (
) in the sidebar, then select Channels > Mobile SDK.
- Select the registered mobile app you want to configure from the list.
- Click the Support SDK tab to display the configuration options.
- Make your changes to the settings.
See the descriptions on the page for details on each setting.
The Enable Guide setting is disabled if you haven't activated Guide. Click Settings to open a page where you can activate Guide.
The Conversations setting refers to ticket conversations – the back and forth comments added by the ticket requester and the agent. When this option is Off, users can still create tickets in the app but they won't have access to their existing tickets.
Note: The choice to turn on Conversations is not available on the Essential plan.The Tags setting adds the specified tags to each ticket, which is useful for creating a view to see all the tickets submitted from the mobile app.
- Click Save.
Enabling Guide lets you monitor knowledge base usage initiated from the SDK. For information on filtering Help Center analytics for SDK see Analyzing knowledge base activity and Analyzing Help Center search results.
The Mobile SDK page also has a Rate My App tab. As of the end of August, 2017, the Rate My App feature is deprecated. Consider migrating to an open source alternative.
32 Comments
@jessie - can you share any apps that are using the mobile/web SDKs today? I'd love to see these in action.
Hi Makenzie,
You can check out the SDK functionality via our sample app - Remember The Date, which is available for download in both the Apple App Store and the Android Play Store.
You can also find links to examples from Getaround, Gree and Switkey under the "See our SDK at work" section on this page:
https://www.zendesk.com/embeddables/
I really would like to see both sides of a working example of a JWT authentication process, I have a ASP script working for the web widget working I got it from here https://support.zendesk.com/hc/en-us/articles/203663856-Configure-Zendesk-for-your-Active-Directory-Microsoft-environment
however I cannot figure out who to implement the same script in our mobile app as there doesn't seem to be a way to web redirect back into the app, is there something I could look at to get me on the right path?
Hi Stephen,
We have some docs on the developer site to help. Both include some information on the server-side requirements
Android
iOS
Here is a diagram showing the flow. Note that we expect a 200 response. We're using JWT, but this isn't JWT SSO.
Thanks,
Barry.
Thanks been reading that over but was really hoping they had some workable examples of what that looks serverside wise starting to think I'm just in over my head here.
Hi Stephen,
You should be able to reuse most of the script.
Rather than redirecting, the mobile app expects a 200 response with the jwt as a part of the body rather than a URL parameter.
We need iat, jti, name and email in the JWT.
Awesome Thanks I managed to get the 200 response coming back when I test the .asp in a web browser, now I just need to figure out how to pass the authentication to IIS in the form of the user_token there's no way to have it auth the POST in a different way is there?
Hi Stephen,
The user_token will be POSTed to the endpoint you define by us. If you look at 2) in the diagram above you'll see how that part of the flow works.
1) You'll set a JWT identity in the iOS / Android code
2) The SDK will send the JWT identity to the Zendesk Server
3) The Zendesk server will POST it to you as a user_token to your endpoint
4) You locate the user
5) The JWT is passed back to Zendesk
6) Zendesk generates an access token and send back to the SDK.
I hope this helps!
Barry.
Understand that part it's getting the endpoint to accept the user_token like the web portal jwt I'm just using iis basic authentication with asp but how to get the iis to understand the user_token I am sending it as basic authentication credentials.
Hi Stephen,
We require that the JWT endpoint is not behind basic auth because our servers need to be able to communicate with it. You would need to tell IIS to not require basic auth on the your JWT endpoint.
Thanks,
Barry.
Are there any plans to allow the mobile SDK to provide contextual support (ie. depending on the page you're on in-app, you'll be served up some suggested KB articles, along with the option to search).
That's a great question, Amie! The SDK has the capability to search for content or to provide suggested articles using the SDK Providers (iOS or Android) feature. As an example, to pull suggested articles in an iOS app, you could use this code snippet to include these articles.
I hope this helps, Amie!
Where does one pass the brand name in the sdk. We have it working, but tickets are coming in as the default zendesk brand and not the brand we are using it for. Where am i missing this.
Hi @eball! You set the brand when you initialise the Support SDK. Docs for this are below:
Hi there,
It would be great if you would offer the option to filter departments in the chat SDK to display only specific departments. We are using a White Label service and have new departments set up specifically for it and have no way of making this work with multiple departments at this time which is a shame as we can do this on the API for our website. It's just our apps that we are struggling with. What we have had to do instead is remove the departments and have all chats coming in to a General chat line for all types of queries and hiding all departments which have another brand on.
Best
Alex
Hi Alexandra! Thanks for the feedback.
Improving the experience of using departments is something I want to look at for the Chat SDK, and is something we're planning to tackle later this year. I'll keep your feedback and use case to hand for when we kick off the work on that.
One option you could look at would be to build your own UI, thereby allowing you to specify the departments that appear in your pre-chat form. This is more work than using the out of the box UI, of course, but gives you much greater control. We built the demo of using a custom UI in a couple of days, so it's achievable if you have developer time to focus on it. The demo for iOS is here.
I'm sorry the Chat SDK doesn't meet your needs right now, but thank you for taking the time to give me your feedback. It means a great deal, and this kind of info is useful when it comes to making feature decisions for this SDK later down the line.
Hi,
Is there a way to automatically add OS version, App version, Device info to a ticket created with Support SDK for Android and iOS?
Hello Pavel,
For basic troubleshooting information we have an app in the marketplace which you can install and displays this information, if your Support plan allows you to install apps:
https://www.zendesk.com/apps/support/support-sdk-metadata/
If you want information which is not logged in the app, you can pass information into custom ticket fields, this will not be automatic you will need to do it on your end:
Android / iOS
Can this support react native as well?
DLTR Customer service,
At this time, Zendesk is does not have a React Native SDK. From current roadmaps, it does not look like there are plans to build one at this time.
I found the following Github that might be helpful, https://github.com/synapsestudios/react-native-zendesk-support.
Hi.
We connected Google Analytics to our helpcenter. Will the support SDK send data to GA?
Hi Yulia,
In order for the data to be tracked in Google Analytics you will need to have GA enabled in your app's framework. Google Analytics in the help center won't translate to the SDK.
Hi
As the SDK UI doesn't allow to insert custom forms, is possible to make the pencil icon redirect the user to a browser version of our 'send a request' page?
Hi Raphael
Unfortunately, that is not something we support at this time in the Support SDK. If you waned to implement that you would need to do so by constructing a custom UI using our Providers SDK.
I have initialized the Support SDK in my app. And I'm sure that my server has a 200 response code to Zendesk server.But I got the issue which is "Network returned 'No Access'. Ticket is not longer valid. Error: '401' " when I try to add a ticket by RequestActivity.I can't fix it and need your help.Thanks a lot.
Do you have JWT Authentication for Android & IOS Chat SDK? Thanks
Is there any way to change the Pencil Icon?
I know there is a way to change the Conversation Icon at the top using the following:
<!-- Conversations drawable icon in SupportActivity -->
<item name="zs_helpConversationsIcon">@drawable/my_help_conversations_icon_light</item>
Does anyone have a good example of a mobile application with Help Center articles embedded via SDK? I would like to compare the experience to what we have which is embedded via browser.
This is an informative post. Got a lot of info and details from here. Thank you for sharing this and looking forward to reading more of your post.
<a href="https://www.daisoftware.com/Products/On-Demand-App-Development" data-href="https://www.daisoftware.com/Products/On-Demand-App-Development" title="on demand service app development">on demand service app development
</a>
سلام عليكم انا من العراق أواجه مشكلة سحب الأموال من premise برنامج هل تطبيق يدعم بطاقة بايونير العراقي مربوط عل حساب امريكي
Please sign in to leave a comment.