--- title: 'Before you begin: Identify the requirements' slug: m1kf5061 canonical_url: https://docs.coveo.com/en/m1kf5061/ collection: service source_format: adoc --- # Before you begin: Identify the requirements Before you begin, you must have the required information to configure the Coveo Case Assist solution. This article guides you through the steps to identify the requirements for your case creation experience. ## Step 1: Define the content of your form The first step to creating a seamless case creation experience is to define your case creation flow. Even if you start from an existing flow, make sure to review the content of your case creation form. It's also good practice to talk to your Support team to determine the type of information that's considered most useful for resolving cases. ![Case creation form | Coveo Case Assist](https://docs.coveo.com/en/assets/images/coveo-customer-service/case-creation-form.png) When designing your form, determine the type of information you'll need the end user to provide in order to consider a case complete. Common required inputs are: * Issue title or short summary * Issue description * Product or feature related to the issue * Issue category * Specific identification information (for example, serial number) * File upload option * Priority level > **Leading practice** > > Make a list of all the required inputs for your form and classify each entry as mandatory or optional. It's also good practice to list the form elements you plan to use, as well as the character limitations (see [Design your form](https://docs.coveo.com/en/m1lb3446#what-are-the-best-form-elements-to-use)). **Example** [%header,cols=5*] |=== |Required information |Description |Mandatory or optional |Form element |Character limitations (if applicable) |Title |Provides a short summary of the issue. |Mandatory |Text input |255 characters |Description |Provides details about the issue. |Mandatory |Text input |32K characters |Product related to the issue |Lists products related to the issue |Mandatory |Selection | |=== > **Note** > > Keep in mind that the more information you request, the more effort you request from the user as well. > Try to keep the required information to a minimum. ## Step 2: Identify the functionalities you want to use Coveo Case Assist supports the functionalities documented in this section. Determine which ones you want to use. ### Document Suggestion Automatically suggests documents that are relevant to the case that's being filled by the end user. This functionality aims to augment [case deflection](https://docs.coveo.com/en/2911/) by potentially resolving a customer's case before it's submitted. ![Interface displaying document suggestions | Coveo Case Assist](https://docs.coveo.com/en/assets/images/coveo-customer-service/document-suggestions-on-separate-page.png) ### Case Classification Automatically suggests classifications that relate to the case that's being filled by the end user. This functionality helps end users select the right classification values when creating a case. ![Interface displaying case classification categories | Coveo Case Assist](https://docs.coveo.com/en/assets/images/coveo-customer-service/case-classification.png) ## Step 3: Identify the prerequisites for your configuration Once you have determined if you want to use either one or both functionalities, it's important to identify the prerequisites for each of the following configurations. * [Document Suggestion](#document-suggestion-2) * [Case Classification](#case-classification-2) ### Document Suggestion Follow the guidelines in this section to ensure you have the required information to [configure the **Document Suggestion** functionality](https://docs.coveo.com/en/3328#configuring-the-document-suggestion-functionality). #### Define the content to display When implementing the **Document Suggestion** functionality, it's important to first define the content you want to display to your users. Begin by making a list. Common content to display: * Public documentation of any sort (for example, text documents, web pages, and videos) * Knowledge articles * Community posts * FAQs #### Define the information to present Next, you must define the information you want to present for each type of document. Common information to present: * Title * Description * Creation or modification date * Document type * Language * Video duration > **Leading practice** > > Make a list of all the content you want to display and of all the information you want to present. > **Note** > > You'll need to know the name of the [fields](https://docs.coveo.com/en/200/) that are associated to the information you want to display. > To determine the name of a field, access the [**Content Browser**](https://platform.cloud.coveo.com/admin/#/orgid/content/browser/) ([platform-ca](https://platform-ca.cloud.coveo.com/admin/#/orgid/content/browser/) | [platform-eu](https://platform-eu.cloud.coveo.com/admin/#/orgid/content/browser/) | [platform-au](https://platform-au.cloud.coveo.com/admin/#/orgid/content/browser/)) (see [Review item properties](https://docs.coveo.com/en/1712/)). **Example** To display a YouTube video or a Knowledge article, you would typically need the following information. [%header,cols=3*] |=== | Content to display | Information to present | Field name .4+| YouTube video | Title of video | `title` | Description | `summary` | Thumbnail | `ytthumbnailurl` | View count | `ytviewcount` .4+| Knowledge article | Title | `sftitle` | Excerpt | `sfsummary` | Last update date | `sflastmodifieddate` | Author | `sflastmodifiedbyid` |=== #### Verify if the index must be updated From the list you created in the previous section, use the [**Content Browser**](https://platform.cloud.coveo.com/admin/#/orgid/content/browser/) ([platform-ca](https://platform-ca.cloud.coveo.com/admin/#/orgid/content/browser/) | [platform-eu](https://platform-eu.cloud.coveo.com/admin/#/orgid/content/browser/) | [platform-au](https://platform-au.cloud.coveo.com/admin/#/orgid/content/browser/)) to validate if all the information is in your Coveo [index](https://docs.coveo.com/en/204/). If it isn't, [update your sources](https://docs.coveo.com/en/1933/). #### Refine the items to filter To configure **Document Suggestion**, you must create an [Automatic Relevance Tuning (ART)](https://docs.coveo.com/en/1013/) [model](https://docs.coveo.com/en/1012/) with the ITD option configured as specified in the article [Configure an Automatic Relevance Tuning model for Case Deflection or Case Assist Document Suggestions](https://docs.coveo.com/en/lc8b0514/). This model must also be [associated with the query pipeline](https://docs.coveo.com/en/l1ca1038/) dedicated to the Case Assist configuration you're creating. Optionally, you can also specify [query expressions](https://docs.coveo.com/en/2830/) (using the [query syntax](https://docs.coveo.com/en/1552/)) to refine the items that should be suggested by the **Document Suggestion** functionality (see [Define the Content to Display](#define-the-content-to-display)). Common filter examples: * `@objecttype==Troubleshooting` * `@objecttype==Knowledge` * `@objecttype==CommunityPost` * `@objecttype==FAQ` ### Case Classification Follow the guidelines in this section to ensure you have the required information to [configure the **Case Classification** functionality](https://docs.coveo.com/en/3328#configuring-the-case-classification-functionality). #### Identify the Case Classification method to use To configure [Case Classification](https://docs.coveo.com/en/m4596348/), first select a Case Classification method. This method determines how classification suggestions are generated. The available options are: * **Case Similarity** (Default) identifies cases similar to the one being written based on common vocabulary. The most common classifications from similar cases are suggested as classifications for the current case (see [Generate classification suggestions based on case similarity](https://docs.coveo.com/en/3328#generate-classification-suggestions-based-on-case-similarity)). This method is ideal when dealing with support cases that contain very little text (8 words or less). * **Context Recognition** leverages natural language processing (NLP) techniques and a deep learning algorithm that takes into account common vocabulary, contextual nuances, and key concepts of the case description. Increasingly relevant classifications are provided over time (see [Generate classification suggestions based on context recognition](https://docs.coveo.com/en/3328#generate-classification-suggestions-based-on-context-recognition)). This method is ideal when dealing with larger support cases (8 words or more). #### Create a Case Classification model If you choose to generate Case Classification suggestions based on **Context Recognition**, you must [create a Case Classification Model](https://docs.coveo.com/en/l57f1282#create-a-cc-model). To create this model, make sure that the support cases you want to use to train the model have [enough data in the training fields](https://docs.coveo.com/en/l57f1282#enough-data-in-the-training-fields) and [enough classified support cases](https://docs.coveo.com/en/l57f1282#enough-classified-support-cases). You will also need to specify: * The [sources](https://docs.coveo.com/en/246/) that contain the support cases from which the model should build its training. * The period of time for which the model should learn support cases from. * The index field that corresponds to the case's unique identifier (for example, `sfcasenumber`). * The case's fields that the model should use for its learning process (see [Define the Content and Fields Required to Train the Machine Learning Model](#define-the-content-and-fields-required-to-train-the-machine-learning-model)). * The fields the model should provide predictions for (see [Define the Fields Machine Learning Should Learn to Classify Cases](#define-the-fields-machine-learning-should-learn-to-classify-cases)). #### Define the content and fields required to train the machine learning model To predict categories, the **Case Classification** functionality learns from support cases that have been correctly classified to provide classification suggestions on cases that haven't yet been classified. You'll need to both identify the document type that corresponds to cases in your Coveo index (for example, `sfcase` for Salesforce), as well as the fields that contain the most distinctive language about a case (typically, `subject`, `description`, and `resolution`). This is the information that the [Case Classification model](https://docs.coveo.com/en/l57e0557/) will use to train. > **Leading practice** > > Make a list of all the fields that need to be indexed. > **Note** > > Use the [**Properties**](https://docs.coveo.com/en/1712/) button in the [**Content Browser**](https://platform.cloud.coveo.com/admin/#/orgid/content/browser/) ([platform-ca](https://platform-ca.cloud.coveo.com/admin/#/orgid/content/browser/) | [platform-eu](https://platform-eu.cloud.coveo.com/admin/#/orgid/content/browser/) | [platform-au](https://platform-au.cloud.coveo.com/admin/#/orgid/content/browser/)) to access the list of fields for a given document type. **Example** To index a case in Salesforce, you will typically want to index the following fields. [%header,cols=3*] |=== |Object or document type for cases |Required information |Field name |`sfcase` |Title (mandatory) |`sftitle` | |Description (mandatory) |`sfdescription` | |Creation date (mandatory) | `date` |=== #### Define the fields machine learning should learn to classify cases All categories that you want **Case Classification** to predict must fit the following requirements: * The category must correspond to a field indexed on cases in Coveo. You can use the [**Content Browser**](https://platform.cloud.coveo.com/admin/#/orgid/content/browser/) ([platform-ca](https://platform-ca.cloud.coveo.com/admin/#/orgid/content/browser/) | [platform-eu](https://platform-eu.cloud.coveo.com/admin/#/orgid/content/browser/) | [platform-au](https://platform-au.cloud.coveo.com/admin/#/orgid/content/browser/)) to validate that a field has been correctly indexed in Coveo. * There should be at least two possible values for a given field. Otherwise, no prediction is possible since only one answer is possible. * There should be at least 500 cases for each given value that you want the model to predict confidently. > **Leading practice** > > Make a list of the fields you want to predict and add these to the list you started in the previous section. **Example** [%header,cols=3*] |=== |Object or document type for cases |Required information |Field name |`sfcase` |Title (mandatory) |`sftitle` | |Description (mandatory) |`sfdescription` | |Creation date (mandatory) |`date` | |Field to predict |`sfreason` | |Field to predict |`sftype` |=== > **Note** > > You should now have all the fields necessary for **Case Classification** to work. Make sure to index all the fields you recorded.