Hi there! We use Salesforce and have a decent integration that sends the chat transcript to the SF Case at close. We are looking to improve this integration soon so that it can establish the SF case at chat creation and sync periodically until and then at close. Happy to chat with you more. :)
Thanks for the follow up Jen! I'd love to chat.
Can you please send an email to me and we can schedule a time?
I have had a look at the likes of Tray, Zapier etc and found I can get conversation transcripts on other objects but it requires a 3rd party integration, additional cost and support / tech debt so we have not gone beyond R&D on it.
My main need for Intercom / Service Cloud is similar to yours which is to bind conversations and cases;
- Conversation transcripts to map automatically to chat transcripts and be linked to the case and contact records
- Conversation attributes to link to case fields
- Ability to generate cases from bot flows
- Ability to search for case details and pull back information either via agents or preferably bot flows
- Change in case status to update any related cases
- Agents to be able to link conversations to cases via lookup / search (like the Intercom JIRA App that does exactly that)
As the integrations I have played with have not offered all of these, I have parked it with hope Intercom we build more case related enhancements in future Salesforce app iterations.
Hey, I'm Colin and I'm the lead developer at Highways.io. We make a number of Inbox Apps for Intercom and Salesforce is one that we get a lot of requests about. We're actually in the process of launching a brand new tool called Sync that may help your use case.
In short, our product is designed to move/sync conversations to other CRMs and tools as they are updated. This is vastly superior to systems that update on close or manually as you can be assured your team is viewing conversations in real time, no matter which tool they are in.
Now, here is the potentially drawback. You mention you want the conversation synced to the CASE not the CONTACT. This is tricky. The reason is that a Contact in Intercom can have many conversations and those many conversations can related to many Salesforce Cases. In other words, it's generally not possible for a machine to determine where a conversation belongs if there is more than one Case. We can't simply sync to all Cases as you could have conversations in the wrong cases that could muddy the waters really quick.
We hit this problem a lot in other tools, for example sales tools with multiple deals attached to a single Intercom contact.
This is why all these tools, and ours, they sync to the Contact record as there is an assured 1:1 match. As a compromise, our tool syncs a conversation to Deals/Cases if and only if there is a single match to a given Contact.
Hi @colin l11 thanks for your feedback.
In response to your Case vs Contact challenges....
Have you considered, if a conversation leads to a Case being created - grabbing the conversation ID from Intercom and attaching it to the Case ID that is created during that conversation, IN ADDITION to syncing on the contact level as a standard?
Seems like a fairly simple way to navigate around your 1:many mappings.
Our use case is strictly for Case creation. I understand that this may pose a challenge for follow ups, but seems like a path to explore if you want to support that feature in the future.
Regardless, it looks as if we want this kind of functionality we will have to build it ourselves. No big deal! If we do build it, I would be more than happy to share our approach with the community.
Hey, appreciate the feedback.
At present, there is no way to write/store the Case ID within an Intercom Conversation, at least not on the current public Intercom API with respect to conversation attributes (It's coming as we specifically requested it for this use case) So unless our app creates the Salesforce case (Which it currently doesn't) then there is no way of knowing the SF Case ID at a later point. Likewise, if a Case is created in Salesforce, the Intercom Conversation ID will be missing as Intercom won't know about it. Alternatively, the app would need to write in the Intercom Conversation ID to the Case in Salesforce when the case is being created in Intercom, but not every system or administrator permits this custom field addition.
However, even if the Intercom Conversation ID is known, it still does not solve the many to many issue. The assumption that a Case maps 1:1 to a single Conversation is incorrect as a user can open multiple conversations with respect to a single case. Partial data is not useful as critical information call fall though the gaps.
This is why syncing to the Contact is the best route forward as it assures all the information is correctly synced.
Thanks for the additional notes @colin l11 , perhaps we can continue this over a call? Do you know of a good way to manage the conversation data within salesforce between Contacts and Cases?
Use Case here is the CRM has a 360 view of customer including interactions and in our case all interactions should have a case record (whether right or wrong, it is what we do). Logically, there are 3 flows in at the top of support funnel;
- Existing Issue
- New Issue
- I am lost / just browsing
1. If existing issue, prompt for case number, use that value to look up the CRM and if match found create relationship between Conversation and Case and then pull the case data across. If no match, then let customer know and go normal support route.
2. If new issue, follow whatever triage process you like and on contact match automatically create a case and create relationship between conversation and case and then pull the case data across and send conversation data to case.
In SFDC, a case generally cannot exist with a contact, who cannot exist without an account so the match is found.
I would rather deal with false positive matches and be able to add/remove relationships than have humans click 3-5 times at least for each conversation.
Worth noting the JIRA integration has parts of this concept (search/attach etc).
IMO how we are thinking of the Service Cloud use case should solve for 99% of users of both systems.
Convo Attributes was my immediate thought to source the data required, but as this is a new feature not yet support by API.
A convo to case match can be, 1:1, many:1 or 1:many as you have called out, it is how to cater for this and allow a full view.
In most SFDC use cases the following are true;
- Contact exists
- Account exists
- Case exists
- Cases have classification / taxonomy data
Further to my comments above and similar to Titho's answer, we do this for Microsoft Dynamics Cases via Highways Sync. As a result of this conversation, we're adding this feature to our Salesforce integration.
In summary, when a conversation is updated, we make a best effort to match to a Case. If a Case is not found, we create a new Salesforce Case with the contents of the Intercom conversation. Subsequent updates to the Intercom conversation e.g. Replies, are added to the Salesforce Case as Comments.
If anyone is interested in trying this, you can find more info @ https://www.highways.io/sync/ or feel free to open a chat on our site and ask for Colin.
Hey everyone,
If any of you are still wanting for a deeper integration you should check out Unito, it's a no-code, 2-way integration that syncs in real time, covers your use cases and wont break the bank.
Reidt
I know this is a very old post, but have you figured out how to update the SFDC cases based on things happening in the intercom chat @jennifer b11 ? It blows my mind that the only option is to create the case and then update it with the transcription when the intercom chat is closed. Nothing to update it or even "close" the case in SFDC when the intercom chat is over. I'm struggling just trying to get a link to the chat added to the case when its first opened so our CS team can view the intercom chat since its only possible to send the transcript to the case when the intercom convo is closed.
We are in the same boat. We've been using Tickets. Tickets can create Cases in Salesforce. However, you have to go to the Case in Salesforce and manually close the Case. Ideally, Ticket status would change SFDC Case status. Zapier doesn’t even have Tickets as an object you can call yet. We looked into Intercom Custom Actions and Custom Objects to try to make something work as we are fairly comfortable with API integrations, but could not figure out how to do it. Intercom Support hasn’t been any help. If someone knows how to do this, I’d be willing to pay for some consulting on this.
Hi, on the topic of advanced Salesforce configuration with Intercom, does anyone have experience of pulling in custom Salesforce objects that are not Contact, Lead or Account?
We have a requirement to pull in additional Objects, which hold data about our customers.
Any advice and/or guidance would be appreciated. Thank you.