Track events and user actions when the user starts a new conversation. Attach custom metadata to every conversation started via the SDK.

Multi Login

Details on user management are available here.

Attaching tags with conversation

On tag names & compatibility

  • HSTags must be created in the Helpshift Dashboard (Settings → Tags), otherwise they will be ignored.
  • HSTags must be lowercase since the dashboard automatically converts tags to lowercase. The tags present on the dashboard must exactly match the HSTags.


You can attach tags to every new conversation in the config object while calling the showConversation API. The passed tags get intepreted at server and added as Tags for the every new conversation.

If an object in NSArray is not of type NSString then the object will be removed from Tags and will not be added for the new conversation.

NSArray *tags = @[@"Hello", @"iOS"];
NSDictionary *config = @{@"tags":tags};
[Helpshift showConversationWith:self config:config];

let tags = ["Hello", "iOS"]
let config = ["tags":tags]
Helpshift.showConversation(with:self, config:config)

Attaching Custom Issue Fields to conversations

On Custom Issue Fields keys & compatibility

  • Custom Issue Fields must be created in the Helpshift Dashboard (Settings → Custom Issue Fields), otherwise they will be ignored. Read more here

You can attach Custom Issue Fields to every new conversation started by the user. A Custom Issue Field should have a key, a datatype, and a value. The Helpshift SDK allows the addition of Custom Issue Fields by using the customIssueFields method in the ApiConfig object. These Custom Issue Fields would be sent whenever a new conversation is started by the end user.

As soon as an end user opens the conversation screen, they see a greeting message, and the conversation is considered active. All the modified Custom Issue Fields (updated during an active conversation) will only be sent with the next conversation that end user starts.

Possible datatypes to be passed into the config are:

Type value Comments
"singleline" string Single line string with character limit of 255
"multiline" string Multi line string with character limit of 100,000
"number" string String representation of number. For eg. "12345"
"dropdown" string Drop-down options should exist for the given Custom Issue Field on dashboard. Value should be one of the values specified on the dashbaord for that dropdown.
"date" string String representation of epoch time in milliseconds. For eg. "1505927361535"
"checkbox" string String representation of boolean. For eg. "true" or "false". This corresponds to the checkbox type custom issue field on dashboard.


NSDictionary *cifs = @{ @"joining_date": @{ @"type":@"date", @"value":@"1505927361535" },
                         @"stock_level": @{ @"type":@"number", @"value":@"1505" },
                       @"employee_name": @{ @"type":@"singleline", @"value":@"ABC" },
                    @"employee_address": @{ @"type":@"multiline", @"value":@"303,Joy plaza,Park street,Viman nagar.Pune-432123" },
                     @"salary_currency": @{ @"type":@"dropdown", @"value":@"Dollars" } };

NSDictionary *config = @{ @"customIssueFields" : cifs };
[Helpshift showConversationWith:self config:config]; 

let cifs = [ "joining_date": [ "type":"date", "value":"1505927361535" ],
                                 "stock_level": [ "type":"number", "value":"1505" ],
                               "employee_name": [ "type":"singleline", "value":"ABC" ],
                            "employee_address": [ "type":"multiline", "value":"303,Joy plaza,Park street,Viman nagar.Pune-432123" ],
                             "salary_currency": [ "type":"dropdown", "value":"Dollars" ] ];
let config = ["customIssueFields":cifs]
Helpshift.showConversation(with: self, config: config)