Customer Portal: Proactive Chat

You can offer your customers an invitation to a chat session if they have conducted searches without finding the results they are looking for. You can do this on your customer portal pages, and you can also offer a chat session from any external page on your website.

The following summary of events occurs when a customer accepts a chat offer through the ProactiveChat2 widget or the syndicated ProactiveChat widget.

  • Before the chat is offered to the customer, the chat session routing rules determine what queue the chat request will be directed to based on products, categories, custom fields, and other rule conditions.
  • When the customer accepts the chat request, the chat page that opens contains by default any incident custom fields that have chat visibility. If you have edited the page to add the ability to select products or categories, they will also appear.
  • If the customer changes any of the information on the chat page, that information is passed to the agent on the chat session workspace. However, the rules engine does not run again. As a result, the customer may change a field that would have triggered the chat being assigned to a different queue, but because rules are not run on the updated chat page, the original queue assignment does not change.

Chat sessions are not offered in the following situations:

  • If the customer’s browser does not accept cookies, no chat is offered during the customer session.
  • If the widget looks for a chat queue ten times without finding one, no chat is offered on that page.
  • If a chat is offered (whether or not it is accepted), a cookie is set and no more chat offers are made during the current customer session.
  • If a chat is offered and the customer refuses, a cookie is set and no more chat offers are made for 30 days.

Offering a chat on customer portal pages

You can put the ProactiveChat2 widget on any page. RightNow Chat must be enabled and agents must be available before a chat will be offered to a customer. Additionally, the customer’s browser must be configured to accept cookies.

Important: The default code for the ProactiveChat2 widget will not trigger a chat offer until you add an attribute that defines the trigger for the offer. Therefore, you must add at least one of the following attributes to the code: seconds, searches, or profile attributes. If you do not specify one of these, the widget will not offer a chat session. Alternatively, you can define an event that will trigger a chat offer by creating a custom widget based on the ProactiveChat2 widget.

To add the ProactiveChat2 widget to the Answers page

1. Open the list.php file in the /views/pages/answers folder

2. Locate the following code.

<rn:widget path=”reports/Paginator” />

3. Add the following code immediately after the code you found in step 2.

<rn:widget path=”chat/ProactiveChat2″ />

4. To trigger the chat offer based on the customer’s inactive time on the page, add the seconds attribute to the code, which will resemble the following.

<rn:widget path=”chat/ProactiveChat2″ seconds=”60″ />

5. To trigger the chat offer based on the number of searches the customer conducted, add the searches attribute to the code.

<rn:widget path=”chat/ProactiveChat2″ searches=”3″ />

6. To trigger the chat offer based on the customer’s profile information, including organization, SLAs, and default product and category, refer to the section “Triggering chat offers on profile attributes” on this post.

7. To trigger the chat offer based on an event, refer to the section “Triggering a chat offer by an event” on this post.

8. Save list.php.

Configuring the ProactiveChat2 widget attributes

The default code for the ProactiveChat2 widget will not trigger a chat offer because the default values for the seconds, searches, and profile_ attributes are 0. You must define at least one of these attributes before the chat offer will be triggered.

When one of these attributes has been met, an AJAX request is made to the server, which then sends back the number of available agents and the minimum wait time. If a product or category can be determined through search terms or answers or incidents viewed, the queue ID for that product or category is also returned. This information is then matched against any additional widget attributes.

You can configure any of the following ProactiveChat2 widget attributes

– Chat triggers

  • Number of seconds on page
  • Number of searches conducted
  • Profile attributes (profile_item, profile_operator, and profile_value)

– Display and function

  • The wording of the chat invitation
  • The chat login page that opens when customers accept
  • Whether the chat login page opens in a new window or the same one
  • Attempt to guess product or category

– Chat availability

  • The minimum number of available agents
  • Maximum wait time in queue

Customer Service: Answers – Organizing answers

