The following describes requirements for ITSM system capabilities, which must be met in order to implement HappySignals integration successfully.
Email:
HappySignals Service Experience integration in its simplest form is a piece of HTML containing vote buttons from 0 to 10. The vote buttons contain metadata from the case being resolved and will direct the end-user clicking the button to HappySignals survey in HappySignals Cloud services. The button row typically looks something like this (note the button row is the only thing that is actually HappySignals - all other content is our customers' responsibility):
Requirements:
The ITSM System must be able to send HTML emails and HTML snippets should be able to be added to the email template.
Variables, i.e. metadata, from the case being resolved can be added to the email template and used to create the email button links.
A proof of origin hash must be formed in the source ITSM system. See below for an example - this involves typically some server-side scripting.
Proof of origin:
The system must be able to calculate a proof-of-origin hash using a shared secret and parts of the link created for the button links. The hash digest is generally gained using SHA256, but we also accept MD5.
An example in pseudocode:
The email link generated behind the buttons is something like:
https://demo.emea.happysignals.com/a/happy?e=&var1=INC0010125&var2=IT&var3=&var4=phone&ap1=,,&ap2=0&ap3=1970-01-16%2023:40:40&ap4=0&ap5=&ap6=5%20-%20Planning&co1=6&co2=true&co3=&co4=&co5=&t=Incident&esm=IT&cat2=&cat3=&r=&lang=english&v=&d=2019-04-29%2006:48:19&c=HASH DIGEST PLACED HERE&value=10
The digest must be formed by joining the shared secret and following four parameters, var1
esm
t
d
. If the shared secret is the word AnalyzeMyData!
and the values of the var1, esm, t and d parameters are the same as in the above link the code could be:
var hashthis = (
'AnalyzeMyData!' +
'INC0010125' +
'IT' +
'Incident' +
'2019-04-29 06:48:19' // Note! This is the unencoded value ie. not %20
)
var digest = new sha256.update(hashthis).hex_digest()
For more information, please contact us on the subject @ support@happysignals.com