Share and Enjoy !

Find this Podcast “Coveo Search Primer with Tim Coalson” on the ThreeWill Soundcloud, Stitcher, and iTunes.


Danny Ryan:Hello, and welcome to the Two Bald Brothers and a Microphone Podcast. This is one of the bald brothers, Danny Ryan. I am here with at least another bald person. Tim, you are bald, correct?


Tim Coalson:I am.


Danny Ryan:I consider you a brother, so this’ll work. This’ll work for today. I wanted to talk to you about some recent project work and in particular a product that you’ve been working with, just to get maybe a little bit of a primer and a background just to learn from you about how they’re using the product. The product’s called, we’ve been talking about, is it Coveo? Coveo? Coveo? It’s spelled C-O-V-E-O, and it’s a product that is being used for search, correct?


Tim Coalson:That’s correct.


Danny Ryan:Awesome.


Tim Coalson:Yep. Basically I support a client that has, they have a support site. They also use Service Cloud’s Salesforce internally, and we expose that data externally through their public website. There’s the primary functions they use, and Service Cloud are the web cases. So if you have a problem, you can submit a case or if … And also there are knowledge-based articles, so as a way both internally and externally to share information, both with the public as well as just share that information with internal customer service representatives. They have knowledge-based articles. Within those knowledge-based articles, they can be declared internal or they can be declared public cases, of course, or generally. They can be declared internal where even the customer that the case is about, it may not be accessible to the customer because internally they’re trying to figure out a way to, I guess, best resolve this customer’s issue.


Basically you’ve got data within Service Cloud that in some cases you want to share internally and some cases you want to share publicly. In this case, they brought in Coveo and their services team to do the initial rollout to do the bulk of the work. Then over time, slowly but surely they’ve been transitioning some of that knowledge to us as the development team. Of course, I’m a contractor working for this particular customer, and have actually been supporting this customer for nearly three years now, so I’m pretty knowledgeable about a lot of what they do. Still learning every day.


Basically in the past we had a homegrown solution where we would bring in help contents from some public help files that were out publicly available on the web. We also had, we would do some searching for knowledge-based articles, but this was sort of a homegrown search using the Salesforce API to retrieve the results, so there wasn’t really, I guess, a unified way to really merge those, the help content versus the Salesforce content. There was no common relevancy to be able to tie those together. You know, we didn’t claim to be a search expert, so we had a very basic implementation of search. With the purchase of this Coveo product, then the idea was to be able to create a much more unified search experience because it is a professional product. A lot of big companies use it. One of the ones I like to reference the most is Del, because I’m a Del laptop user and I often go to their support site.


Del actually uses Coveo as their support site search, so if you go to, you can get a good idea of what I’m talking about. Basically it’s a cloud-based product that is smart enough to know how to search or to index content in Salesforce, also other common formats of content. It knows how to index, but then also any content that maybe it doesn’t know how to index, you can actually push that content into Coveo. That way you can, pretty much I guess you’re unlimited in the types of content that you can index. In the case of the company I work with, we’re actually pushing some Lotus Notes content into Coveo as well.


Danny Ryan:Okay.


Tim Coalson:So from a search experience, it’s really two sites. Internally their CSRs are now using Coveo to search internally for web cases or search for articles or other Salesforce artifacts that may apply to a specific issue or product or whatever they need to search on based upon a customer calling in or any kind of analysis they’re doing.


At the same time, from a public standpoint, a person that might purchase this company’s products, for us that work with Microsoft products, if there’s any kind of issues, we’re searching the Microsoft knowledge base to see, is there an issue with SharePoint or is there an issue with Word or how can I get resolution to this problem? Well, in the same way as we have the support site, we’re supporting those users who are searching for different types of help based upon whatever their issue may be, whether it be with a product or something like that.


So this same Coveo search engine is basically being used for both internal consumption as well as public consumption. That’s one of the interesting things about the product is you’ve got a lot of different filters that you can create. The term they use is query pipelines, so you can create different pipelines that have ultimately access to the same content, but through each of those different pipelines, you can filter the data appropriately. That way internal content is not available publicly, because obviously that would be a concern. You don’t want people in the public seeing content that’s only meant for internal consumption.


Danny Ryan:So the results are security trim then? You’re able to do things like that?


Tim Coalson:Right, exactly. Not necessarily security trim based upon a Windows ACL, but really more trimmed based upon this is a pipeline that’s configured for external people, so let me not include within there or filter out things based on certain attributes that would let me know that it’s in internal content only. It’s a very rich framework. Like most other search products, you can go in and you can configure a thesaurus so that the terminology that a typical customer might use, you help bridge that gap between kind of common words and the words that might be used within your organization that are maybe more technical in nature. Or an abbreviation, you might help translate that so that if a customer types in EIN, for example, you know that’s an employee identification number. You might help define that in the thesaurus that way. Even though a person may not search the exact term and the content, you’re helping bridge that gap by defining the parallel word within your content.


There’s a pretty rich thesaurus. There’s also featured results that you can define, so certain words are put in. You can tell Coveo to return certain results at the top of the list, so they’ll have a higher ranking based upon your creating that as a featured result.


Danny Ryan:Then earlier, were you talking about something like faceted search, or is that part of what this is?