Through click-track analysis and feedback on answers, your answers are automatically organized. Answer rankings are constantly updated using the solved count value and presented to your customers with the most useful information first. RightNow uses 3 techniques to gather useful information about answers.

  • Explicit customer feedback: By default, the Answers page offers customers a way to rate answers through the “Was this answer helpful?” option. Their responses automatically raise or lower the solved count of answers.
  • Explicit ranking of the answers: You can explicitly rank answers at certain levels in the knowledge base using the Display Position setting. This is often useful when new issues arise.
  • Click-track analysis: RightNow analyses the path each customer takes through the knowledge base. The use and benefits are two-fold:
  1. Answer relatedness: An affinity map is built which relates answers that customers view to other answers viewed during the same visit. Through the SmartAssistant feature, RightNow Service suggests answers to them based on the historical relationships of that answer to other answers in the knowledge base. The suggested answers appear as learned links on the Relationships tab.
  2. Implicit ranking: The click-track data is also used for answer ranking. Each time an answer is viewed by a customer or suggested by an agent, its solved count is increased

The Solved Count feature collects information about the usefulness of answers in your knowledge base and uses this data to rank your answers. Implicit data is compiled by how customers select and view answers. Explicit data is compiled by how customers rate the effectiveness of individual answers. Both long-term and short-term solved counts are used to calculate the score. Solved counts from the customer portal account for 75% of an answer’s score, and agent solved counts for 25 %. Using the solved count values, RightNow can dynamically rank the answers by their usefulness and present customers with the most effective answers first.

An answer’s score value is a calculated value equal to the answer’s solved count combined with any “fix at” positions specified for the answer in the Display Position drop-down menu when adding or editing an answer.

  • Implicit ratings: gathered as customers view answers. If a customer views an answer, the solved count of the 1st answer is increased, but not as much as the 2nd viewed answer. In other words, the answer that the customer views last receives the largest solved count increase. Previously viewed answers receive a smaller increase in their solved counts. The solved count is also increased when an agent uses a SmartAssistant suggested answer when responding to a customer’s question.
  • Explicit ratings: gathered from the response to the question, “Was this answer helpful?”. This question is displayed on the Answers page on the customer portal.

Over time, an unused answer’s solved count will gradually decline or age. For example if an answer has not been viewed for 30 days (the default setting), the solved count will automatically be reduced. The solved count of unused answers also declines at a constant rate over time. Ultimately, if an answer has not been viewed for an extended period of time, the answer’s solved count can reach zero.

When an answer’s solved count reaches zero, this usually means that the answer has not been viewed for a long time, and it is safe to assume that the information may be outdated or not useful. By default, these aged answers are automatically set to the Review status when their solved count reaches zero. This enables you to easily sort the outdated answers and update them.

When a customer submits comments or suggestions from the feedback form, an unresolved incident is automatically created.

Customer Service: Answers – Seeding knowledge base

Customers use your site to find answers to their questions about the services and products your organization provides. To assist your customers in finding the information they are looking for, you can create answers to common questions and post them on your customer portal. As a result, you are able to provide a better customer experience because your customers are able to quickly find the answers to their questions.

You can format answers to include links, tables, graphics, and other features, making your support site more interactive and visually appealing. In addition, RightNow provides you with a revolutionary method of knowledge base management that enables you to overcome the critical problems associated with a manually constructed knowledge base.

Maintenance of your knowledge base is minimized because of automated processes that learn from customers using your site, then automatically rank answers and display the most useful answers first.

Seeding the knowledge base

RightNow ability to start with only 15 to 20 answers eliminates the need for a comprehensive initial knowledge set, which significantly speeds and simplifies the implementation. Most organizations can build their initial seed from existing online questions and answers, documents, or customer support interactions.

RightNow Propose Answer feature enables agents to suggest that certain incidents become public answers, allowing you to seamlessly create public answers from the real issues that your customers are facing (agents must have Propose permission in their profile).

Creating useful answers will enhance the search process for customers, allowing them to find pertinent information quickly without needing to do multiple searches. A knowledge base containing well-crafted answers will also optimize the self-learning features of RightNow that continually index, group, link, and rank the answers in the knowledge base.

These self-learning features are the backbone of self-service, enabling you to present the most historically useful answers first and to suggest answers related to the customer’s current question. In addition, effective answers will make your maintenance tasks easier as information ages and changes.

Use the following guidelines to create clear, focused answers:

  • Create one-topic answers: Think of each public answer in your knowledge base as one topic or the answer to one question. One-topic answers improve searching and grouping, which enable customers to easily find answers. One-topic answers provide brief, pertinent information without clutter. A knowledge base of unique answers also simplifies management and maintenance.
  • Provide adequate detail: Because RightNow indexes the text of the Summary, Question, and Answer fields into words and phrases for text searching and answer grouping, answers should contain an adequate amount of text that explains the issue. With limited text, there are very few indexed words for the answer, and the words that are indexed cannot fully represent the context of the answer. As a result, the answer may be difficult to find during text searching. With too much text (over two pages), you run the risk of writing about several topics and covering too broad of a context. The resulting set of indexed words may not span the entire text of the answer. In effect, the answer can be found during dissimilar searches in which that answer is not relevant.
  • Write a concise summary: The quality of the summary, meaning how closely it summarizes the contents of an answer, is critical to the effectiveness of the answer and affects its display position, how it links to related answers, and how it is grouped with similar answers. On the Answers page, customers will choose to open and read or skip over an answer based on the summary. Without a concise summary, customers may not open the answer, which directly impacts its display position and how it is linked with other answers. The summary should state what the customer can expect to learn by reading the answer or what question will be answered.
  • Create explicit keywords: Sometimes, you may not be able to capture the entire contents of an answer in the one-sentence summary. The Keyword field is an additional field, not viewable by customers, used during keyword indexing of an answer. You can enter supplemental keywords, phrases, or text that represents the answer’s contents. Keywords should be separated by commas, with grouped words separated by spaces (for example, “cell phones, calling plans, accessories”). You should be deliberate with the words you enter because they are weighted higher. Be sure to include a thorough, yet concise section of keywords.

When you publish answers, you make them available to the public on your customer portal. Answers can be either public or private, as well as have specific visibility settings for each interface or for contacts based on access levels defined in their SLAs.

Whether answers are visible on your customer portal is determined by what you specify in certain fields. The five key fields that determine how and where answers are presented are Answer Status, Answer Access Level, Language, Products and Categories, and Conditional Sections.

In order for answers to appear on the customer portal, the Status, Access Level, Language, Product, and Category fields must be set to a visibility that allows access by customers. If even one field does not allow visibility, the answer will not be available on the customer portal.

In addition, if you have sections within an answer with restricted visibility, that section must be assigned an access level associated with the answer. The five fields that control answer visibility are described in detail below.

  • Answer status: The primary factor that determines the visibility of answers is answer status. There can be many custom answer statuses, but all must be either a Public or Private status type, which is determined when the custom status is created. Answers set to a status that has a Private status type can never be viewed on the customer portal, regardless of their access or language assignment. Public answers may be viewable through the customer portal, depending on the other fields selected. Two of the default answer statuses are Review and Proposed, both of which have a Private status type. When agents propose an incident to become an answer, it is copied and set to the Proposed status with an access level of Everyone. Since the Proposed status is a Private status type, the answer will not be visible to customers. An answer changes to the Review status when its solved count reaches zero or when the date specified when adding or editing an answer is reached. The Review status will automatically remove the answer from the customer portal.
  • Answer access level: Access levels determine whether customers can view answers on a per-interface basis. If an answer is set to an access level that has customer visibility on one of the interfaces, then that answer is viewable by everyone on that interface, provided the remaining fields also allow visibility. If an access level does not provide visibility to customers for a certain interface, access can still be given to specific contacts by assigning them SLAs that allow privileged access. One of the default access levels for answers is Everyone. This access level allows all customers to have access to the answer on all interfaces (Example of other Access Levels: Platinum, Gold, Silver).
  • Language: Answer visibility is also determined by the language assigned to it. If assigned to a specific language, an answer will only be visible on the interfaces using that language, as long as the answer status and access level also allow visibility.
  • Products and categories: The visibility settings for the products and categories associated with the answer will also affect the visibility. If the answer is assigned to a product or category that is not visible to customers on a particular interface, the answer will also not be visible to customers, unless it is assigned to another product or category that is visible on the interface. In other words, if you have an answer that is assigned to two products, and one of the products is not visible on the interface, but the other product is, your answer will appear on the interface. However, if the answer is assigned to two products, and neither product is visible on the interface, your answer will not appear on the interface under any circumstances.
  • Conditional sections: Conditional sections help control visibility of certain sections within an answer. If a section of the answer is assigned an access level that is not visible to customers on a particular interface, but the answer is visible, then customers are able to view the answer but not the conditional section.

