Here you’ll find answers to the most Frequently Asked Questions regarding Talkdesk’s Mobile SDK.



What language is used on the SDK?

Talkdesk’s iOS Mobile SDK is compiled with Swift.

What languages are supported?

TalkdeskSDK can be used either in Swift or Objective-C applications. Currently some features are only available if you use Swift. Please read the Features page for more information.

Also keep in mind that Xcode offers automatic bridging between Swift and Objective-C, making it possible to mix Swift code into an Objective-C app. You can fully access the features in an Objective-C application by doing this.

See Supported Versions for more information on SDK compatibility with your App.


What iOS devices are supported by the SDK?

Currently we’re just supporting phones. We do have plans to extend the SDK support to iPads as well. Phones from the iPhone 4S upwards are supported.

What’s the minimum iOS version supported?

Talkdesk’s iOS Mobile SDK is compatible with iOS 9 and above.


How can I access the SDK’s features?

Talkdesk’s iOS Mobile SDK is publicly available but access to the features requires a paid subscription. Subscribers will receive a unique developer key that should be used when integrating the SDK into an app to unlock functionality within the scope of a Talkdesk account.

How can I get my developer key?

If you need a developer key you can contact mobile-sdk-support@talkdesk.com.

What’s the status of Talkdesk iOS Mobile SDK?

Currently the SDK is made available in Beta.


What setup methods do you support?

While we have plans to support other means of integration, currently the Talkdesk iOS Mobile SDK is available only through CocoaPods, the largest Cocoa dependency manager. You can find instructions on how to set it up on the Integration page.

How to use the SDK in an Objective-C application?

Here are the snippets you need to get started.

On AppDelegate.m, register your developer key on the SDK:

@import TalkdeskSDK;

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

    [TalkdeskSDK developerKey:@"your-developer-key"];
    return YES;


To present the InteractionViewController you simply do the following:

NSDictionary *options = @{
                                @"intention" : @"callback"

NSError *error;
InteractionViewController *vc = [InteractionViewController interactionViewControllerWithOptions:options

if(!error) {
    // Present vc
else {
    // Treat error

Please keep in mind that you need to pass the intention key in the options dictionary.



What does the Callback do?

The TalkdeskSDK Callback feature allows your application users to enter their phone number and receive a phone call from one of your account’s Agents through Talkdesk.

You can find more information in the Features page.

What does the Visual IVR do?

The TalkdeskSDK Visual IVR feature allows the customer to self-service themselves and provide information before (or instead of) talking to an Agent through Talkdesk.

You can find more information in the Visual IVR page.

Can I have multiple intentions on my app?

Sure! The TalkdeskSDK was designed to support multiple intentions on your app. Find out how in the Features page.

Do I need to notify my customers if the calls they initiate through the SDK are being recorded?

Many countries legally require this type of notification, so we strongly recommend it as a best practice. We advise that you include a message to inform the end user that call recording might take place during the interaction in a confirmation screen after they make the callback request.

If I am passing Contextual Metadata do I need to have any configuration in my Interaction workflow?

At the moment Talkdesk needs to know which fields (name and type) you’ll be passing as Contextual Metadata through the SDK. The field values (content) can change between interactions but the field names must not and must be known beforehand. This information will be stored on the flow definition and might be different for each flow your account maintains. You don’t need to do anything on your side besides informing us about the field names. We’ll do all the magic on our side.

Also, in the future this should not be needed as we are working to bring you full seamless integration between your application and Talkdesk.