Articles in this section

Configure Salesforce for Forethought Triage

Overview

Mature support organizations often face the challenge of time-consuming yet vital ticket triage processes. These processes typically require the most experienced representatives to perform the task, which can be both costly and inefficient.

Core Use Cases of Triage

  1. Case Routing: Sending the right ticket to the competent agent or department can drastically reduce First Response Time and triage Overhead.
  2. Triage for Product Feedback Loop: When Product teams struggle to understand where issues come from and where they should focus their efforts, triage can provide valuable insights.
  3. SPAM Detection: SPAM tickets can clog queues and represent a threat to the teams, making SPAM detection a crucial aspect of triage.
  4. Case Escalation: Preemptive escalation of tickets can help avoid costs due to missed SLAs.

Forethought excels at automating triage, sometimes beyond human accuracy levels. By training a custom model on the customer's historical data, Forethought can provide a highly accurate and efficient solution for ticket triage. However, this approach assumes that the customer has been performing triage manually for long enough and with enough volume for the automation to be feasible and relevant.

To learn more about best practices around AI and your business workflow, consider reading this article.

Technical Overview

This article will guide you through setting up your Salesforce Instance for Triage.

Pre-requisite: If you are a new customer, make sure to have completed the Salesforce pre-installation guide. 

Note: This process needs to be set only once per object class, even if multiple Triage models are running on it.

The general flow is the following:

  1. A case is created in Salesforce.
  2. A Salesforce workflow rule detects the new case and triggers a Salesforce Outbound Message.
  3. The Salesforce Outbound Message sends the relevant information to Forethought.
  4. Forethought analyzes the data and generates a prediction, which it writes back to a custom field in the object.
  5. The Dashboard provides insights on the accuracy of the predictions by comparing the predicted value to the final user value.

Step 1: Initial setup 

Create Outbound message

  1. Name: Forethought Outbound Message
  2. Unique Name: Forethought_Outbound_Message
  3. Description: "Sends a message to Forethought API every time a case is created in order to make predictions. This outbound message is called by the workflow rule of the same name."
  4. Endpoint URL: https://app.forethought.ai/salesforce/case-created
  5. User to send as: Look for "Forethought user" or "Agatha". You should have a dedicated user for Forethought already set up
  6. Send Session ID: True
  7. Case Fields to send: id

  8. Click Save > Done.
  9. This will bring you back to the Workflow rule.
  10. Click the Activate button.

Create flow rules

  1. Go to Salesforce Setup > Flows.
  2. Click > New flow > Record-Triggered Flow
  3. Object: Case
  4. Configure Trigger: A record is created
  5. Optimize the Flow for: Actions and Related Records
  6. Click Done.
  7. You will see a flow chart like this:
    Screen Shot 2023-01-05 at 3.27.35 PM.png
  8. Click the "+"  button below "Run Immediately".

    Screen Shot 2023-01-05 at 3.50.01 PM.png
  9. Click Action from "Interaction".
  10. In the new action window, select Outbound Message.
  11. Select Forethought Outbound Message.
  12. Fill the Label "ft_outbound_msg".
    Screen Shot 2023-01-05 at 5.01.44 PM (1).png
  13. Click Done. You will see a flow chart like this:
    Screen Shot 2023-01-05 at 5.02.56 PM.png
  14. At the top-right corner, click Save.
  15. Fill the Flow Label name "Case_Creation".
    Screen Shot 2023-01-05 at 3.52.01 PM.png
  16. Click Activate.
  17. A flow is created and activated!

Migrate workflow rules to flow rules

  1. Go to Salesforce Setup > Migrate to flow.
  2. Select Case Create workflow.
  3. At the top-right corner, click Migrate to Flow.
    Screen Shot 2023-01-05 at 3.56.41 PM.png
  4. Click Test in Flow Builder to verify (visual inspection).
  5. Go back to the previous page and click Switch Activations (this step is important because it deactivates the workflow and activates the flow)

    Note: This step is important because it deactivates the workflow and activates the flow.

Remove a flow

  1. Go to Salesforce Setup > Flows.
  2. Click the drop-down button on the right side of the flow you want to remove.
  3. Click View Details and Versions.
  4. Click Deactivate under flow versions.
    Screen Shot 2023-01-05 at 3.55.58 PM.png
  5. Click Delete in flow detail.

 

Step 2: Notify Forethought

Once you are done with the initial set-up, please notify your Forethought team with the following information:

Workflow rule + outbound message created & active: yes/no
Model name: e.g. "SPAM filter", "category-subcategory", "Escalation"
Field to read from: e.g. Is_Spam__c, the field you are currently using.
Field to write to: e.g. Forethought_Spam_Predicted__c
(refer to "Final Implementation")
I have verified that the Forethought user has full write
access to that field, for any case type: Yes/No

 

Step 3: Model Training & Observation Phase

Now that you are set, Forethought will begin training an AI model using your historical dataset. Once the model is deployed, it will automatically write predictions to the designated "Field to write to" every time a new case is created.

Since this field is specifically designed for Forethought predictions, it will not impact your workflow during this initial phase, which we refer to as the "silent deployment phase". This phase allows us to monitor the model's accuracy without disrupting existing processes.

When you are satisfied with the model's performance, you can implement the final business rules outlined below. These rules will enable the system to triage, route, or classify cases as SPAM effectively.

Note: You have full control over the predictions, and you can disable the workflow mechanism or the outbound message at any time without needing assistance from Forethought

 

Step 4: Final Implementation (per use-case)

SPAM detection

Field to read from: e.g. Is_spam__c
Field to write to: Forethought_Spam_Predicted

We suggest implementing the following logic, after an observation phase of the model's accuracy:

  • When Forethought predicts that a case is a SPAM (Writes Forethought_Spam_Predicted = SPAM),
    • A workflow sets your current "Is_spam__c*" = SPAM
    • This sends the ticket to a SPAM Queue
    • An email is sent to the user, mentioning that her/his request was classified as such and that they can respond to this notification to re-open the case, if a mistake was made.
  • If the user responded to a mistakenly classified SPAM:
    • A workflow triggers "Is_spam__c" = "Not SPAM"
    • This should surface the case back out to the right queue.
    • Forethought Dashboard will measure this as an inaccurate prediction (Is_spam__c <> Forethought_Spam_Predicted)
  • If an agent audits the SPAM queue and finds a misclassification:
    • They will set "Is_spam__c" = "Not SPAM", which will trigger the same mechanism as above.
Was this article helpful?
1 out of 1 found this helpful

Support

  • Need help?

    Click here to submit a support request. We are here to assist you.

  • Business hours

    Monday to Friday 8am - 5pm PST excluding US holidays

  • Contact us

    support@forethought.ai