Customer Portal: Intent Guide

The RightNow Intent Guide uses natural language searching to return results that guide customers directly to the information they need. Using best-in-class semantic search technology combined with industry-specific linguistic dictionaries and advanced algorithms, your customers’ questions are matched to the most relevant content to deliver the right answers immediately.

The CombinedSearchResults widget used with Intent Guide can return not only the search results from natural language searching, but also answers from your knowledge base and posts from RightNow Community.

Intent Guide searches do not support the use of wildcards. As a result, although wildcard searching may return results from the knowledge base and community posts, it will not return Intent Guide search results unless the wildcard character is part of the answer.

Configuring Intent Guide

Before you begin editing customer portal pages for Intent Guide, you’ll first need to define Intent Guide configuration settings.

1. Log in to RightNow CX
2. Click the Configuration button on the navigation pane
3. Double-click Configuration Settings under Site Configuration
4. Click RightNow Common
5. Click INTENT_GUIDE_ENABLED under RightNow Intent Guide > General
6. Select the Yes radio button, click Update, and then click Commit and Exit

(Click to enlarge)
(Click to enlarge)

Important: Additional setup is required to implement Intent Guide on your site. Contact your Oracle RightNow account manager to schedule this work.

7. To change the URL of the page that displays an Intent Guide answer from the default answers/intent, change the value of CP_INTENT_GUIDE_URL.
a. Click RightNow User Interface
b. Select CP_INTENT_GUIDE_URL under Customer Portal > Pages
c. Type the page name in the Value field
d. Click Update
8. Click Commit and Exit

(Click to enlarge)
(Click to enlarge)

Overview of Intent Guide on the customer portal

By default, Intent Guide is not configured as part of the customer portal reference implementation. However, a default intent.php file is included in the standard and mobile page sets to display individual Intent Guide answers that appear in the search results. Two widgets – IntentGuideDisplay and CombinedSearchResults – are also included among the standard widgets.

Note: If your Oracle RightNow account manager has implemented Intent Guide on your site and you have configured the site, you can modify the customer portal pages to take advantage of the feature.

Intent Guide search results may link to absolute URLs as well as answers in your knowledge base. Duplicate answers returned in both the knowledge base results and Intent Guide results are removed from the knowledge base results.

Note: When answers created on the Intent Guide site reference answers in the RightNow CX knowledge base, duplicate answers are removed only when the RightNow CX answers are referenced by their answer IDs. If the Intent Guide answers use URLs to reference RightNow CX answers, the customer portal page will display duplicate search results.

Note: Knowledge base answers displayed in the Intent Guide results section of the page are not checked for status, so all relevant answers are displayed with a link. If customers click a link for a private answer in the Intent Guide search results, they will not be able to view the answer. Answer IDs are not validated, so Intent Guide results that point to invalid answers in the RightNow CX knowledge base will still appear as links on the page.

Answer types that are not supported in Intent Guide include SQL, XML, action, JavaScript, and local URL. These answers will be stripped from the result set before being displayed.

To use Intent Guide, you’ll edit the Answers page (or the answers list page on the mobile implementation) to display Intent Guide search results. Instead of displaying individual answers on the answers/detail page, the customer portal displays them on the answers/intent page that is called when Intent Guide is used.

When Intent Guide is enabled and the standard Answers page is edited, the search results are displayed by the CombinedSearchResults widget and resemble the following figure.

The Intent Guide results may display a Similar Questions link. When customers click the link, a screen similar to the following figure appears.

Selecting an individual answer results in a display that resembles the following figure. This answer is displayed using the IntentGuideDisplay widget on the answers/intent.php page.

Adding Intent Guide functionality to standard pages

The following steps provide an overview of customer portal changes required to use Intent Guide

