Deployment Procedure for Zendesk Support

Once you’ve added a Zendesk source in your Coveo organization, you must:

Install the Coveo Application in Zendesk

  1. Install the Coveo Search App.

  2. On the installation page:

    1. Enter your Coveo organization ID.

    2. (Optional) Enter specific field names to add to the allowlist.

    3. (Optional) Enter specific field names to add to the blocklist.

    4. Select the roles that should have access to the Coveo application.

    5. Select the roles that should be restricted from the Coveo Application.

    6. Click Install.

Create Search Pages

  1. On the Search Pages page, create the following search pages.

    • zd_support_new_ticket_sidebar

    • zd_support_ticket_sidebar

  2. Once the pages are created, click Edit Interface, and then Code View for each page, and replace the existing code with the this code.

  3. Create another search page named zd_support_top_bar for the top toolbar.

    This search page can be further customized at a later time as needed.

Generate API Key

To authorize the search interface to send queries and retrieve results from your Coveo Organization, you must generate an API Key in the Coveo Administration Console.

  1. Create an API key with the following privileges:

    Service Domain Required access level
    Analytics

    Analytics Data

    Push and view

    Impersonate

    Allowed
    Search

    Execute queries

    Allowed

    Impersonate

    Allowed
  2. Back on the Agent Dashboard, click on the Coveo icon located on the top bar.

  3. Enter the API key, and then click Allow in the Coveo for Zendesk window that appears.

View Ticket with Insight Panel

By selecting a ticket on the Agent Dashboard, the Coveo for Zendesk insight panel will appear on the right side of the ticket.

zendesk-ticket-view

Reference

Search Page Code

Enter this code into the Code View of the zd_support_new_ticket_sidebar and the zd_support_ticket_sidebar search pages.

<div id="search" class="CoveoSearchInterface" data-results-per-page="5">
  <div class="CoveoFolding"></div>
  <div class="CoveoAnalytics"></div>
  <div class="coveo-tab-section">
    <a class="CoveoTab" data-id="All" data-caption="All"></a>
    <a class="CoveoTab" data-id="Confluence" data-caption="Wiki" data-expression="@connectortype==Confluence2Crawler AND NOT @documenttype==Space"></a>
    <a class="CoveoTab" data-id="GoogleDrive" data-caption="KB" data-expression="@connectortype==GoogleDriveCrawler AND @documenttype==(File,Folder)"></a>
    <a class="CoveoTab" data-id="Lithium" data-caption="Community" data-expression="@litopicid @filetype==lithiummessage" data-sort="date descending"></a>
    <a class="CoveoTab" data-id="ServiceNow" data-caption="ServiceNow" data-expression="@snsysid"></a>
    <a class="CoveoTab" data-id="YouTube" data-caption="YouTube" data-expression="@filetype==&quot;youtubevideo&quot;"></a>
  </div>
  <div class="CoveoUserActions"></div>
  <div class="coveo-search-section">
    <div class="CoveoSearchbox" data-enable-omnibox="true"></div>
  </div>
  <div class="coveo-main-section">
    <div class="coveo-facet-column">
      <div class="CoveoDynamicFacet" data-title="Type" data-field="@objecttype" data-tab="All"></div>
      <div class="CoveoDynamicFacet" data-title="FileType" data-field="@filetype" data-tab="All"></div>
      <div class="CoveoDynamicFacet" data-title="Author" data-field="@author" data-tab="All"></div>
      <div class="CoveoDynamicFacet" data-title="Type" data-field="@confdocumenttype" data-tab="Confluence"></div>
      <div class="CoveoDynamicFacet" data-title="Space" data-field="@confspacename" data-tab="Confluence"></div>
      <div class="CoveoDynamicFacet" data-title="FileType" data-field="@filetype" data-tab="Confluence"></div>
      <div class="CoveoDynamicFacet" data-title="Author" data-field="@author" data-tab="Confluence"></div>
      <div class="CoveoDynamicFacet" data-title="FileType" data-field="@filetype" data-tab="GoogleDrive"></div>
      <div class="CoveoDynamicFacet" data-title="Origin" data-field="@gdfilesource" data-tab="GoogleDrive"></div>
      <div class="CoveoDynamicFacet" data-title="Owner" data-field="@author" data-tab="GoogleDrive"></div>
      <div class="CoveoDynamicFacet" data-title="Last modified By" data-field="@gdfilelastmodifyinguserdisplayname" data-tab="GoogleDrive"></div>
      <div class="CoveoDynamicFacet" data-title="Shared To" data-field="@to" data-tab="GoogleDrive"></div>
      <div class="CoveoDynamicFacet" data-title="Shared From" data-field="@from" data-tab="GoogleDrive"></div>
      <div class="CoveoDynamicFacet" data-title="Category" data-field="@licategoryshorttitle" data-tab="Lithium">
      </div>
      <div class="CoveoDynamicFacet" data-title="Board" data-field="@liboardshorttitle" data-tab="Lithium"></div>
      <div class="CoveoDynamicFacet" data-title="Author" data-field="@limessageauthor" data-tab="Lithium"></div>
      <div class="CoveoDynamicFacet" data-title="Year" data-field="@year" data-tab="Lithium"></div>
      <div class="CoveoDynamicFacet" data-title="Month" data-field="@month" data-tab="Lithium"></div>
      <div class="CoveoDynamicFacet" data-title="Type" data-field="@objecttype" data-tab="Salesforce"></div>
      <div class="CoveoDynamicFacet" data-title="Status" data-field="@sfstatus" data-tab="Salesforce"></div>
      <div class="CoveoDynamicFacet" data-title="Close quarter" data-field="@sfopportunityclosedquarterc" data-tab="Salesforce"></div>
      <div class="CoveoDynamicFacet" data-title="Salesforce Account" data-field="@sfaccountname" data-tab="Salesforce"></div>
      <div class="CoveoDynamicFacet" data-title="Salesforce Owner" data-field="@sfownername" data-tab="Salesforce"></div>
      <div class="CoveoDynamicFacet" data-title="Opportunity Type" data-field="@sfopportunitytype" data-tab="Salesforce"></div>
      <div class="CoveoDynamicFacet" data-title="Opportunity Stage" data-field="@sfopportunitystagename" data-tab="Salesforce"></div>
      <div class="CoveoDynamicFacet" data-title="Lead Source" data-field="@sfleadsource" data-tab="Salesforce"></div>
      <div class="CoveoDynamicFacet" data-title="Created By" data-field="@sfcreatedbyname" data-tab="Salesforce"></div>
      <div class="CoveoDynamicFacet" data-title="Type" data-field="@objecttype" data-tab="ServiceNow"></div>
      <div class="CoveoDynamicFacet" data-title="Priority" data-field="@snpriority" data-tab="ServiceNow"></div>
      <div class="CoveoDynamicFacet" data-title="Urgency" data-field="@snurgency" data-tab="ServiceNow"></div>
      <div class="CoveoDynamicFacet" data-title="Opened By" data-field="@snopenedbytitle" data-tab="ServiceNow"></div>
      <div class="CoveoDynamicFacet" data-title="State" data-field="@snstate" data-tab="ServiceNow"></div>
      <div class="CoveoDynamicFacet" data-title="Category" data-field="@sncategory" data-tab="ServiceNow"></div>
      <div class="CoveoDynamicFacet" data-title="Product" data-field="@sncmdbciname" data-tab="ServiceNow"></div>
      <div class="CoveoDynamicFacet" data-title="Author" data-field="@author" data-tab="YouTube"></div>
    </div>
    <div class="coveo-results-column">
      <div class="CoveoShareQuery"></div>
      <div class="CoveoPreferencesPanel">
        <div class="CoveoResultsPreferences"></div>
        <div class="CoveoResultsFiltersPreferences"></div>
      </div>
      <div class="CoveoTriggers"></div>
      <div class="CoveoBreadcrumb"></div>
      <div class="CoveoDidYouMean"></div>
      <div class="coveo-results-header">
        <div class="coveo-summary-section">
          <span class="CoveoQuerySummary"><div class="coveo-show-if-no-results"></div></span>
        </div>
        <div class="coveo-result-layout-section">
          <span class="CoveoResultLayout"></span>
        </div>
        <div class="coveo-sort-section">
          <span class="CoveoSort" data-sort-criteria="relevancy" data-caption="Relevance"></span>
          <span class="CoveoSort" data-sort-criteria="date descending,date ascending" data-caption="Date"></span>
        </div>
      </div>
      <div class="CoveoHiddenQuery"></div>
      <div class="CoveoErrorReport" data-pop-up="false"></div>
      <div class="CoveoResultList" data-layout="list" data-wait-animation="fade" data-auto-select-fields-to-include="true">
        <script id="Salesforce" class="result-template" type="text/html" data-layout="list" data-field-filetype="SalesforceItem">
          <div class="coveo-result-frame">
                        <div class="CoveoResultActionsMenu">
                            <div class="CoveoQuickview" data-use-advanced-quickview="true"></div>
                        </div>
                        <div class="coveo-result-cell" style="vertical-align: top;">
                            <div class="coveo-result-row" style="margin-top:0;">
                                <div class="coveo-result-cell" style="vertical-align:top;font-size:16px;">
                                    <span class="badge" data-field="@filetype" style="margin-right:5px; background-color: #03363D; color: white; border-radius: 2px; padding: 2px; font-size: 14px;">Knowledge</span>
                                    <span></span>
                                    <a class="CoveoResultLink"></a>
                                </div>
                            </div>
                            <div class="coveo-result-row" style="">
                                <div class="coveo-result-cell">
                                    <span class="CoveoExcerpt" data-html-value="true"></span>
                                </div>
                            </div>
                            <div class="coveo-result-row">
                                <div class="coveo-result-cell">
                                    <div class="CoveoMissingTerms"></div>
                                </div>
                            </div>
                        </div>
                    </div>
                </script>
        <script id="YouTubeVideo" class="result-template" type="text/html" data-layout="list" data-field-filetype="YouTubeVideo">
          <div class="coveo-result-frame">
                        <div class="CoveoResultActionsMenu">
                            <div class="CoveoAttachResult"></div>
                            <div class="CoveoQuickview" data-use-advanced-quickview="true"></div>
                        </div>
                        <div class="coveo-result-row">
                            <div class="coveo-result-cell">
                                <div class="coveo-result-row">
                                    <div class="coveo-result-cell" style="font-size:16px">
                                        <a class="CoveoResultLink">
                                        </a>
                                    </div>
                                </div>
                                <div class="coveo-result-row" style="margin-top:10px;">
                                    <div class="coveo-result-cell">
                                        <span class="CoveoYouTubeThumbnail">
          </span>
                                    </div>
                                </div>
                                <div class="coveo-result-row" style="margin-top:10px;">
                                    <div class="coveo-result-cell">
                                        <span class="CoveoFieldValue" data-field="@author" data-text-caption="Author" style="margin-right:30px;"></span>
                                        <span class="CoveoFieldValue" data-field="@ytvideoduration" data-helper="timeSpan" data-helper-options-is-milliseconds="false"
                                         data-text-caption="Length" style="margin-right:30px;"></span>
                                        <span class="CoveoFieldValue" data-field="@ytviewcount" data-text-caption="Views" style="margin-right:30px;"></span>
                                        <span class="CoveoFieldValue" data-field="@language" data-text-caption="Language" style="margin-right:30px;"></span>
                                    </div>
                                </div>
                                <div class="coveo-result-row">
                                    <div class="coveo-result-cell">
                                        <div class="CoveoMissingTerms"></div>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                </script>
        <script id="Answer" class="result-template" type="text/html" data-layout="list" data-field-filetype="kb_social_qa_answer">
          <div class="coveo-result-frame">
                        <div class="CoveoResultActionsMenu">
                            <div class="CoveoAttachResult"></div>
                            <div class="CoveoQuickview" data-use-advanced-quickview="true"></div>
                        </div>
                        <div class="coveo-result-cell" style="vertical-align: top;">
                            <div class="coveo-result-row" style="margin-top:0;">
                                <div class="coveo-result-cell" style="vertical-align:top;font-size:16px;">
                                    <span class="CoveoFieldValue badge" data-field="@filetype" style="margin-right:5px; background-color: #03363D; color: white; border-radius: 2px; padding: 2px; font-size: 14px;"
                                     data-helper="translatedCaption"></span>
                                    <span></span>
                                    <a class="CoveoResultLink"></a>
                                </div>
                            </div>
                            <div class="coveo-result-row" style="margin-top:5px;">
                                <div class="coveo-result-cell">
                                    <span class="CoveoFieldValue answer" data-field="@snanswer" data-html-value="true"></span>
                                </div>
                            </div>
                            <div class="coveo-result-row">
                                <div class="coveo-result-cell">
                                    <div class="CoveoMissingTerms"></div>
                                </div>
                            </div>
                        </div>
                    </div>
                </script>
        <script id="Default" class="result-template" type="text/html" data-layout="list">
          <div class="coveo-result-frame">
                        <div class="CoveoResultActionsMenu">
                            <div class="CoveoAttachResult"></div>
                            <div class="CoveoQuickview" data-use-advanced-quickview="true"></div>
                        </div>
                        <div class="coveo-result-cell" style="vertical-align: top;">
                            <div class="coveo-result-row" style="margin-top:0;">
                                <div class="coveo-result-cell" style="vertical-align:top;font-size:16px;">
                                    <span class="CoveoFieldValue badge" data-field="@filetype" style="margin-right:5px; background-color: #03363D; color: white; border-radius: 2px; padding: 2px; font-size: 14px;"
                                     data-helper="translatedCaption"></span>
                                    <span></span>
                                    <a class="CoveoResultLink"></a>
                                </div>
                            </div>
                            <div class="coveo-result-row" style="">
                                <div class="coveo-result-cell">
                                    <span class="CoveoExcerpt" style="font-size: 14px;"></span>
                                </div>
                            </div>
                            <div class="coveo-result-row" style="font-size: 12px;">
                                <div class="coveo-result-cell">
                                    <span class="CoveoFieldValue" data-field="@author" data-text-caption="Author" style="margin-right:10px;"></span>
                                    <span class="CoveoFieldValue" data-field="@source" data-text-caption="Source" style="margin-right:10px;"></span>
                                </div>
                            </div>
                            <div class="coveo-result-row">
                                <div class="coveo-result-cell">
                                    <div class="CoveoMissingTerms"></div>
                                </div>
                            </div>
                        </div>
                    </div>
                </script>
      </div>
      <div class="CoveoPager"></div>
      <div class="CoveoLogo"></div>
    </div>
  </div>
</div>
Recommended Articles