segment-integrations / analytics.js-integration-intercom

The Intercom analytics.js integration.
https://segment.com/docs/integrations/intercom/
MIT License
7 stars 12 forks source link

support hide default launcher #15

Closed hankim813 closed 8 years ago

hankim813 commented 8 years ago

for: https://segment.atlassian.net/browse/INT-529 docs: https://docs.intercom.io/configure-intercom-for-your-product-or-site/customize-the-intercom-messenger/customize-the-intercom-messenger-technical#show-the-intercom-messenger-to-selected-users-for-web-

basically lets you use Intercom's hide_default_launcher option anytime you update the user. This will let them hide the messenger using intercom's native features rather than our existing recommendation of straight up disable a given call via selective integration which is not as good as this since you can still update user/group traits without losing that data inside intercom.

docs pr to go along with it: https://github.com/segmentio/site-docs/pull/1784

@WesleyDRobinson @f2prateek

f2prateek commented 8 years ago

Not sure how this flag is typically used, but I think it might be better to have users call the intercom API directly in this case?

i..e instead of:

analytics.identify('prateek', {email: 'prateek@segment.com'}, { context: { Intercom: { hideDefaultLauncher: true }}});

do:

analytics.identify('prateek', {email: 'prateek@segment.com'});
window.Intercom.set(hideDefaultLauncher: true);

Is that feasible?

hankim813 commented 8 years ago

@f2prateek I'd rather not have them use outside of segment. They also don't have a dandy set api but you have to push to their queue with other properties like appId etc, so the flag approach is more optimal an consistent with how we've been supporting their other features like secure mode and unsubscribe from emails.

f2prateek commented 8 years ago

Ok sgtm!