Step 1: Remove the AdvancedSearchDialog from the Support Home page. Since the search results from Intent Guide and the Community cannot use advanced search filters, we recommend removing them from the page to avoid confusion for your customers. The search field now appears without the Advanced Search link.

1. Open the home.php file in the /views/pages folder.
2. Delete the following line of code:

<rn:widget path=”search/AdvancedSearchDialog” report_page_url=”/app/answers/list” show_confirm_button_in_dialog=”true”/>

3. Save home.php.

Step 2: You may want to edit the CSS file to minimize the blank space above the search field after the Advanced Search link has been removed

1. Open the site.css file in the /euf/assets/themes/standard folder.
2. Locate the following code, which begins around line 409.

#rn_SearchControls form input[type=”submit”],
#rn_SearchControls form input[type=”image”] {
margin:1.3em 0 0 1.3em;
padding:.4em 1em;

3. Edit the code you located in step 2 so it matches the following.

#rn_SearchControls form input[type=”submit”],
#rn_SearchControls form input[type=”image”] {
margin:0 0 0 15px;
padding:7px 14px;
*padding: 4px 14px; /*IE6/7*/

4. Locate the following code, which begins around line 437.

#rn_SearchControls .rn_SearchInput label {
*bottom:-50px !important;
*position:relative !important;

5. Edit the code you located in step 4 to remove the star-prefixed rules so the code matches the following.

#rn_SearchControls .rn_SearchInput label {

6. Save site.css.

Step 3: Edit the Answers page to remove the AdvancedSearchDialog widget as you did on the Support Home page. Then you’ll replace the Multiline2 report widget, which displays standard search results, with the CombinedSearchResults widget, which displays results from Intent Guide, the knowledge base, and community posts. You’ll add an attribute to the ResultInfo2 attribute to display results from the combined search.

To edit the Answers page for Intent Guide:

1. Open the list.php file in the /views/pages/answers folder.
2. Delete the following line of code:

<rn:widget path=”search/AdvancedSearchDialog” show_confirm_button_in_dialog=”true”/>

3. Locate the following line of code:

<rn:widget path=”reports/Multiline2″/>

4. Replace the code you located in step 3 with the following:

<rn:widget path=”search/CombinedSearchResults”/>

5. To prevent the display of one or more types of results, perform one or more of the following actions.
a. To prevent the display of knowledge base answers, click here.
b. To prevent the display of Intent Guide results, add intent_guide_results=”0″ to the code you added in step 4.
c. To prevent the display of community posts, add social_results=”0″ to the code you added in step 4.

6. Locate the following line of code:

<rn:widget path=”reports/ResultInfo2″ add_params_to_url=”p,c”/>

7. Add the combined_results attribute to the ResultInfo2 code you located in step 6. If you want to display all the search results, set the attribute value to “all” as in the following code.

<rn:widget path=”reports/ResultInfo2″ add_params_to_url=”p,c” combined_results=”all”/>

8. Save list.php.

To prevent the display of knowledge base results:

Note: This procedure assumes you have already replaced the Multiline2 widget with the CombinedSearchResults widget as described in the steps before.

1. Open the list.php file in the /views/pages/answers folder.
2. Locate the following line of code.

<rn:widget path=”search/CombinedSearchResults”/>

3. Add the display_knowledgebase_results attribute to the code and set its value to false so your code looks like the following.

<rn:widget path=”search/CombinedSearchResults” display_knowledgebase_results=”false” />

4. Delete the following line of code.

<rn:widget path=”reports/Paginator”/>

5. Locate the following line of code.

<rn:widget path=”reports/ResultInfo2″ add_params_to_url=”p,c”/>

6. Add the display_knowledgebase_results attribute to the ResultInfo2 widget as you did to the CombinedSearchResults. Also add the label_results attribute to the code to change the Results label. (The default value is similar to “Results 1 – 10 of 45,” while this edited version displays “Results 1 – 10.”)

<rn:widget path=”reports/ResultInfo2″ add_params_to_url=”p,c” display_knowledgebase_results=”false” label_results=”Results %d – %d” />

7. Save list.php.