Skip to main content
CSAT and NPS surveys

Adding the survey to HaloPSA e-mails

Build the row of faces that goes into a HaloPSA e-mail template, check that a ticket's survey link will open, place the snippet in HaloPSA and fix survey links that fail.

Written By Chris Scaminaci

Last updated About 2 hours ago

The e-mail snippet is a block of HTML that shows a row of faces in an e-mail. You paste it into a HaloPSA e-mail template. When a customer selects a face, the survey opens with that face already chosen. The Email Snippets tab of CSAT Administration builds the snippet and checks that it will work. Administrators use it.

QuantumOps does not send a survey when a ticket closes. The snippet in your HaloPSA template is what reaches customers. The Trigger Rules tab sends nothing.

Before you start: you need the Administrator role, and the CSAT & Surveys module must be on. You also need permission in HaloPSA to edit e-mail templates. Check the CSAT Surveys and On-Demand Generation settings on the Survey Config tab, because a snippet cannot start a survey while either is off. See Survey settings, tags and the survey page.

The Readiness panel lists everything that decides whether a click on a face opens a survey. Next to its heading, a label reads Ready, or the number of things to fix. Anything that stops links working is listed at the top in red. Select Recheck to read the settings again after you change something.

RowWhat it shows
CSAT surveysWhether surveys are on for the tenant default scope.
On-demand generationWhether a click can create a ticket's survey.
Survey base URLThe address that links start with, and where it comes from.
FacesThe face count, the theme, and whether faces or numbers are shown.
Links close afterHow many days a survey link stays open.
Surveys per ticketThe most surveys a ticket can have.
White-label clientsEach client, with its surveys on or off.
Excluded from AITicket types and clients that QuantumOps does not store. Their survey links still work, because the survey reads the ticket from HaloPSA.
Review linkWhether the public review link is on.
Link problemsHow many links failed in the last 7 days.

Test a ticket

Test a ticket tells you whether the survey link of a real ticket would open, and if not, why. It runs the same check as a customer's click and creates nothing.

  1. In Test a ticket, enter the HaloPSA ticket number. Use digits only.
  2. Select Test, or press Enter.
  3. Read the result:
    • A survey would open. The ticket either has an open survey that the link reuses, or the first click creates a new one.
    • The customer would see Already Submitted. The ticket's survey has been answered.
    • No survey would open. The result names the problem, shows what the customer would see and says how to fix it.

Below the headline, a list of notes explains each step of the check. Use Test a ticket on a real closed ticket after you place the snippet.

Choose the faces

Under Faces, set what customers see.

  1. Next to Faces shown, select 3 faces or 5 faces. The rating is always 1 to 5. Three faces carry 1, 3 and 5. Five faces carry 1 to 5.
  2. Select a theme card: Standard, Winter, Summer, Fall or Holiday. Each card shows the faces of the survey page and the face images of an e-mail.
  3. Select Save faces to Survey Config. This saves the face count and the theme to the tenant default settings. They match Face Count and Face Theme on the Survey Config tab. A white-label client with its own survey settings keeps its own faces; change those on the Survey Config tab.

A label reads Not saved while your choice differs from the saved one. A warning above the snippet says the same. Save first, so that the e-mail and the survey page show the same faces.

The theme colours the faces on the survey page and the face images of an image e-mail. An e-mail with emoji looks the same in every theme, because the customer's mail app draws the emoji.

Custom faces

The Custom card is marked Not available. If you select it, a Custom faces section lets you pick an SVG file for each of the five faces, up to 100 KB each. QuantumOps checks each file and removes scripts and links to other sites. It does not save the files. Apply custom faces stays switched off, so you cannot use a custom set yet.

Build the snippet

Under E-mail snippet:

  1. Choose the Template. Resolved (ticket closed) is a full card with a heading, for the e-mail that you send when a ticket closes. Reply (compact) is a smaller block for the e-mails that agents send in reply.
  2. Choose Faces in the e-mail. Emoji (recommended) needs nothing hosted and shows in every mail app. Images (PNG) loads picture files from your survey base URL. That address must be reachable from the internet, and some mail apps hide remote images until the reader allows them.
  3. Check Survey base URL. It starts with the address from the Readiness panel.
  4. Write the Question in the e-mail. It shows above the faces. The survey page asks the question from Survey Config.
  5. Check the two previews: the e-mail, with a sample ticket, and the faces of the survey page.
  6. Select Copy HTML under Generated HTML.

The preview and the HTML follow every change. The tab remembers your template, face type, address and question the next time you open it.

Three faces are labelled Not Satisfied, Neutral and Very Satisfied. Five faces are labelled Very Dissatisfied, Dissatisfied, Neutral, Satisfied and Very Satisfied.

Place the snippet in HaloPSA

The snippet contains $FAULTID where the ticket number goes. HaloPSA fills that in when it sends an e-mail from one of its e-mail templates. It does not fill it in anywhere else, so paste the snippet only into an e-mail template.

  1. Copy the Resolved (ticket closed) snippet.
  2. In HaloPSA, go to Configuration → Email → Email Templates and open Ticket Closed, or the template that your closure e-mails use.
  3. Switch the editor to its code or HTML view. Pasting into the visual editor turns the HTML into text.
  4. Paste the snippet at the bottom of the template body and save.
  5. Optional: paste the Reply (compact) snippet into the template that agent replies use. Every reply then carries the faces, and clicks on the same ticket reuse one survey.
  6. Turn off the HaloPSA feedback survey in the same template. If you leave it on, customers are asked twice and may answer the wrong survey.
  7. Close a test ticket, select a face in the e-mail, then check Test a ticket and Recent link problems.

Do not paste the snippet into a portal page, a canned text, a signature or an e-mail that you write by hand. The ticket number is not filled in there, so the link cannot tell which ticket it belongs to.

A ticket can have up to Max Surveys per Ticket surveys. The first click creates one, and later clicks open the same survey. Once it is answered, the link shows Already Submitted until the survey closes.

Recent link problems lists survey links that could not open a survey, newest first, up to 25 rows. Its columns are When (UTC), Problem, Ticket, Opened on and How to fix. The same problem within 10 minutes is one row, and the Ticket column shows how many more links it stood for.

What the customer sawProblemWhat to do
Link incomplete: "This link is incomplete."Link incomplete ($FAULTID not filled in)The snippet was pasted somewhere other than a HaloPSA e-mail template. Move it into a template.
Request not found: "We couldn't match this link to a request."Ticket not foundThe ticket is not in QuantumOps and HaloPSA did not return it. Check that the ticket exists in the HaloPSA instance you connected, and that the connection works. Use Test a ticket to see which step fails.
Request not foundTenant not resolvedThe survey cannot tell whose HaloPSA to ask. Set Base URL on the Survey Config tab to the address of your instance.
Request not foundSurvey token unknownThe link belongs to a survey that no longer exists, or it came from another QuantumOps instance.
Thank you: "Feedback isn't being collected for this request right now. Thank you."CSAT disabled for scopeTurn on CSAT Surveys for that scope on the Survey Config tab. The Readiness panel lists every scope that is off.
Thank youOn-demand generation offTurn on On-Demand Generation for that scope.
Survey closed: "This survey has closed."Survey expiredRaise Expiration Days on the Survey Config tab.
Survey closedMax surveys per ticket reachedRaise Max Surveys per Ticket on the Survey Config tab.
Something went wrong: "We couldn't open this survey right now. Please try again later."ErrorContact support. See Getting help.

Customers who open a survey that they already answered see Already Submitted. That is not a problem and is not listed.