Tim Coalson:Yeah, so there’s facets that are definitely part of it. Like I said, the Del support UI’s a very good example of that. You can have facets that separate out your different kinds of content, so you could have a facet that would differentiate your help content from your articles. Even within your articles, in our case, in the long term we’ll be specifying between the how-to articles versus technical articles. Different types of documentation will help narrow down through facets the types of content so you can easily filter down.


In our case, we have product as a big facet, so which product does this apply to? Because my client has 40, 50, 60 different products that they supply to the public, so being able to narrow down which product does this help apply to is certainly a big help to get down to the results that are specific.


As a developer, what’s nice about the product is it has a very extensive API that’s well documented. They use just some standard documentation, but they also have, they use Swagger as a way to help document their services and give examples and allow you to kind of test them there. Online their JavaScript framework, which is the basis of their standard UI, is written in TypeScript, so as a developer, you can write custom components in TypeScript. It really leverages more modern development paradigms so you can take advantage of those and write your own rich custom components to do pretty much whatever you want to do.


They’ve got a nice, a lot of events that are exposed that allows you to, even within those events, to customize the results that you’re getting back. So in some cases, the data that we get back from Salesforce, we can’t really give a customer an internal Salesforce URI, so we have to convert that to something that’s accessible publicly so we can capture that data and then change things as we need to.


In our case, we like to do a lot of logging so we know what are customers looking at. Even though Coveo offers a lot of this on the server side we like to track some of this even within our own application. So if there’s an error, for example, we would log that and be able to see that through our own logs and know that there might be a potential issue.


Also, just as a browser-based application, you can leverage CSS to customize the look and feel of the search UI.


Danny Ryan:Nice.


Tim Coalson:So you know whether it be the colors that you’re trying to achieve or whether it be moving things around on the screen, all that’s easily available through standard web techniques.


Danny Ryan:Very nice. Is any of this content, is it like documents, like file-based content that you have it searching at all or is that a part of this?


Tim Coalson:The help files or file-


Danny Ryan:Yeah, the file-based.


Tim Coalson:… file-based content, so it’s searching those. Most of the content, I guess, is coming out of Service Cloud.


Danny Ryan:Okay. Do you know if … I took a quick look on their website before we talked and I saw there was a, you can use it with Sitecore. That’s come up where we had some projects that involved that. Do you know if there’s anything that’s … I guess I saw Dynamics, but I wasn’t sure if there was anything SharePoint related or Microsoft 365. Have you heard anything about that at all?


Tim Coalson:We haven’t dealt with any interfaces to SharePoint, so I don’t know. Our primary back end is Salesforce.


Danny Ryan:I’m just asking to see if you can use it for other projects.


Tim Coalson:Yeah, I’m sure you can. I think like most big companies like this, they provide different ways to read that content. Obviously, the more sources like SharePoint and like Salesforce they can support, the more likely a company would choose to use the product, so I’m sure they continue to evolve over time, all these different interfaces. Like I said, the nice part is, if it doesn’t support your particular interface, you can push that content into it.


Danny Ryan:Nice.


Tim Coalson:So it’s pretty much, I guess, unlimited as to the different types of sources that you can support. It’s kind of nice looking UI. It uses your standard faceted search UIs that most companies have today. So far I’ve enjoyed working with it, being able to hook into the different events and be able to accomplish … Because most companies, and I can’t really speak for others besides Coveo, I mean, they’re obviously going to give you a dog and pony show that shows you some real basic functionality, but as most developers know, the real key to using a product is how does it handle the exception cases?


Danny Ryan:Yeah.


Tim Coalson:Does it give you that flexibility to handle the exceptions in an acceptable way? For example, in one of the sites, we don’t want to show all the different products as facets. We really just want to show a subset of those products. But we still want the content associated to the facets that we don’t show. So if a customer doesn’t choose a facet, then they’ll still just see all the content, but if they do choose the facet, then we would limit it down.


What we do is, there’s a mechanism to only show certain facets, so that’s kind of one of the simple exception cases. But there’s a lot of … Each of these objects is very customizable. There’s properties that you can specify on an HTML attribute. The standard data dash property in HTML that you can use that’s meaningful to Coveo, but your browser basically ignores it.


Danny Ryan:That’s right.


Tim Coalson:So Coveo can read those properties and basically adjust your interface, the behavior of your interface based upon what the property value that you’ve passed in. It’s a nice way to be able to code both through the HTML interface as well as through the JavaScript and through APIs. So far it’s been a good experience. Over time, we’ll continue to transition more and more the responsibility over to our team from the Coveo services team, but the Coveo services team has done a good job of handling all the exceptions that we’ve asked them to handle and transition that over to our team. So far it’s been a good experience.


Danny Ryan:Great. I appreciate you sharing your experiences here and for continuing to do a great job on the project. Three years. I don’t know how much longer you’ll be on the project, but we’ll see.


Tim Coalson:I’m looking forward to it. [inaudible 00:17:12] it’s going to be our retirement project. Thinking another 12 years and maybe we’re there.


Danny Ryan:I hear you. Well, thanks for all your hard work. Have a great weekend. Thank you everybody for listening and have a wonderful day. Thank you.


Tim Coalson:Thank you.


Danny Ryan:Bye-bye.



Share and Enjoy !

Related Content: