function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
Morgan MarcheseMorgan Marchese 

what is the expected result of having more than one prechat.findOrCreate.map.doFind on a Live Agent Prechat form?

I have 3 different doFind's on my Pre-Chat form, one to find Accounts by Account Number (Auto Number field), one is to find customers by email field, and one is to find cases by case field.

When I had only one doFind in my prechat form for accounts by account number, it would automatically open up a sub-tab within the Service Console and display the correct account when the customer gave us their number in the form. However, when I introduced my 2 additional doFinds (customers by email and cases by case number), I expected it to give me 3 separate sub-tabs, one for each match. One account subtab, one contact subtab, and one case subtab. Instead, I am just receiving one sub-tab called "Search Results" which displays one account that matched, one contact that matched, and one case that matched:

User-added image

My user has to physically click on each of these 3 search results to open each in its own subtab.

I expected each of my 3 doFinds to open in its own tab since that was the result when my form had only one doFind. They are separate finds for different records so I figured it would work the same way - is this not the case? Is the functionality I am experiencing considered correct, or am I doing something wrong? My ideal solution would be that if the customer fills out all 3 fields, we get 3 subtabs within the Live Agent session in the console, specific to each record that we found that matched.

I hope this makes sense, please let me know if I can clarify any further.

Thanks!
Andy BoettcherAndy Boettcher
Again Morgan - another great post.  Very clear and concise.

I have not coded anything specifically in this area; however making an educated assumption on how other areas of Salesforce works, what you are seeing makes sense.  Salesforce probably has a "one slot" ability for the tab based on the doFind, and if multiple are used a single tab is shown with the multiple search results for the user to choose so they aren't opening dozens of tabs (in a worst-case scenario).
Morgan MarcheseMorgan Marchese
Hi Andy,

I see that you posted a reply to both of my similar questions. Thank you again for taking the time out of your day to reply even if only to confirm my suspicions. It does appear from everything that I have tried that this may be out of reach due to the limitations within SFDC/Service Console/Live Agent PreChat. However, I am not a veteran developer yet and am only beginning to get my feet wet, so to speak. It's entirely possible there may be an 'out of left field' idea that I just can't come up with, so I'm hopeful that some day I will be able to achieve this need.

For now, as we wish to go live with Live Agent by Q1 2016, the teams will make due with the system the way that it works today. Search results are still better than no results, right?

If you happen to know of anyone who is more experienced in this particular area, feel free to send them my way!

Have a nice weekend,

Morgan
Brian Knezek 13Brian Knezek 13
Hi Morgan,
Did you ever find a solution to this?  I have the same need that you mention:

Each doFind should open a separate subtab. Instead, when multiple doFinds are used, a single tab called Search Results is opened.

This seems dumb.

Brian
ClaiborneClaiborne
I wanted to add a liittle different behavior.

I have two dofinds in my prechat page. 

The contact one works fine. And the case dofind works if it finds a case.

If there is not a matching contact, it creates a contact. 

The problem is that if there is not a matching case, It does not create a new case
 
<!-- Map the detail inputs to the Contact fields --> 
                <input type="hidden" name="liveagent.prechat.findorcreate.map:Contact" 
                    value="FirstName,contactFirstName;LastName,contactLastName;Email,contactEmail;" />
                
                <!-- Try to find the Contact by email (exact match) -->
                <input type="hidden" name="liveagent.prechat.findorcreate.map.doFind:Contact" value="Email,true;" />
                <input type="hidden" name="liveagent.prechat.findorcreate.map.isExactMatch:Contact" value="Email,true;" />
                
                <!-- If the Contact is not found, then create one with the following fields set -->
                <input type="hidden" name="liveagent.prechat.findorcreate.map.doCreate:Contact" 
                    value="FirstName,true;LastName,true;Email,true;" />
                
                <!-- Save the Contact on the Live Chat Transcript's Contact Loookup -->
                <input type="hidden" name="liveagent.prechat.findorcreate.saveToTranscript:Contact" value="ContactId" />
                               
                <!-- Show the Contact when it is found or created -->
                <input type="hidden" name="liveagent.prechat.findorcreate.showOnCreate:Contact" value="true" />

                <input type="hidden" name="liveagent.prechat.findorcreate.map:Case" 
                    value="CaseNumber,caseNumber" />                
               
                <input type="hidden" name="liveagent.prechat.findorcreate.map.doFind:Case" value="CaseNumber,true;" />
                <input type="hidden" name="liveagent.prechat.findorcreate.map.isExactMatch:Case" value="CaseNumber,false;" /> 

                <!-- Create a Case new case -->
                <input type="hidden" name="liveagent.prechat:caseOrigin" value="Live Agent" />
                <input type="hidden" name="liveagent.prechat:caseStatus" value="New" />
                <input type="hidden" name="liveagent.prechat.findorcreate.map:Case" 
                    value="Origin,caseOrigin;Subject,caseSubject;Status,caseStatus;" />
    
                <input type="hidden" name="liveagent.prechat.findorcreate.map.doCreate:Case" 
                    value="Origin,true;Subject,true;Status,true;" />
                <input type="hidden" name="liveagent.prechat.findorcreate.saveToTranscript:Case" value="CaseId" />                

                <!-- Link the Contact to the Case -->
                <input type= "hidden" name="liveagent.prechat.findorcreate.linkToEntity:Contact" value="Case,ContactId" />
                <input type="hidden" name="liveagent.prechat.findorcreate.showOnCreate:Case" value="true" />

Any ideas?