Customizing the AttachToCase for the Coveo Insight Panel Classic Component

The AttachToCase result action lets you attach any type of results to a Salesforce Case.

When a user clicks on Attach or on its icon Attach, a record of type AttachedResult is created and linked to the current case.

The AttachedResult object is installed with Coveo for Salesforce, and contains the Case, URL, Title, Source, and UriHash fields by default. You can use those fields in your case layout to have more information about the results attached to that case.

However, you might want to add your own fields to the AttachedResults object, so that you can display them in your case layout. To do so, follow these steps.

Adding fields to the AttachedResults object

  1. In Salesforce, in Setup, search for and select Objects (Build > Create > Objects).

  2. Under Custom Objects, select Attached Result.

  3. In Custom Fields & Relationships, select New, and create your custom field.


    Take note of its API Name, as you will be needing it.

  4. Access your Coveo Insight Panel Classic Component, and then select Customize Panel.

  5. Access your page code by selecting the Code View tab at the top of the page, or by checking the Advanced Mode box and selecting the Code tab for earlier versions.

  6. In your page, in a script tag, add the following code. Make sure to change myCustomFieldC and myCustomField2C with the API Name of your field.

     $("#search").on(Coveo.UserActionEvents.attachToCase, function(e, arg) {
       arg.dataToAttach.customs["myCustomField__C"] = "myCustomValue"; // You can use static values
       arg.dataToAttach.customs["myCustomField2__C"] = arg.result.myValue; // Or use value from one of your result field

    The arg variable contains two objects:

    • dataToAttach contains the default data that will be added to the new AttachedResult object.

    • result contains additional data about the current result.

  7. Click Save.

  8. Ensure that your custom field is displayed in your console Case Layout (see Edit Page Layouts for Standard Objects).