A Simplesat survey can reach your requesters inside a Freshservice email, such as a canned response or the email a scenario automation sends when it resolves a ticket. A Freshservice workflow can also have Simplesat email the survey when a ticket closes. You don't need to connect Freshservice to paste survey code into a Freshservice email.
Connecting Freshservice lets you switch on integrations that write each response back to Freshservice and bring the ticket's details into Simplesat.
What the Freshservice integrations do
The Freshservice page in Simplesat lists its integrations under Survey integrations and Ticket integrations. You switch each one on separately with Activate integration.
Integration | Listed under | What it does | Where it shows |
Update requester custom fields with rating details | Survey integrations | Writes rating details to the fields you choose on the Freshservice requester | The requester in Freshservice |
Create follow-up tickets from feedback | Survey integrations | Opens a new Freshservice ticket from the response | A new ticket in Freshservice |
Pull ticket details | Ticket integrations | Adds the ticket's details, the requester and the agent to the response | The response, in Simplesat |
Add notes to rated tickets | Ticket integrations | Adds the response to the ticket as a private note | The ticket |
Update ticket custom fields with rating details | Ticket integrations | Writes rating details to the ticket fields you choose | The ticket |
Update ticket tags with rating and sentiment | Ticket integrations | Tags the ticket with the rating and sentiment | The ticket |
Writing feedback back, and mapping the fields explains how Survey integrations differ from Ticket integrations.
The Ticket integrations run only on surveys connected to Freshservice, and only for responses that came in with a Freshservice ticket ID. A survey is connected to Freshservice when:
its delivery method is External email embed with the Freshservice option, or
it's an Event-based or Web-embed survey with Connected service set to Freshservice.
Note: If we've changed one of your Freshservice integrations for you, it can work differently from what's described here. Contact us to check what yours does.
Before you start
The Freshservice integrations are available on every Simplesat plan. In Simplesat, you need the Manage integrations permission to connect Freshservice and switch integrations on. Owner and Admin have it by default.
In Freshservice, you connect with an agent's API key, and from then on the integrations act as that agent. Integration security, permissions and data flow sets out what a connected tool can read and write.
Use the key of an agent who can add notes to tickets, edit tickets and requesters, and create tickets, and who will keep their Freshservice access.
Connect Freshservice
In Freshservice, click your profile picture at the top right and go to Profile settings. Copy your API key from the right side of the page, below the change password section. If you don't see it there, ask your Freshservice admin.
In Simplesat, go to the Integrations page, open Freshservice and click Authenticate.
In Subdomain, enter the part of your Freshservice address before
.freshservice.com. Foracme.freshservice.com, enteracme. In API Key, paste the key. Don't leave spaces before or after either one.When the page shows Authenticated with Freshservice, click Activate integration on each integration you want, then fill in its settings.
Before you rely on an integration, put a real ticket through it by following Testing an integration end to end.
Send surveys from Freshservice
No integration on the Freshservice page sends the survey. With Freshservice, the survey can reach your requesters:
Inside a Freshservice email. You paste the survey into an email Freshservice already sends, and Freshservice decides when it goes out. It goes out every time that email does.
From Simplesat, when a ticket closes. A Freshservice workflow asks Simplesat to email the survey. The survey's own delay and suppression settings control when it arrives and how often the same requester gets it.
To compare these with the other ways Simplesat sends surveys, read Choosing a survey delivery method.
Freshservice emails
Create or open the survey and choose External email embed.
Under Choose where to add your survey, choose Freshservice.
On Publish, click Generate embed code.
Choose Visual and click Copy survey.
In Freshservice, paste the survey into the email that should carry it, and save. Any of these work:
a canned response: Admin → Canned responses → New Canned response
a scenario automation that resolves the ticket and emails the requester: Admin → Scenario Automations → New Rule, with the actions Set Status as Resolve and Send Email to Requester
your signature: Profile Settings → Signature
To test it, create a ticket with yourself as the requester, send yourself the email and click a rating.
The survey code contains Freshservice placeholders. Placeholders and merge fields explains how placeholders work in every tool.
Freshservice fills in the placeholders when it sends the email, so each response arrives already tied to its ticket, requester and agent:
What the code carries | Freshservice placeholder |
Ticket ID |
|
Ticket subject |
|
Customer email |
|
Customer ID |
|
Customer first name |
|
Customer last name |
|
Company name |
|
Team member email |
|
Team member ID |
|
Team member first name |
|
Team member last name |
|
Group, impact, priority, source, status, subcategory, type, urgency and the ticket's link, saved as ticket fields on the response |
|
Simplesat email when a Freshservice ticket closes
With this route, a Freshservice workflow calls the survey's endpoint when a ticket closes, and Simplesat sends the survey email. The workflow's conditions decide which tickets get a survey. The survey's own Delay, in hours, and its Suppression, in days per customer, still apply.
In Simplesat, create the survey with Direct email delivery → Event-based.
On its Delivery subtab, set Connected service to Freshservice so the Ticket integrations run on its responses. Freshservice appears in that list once it's connected. Copy the Endpoint and the Request body.
On Admin → API keys, create a key with Full access, or Custom with
responses:write.In Freshservice's Workflow Automator, create a ticket workflow whose event is the ticket's status changing from Any Status to Closed. Choose Resolved instead if you want the survey to go out when the ticket is resolved.
Add an Action → Trigger Webhook, and set it up like this:
Setting | Value |
Request Type | POST |
Callback URL | The survey's Endpoint |
Credentials | Inline Credential, with Authentication Type set to No Auth |
Custom Headers | Ticked, with the key |
Encoding | JSON, then Advanced |
Content | The survey's Request body, with its example values replaced by Freshservice placeholders through Insert Placeholder. Include the requester's email and the ticket ID. Without the ticket ID, the Ticket integrations can't write to the ticket |
Save and activate the workflow.
Each email Simplesat sends shows on the survey's Email activity. If one doesn't arrive, work through When a survey does not send.
Feedback in Freshservice
Simplesat waits at least five minutes after a response arrives before it writes to Freshservice, and it writes again whenever the response changes. The timing and the Field mapping settings are covered in more depth in Writing feedback back, and mapping the fields.
You can limit each of these integrations to the surveys you choose under When should this integration run?
Add notes to rated tickets
Each rated ticket gets the response as a private note. The note starts with the customer's name, the sentiment and the survey, with links to the customer, the response and the survey in Simplesat. It then lists every question and answer, with the rating shown as its emoji.
The note is posted as the agent whose API key connected Freshservice. If the response changes later, for example when the customer answers another question, a second note is added.
Update ticket tags with rating and sentiment
Simplesat tags the rated ticket with its rating and sentiment:
simplesat_rating_followed by the rating, such assimplesat_rating_4simplesat_sentiment_positive,simplesat_sentiment_neutralorsimplesat_sentiment_negative
When the rating changes, the old Simplesat tags come off and the new ones go on. The ticket's other tags aren't touched.
Update ticket custom fields with rating details
This integration writes the response's details, such as the rating, sentiment and comment, to the ticket fields you choose in its Field mapping. Nothing is written until you map at least one field.
The field list is loaded from Freshservice each time you open the page. If you've just created a field in Freshservice, reload the page to see it.
Update requester custom fields with rating details
Simplesat matches the response's customer email to a Freshservice requester. It then writes the response's details, such as the latest rating, to the requester fields you choose in its Field mapping.
If no requester has that email, or the response has no email, nothing is written.
Ticket, requester and agent details in Simplesat
A response's ticket, customer and agent first come from the placeholders Freshservice fills in. Pull ticket details then updates them from the ticket itself. Attribution: linking feedback to tickets, customers and agents explains how Simplesat makes these connections.
Pull ticket details runs as soon as a response arrives, and again whenever it changes. It reads the ticket and adds these to the response:
the ticket's subject, plus its type, priority, source, impact, subcategory and urgency as ticket fields
the requester's name, email and Freshservice requester ID
the ticket's agent, if it has one, as a team member with the role Agent, with their name, email and Freshservice agent ID
Each time it runs, it replaces the response's ticket fields. When the ticket has an agent, it replaces the response's team members too. So if you change the team member on a response in Simplesat, your change lasts only until the pull runs again.
Follow-up tickets in Freshservice
Create follow-up tickets from feedback opens a new Freshservice ticket from a response, for the sentiments you switch on in its settings. Creating a follow-up ticket from feedback covers follow-ups in general.
The new ticket:
has the subject New sentiment feedback from customer name from ticket #ticket ID, for example New negative feedback from Ana Lopez from ticket #1042
has a description with links to the customer, the response and the survey, followed by every answer
opens with status Open and priority Medium, with the customer as the requester
It's created once, when the response arrives. The subject includes the rated ticket's number, but the two tickets aren't linked.
Heads up: If your Freshservice tickets have required fields, give each one a value in the integration's Field mapping. Otherwise Freshservice won't create the ticket.
Change the Freshservice account or API key
To connect a different Freshservice account, or to use another agent's API key:
Click Revoke access.
Click Authenticate and enter the subdomain and the new key.
Any integration that was on before switches back on by itself, with its settings. Check that each one you use shows Deactivate integration. If one is still off, click Activate integration.
Heads up: Responses that arrive after you click Revoke access and before you click Authenticate aren't written to Freshservice, so do the steps in one go.
The survey code in your Freshservice emails and your workflow webhook keep working throughout, because they don't use the connection.
Reconnect the same way if the agent whose key you used loses their Freshservice access, or if their API key changes. When that happens, the integrations stop working but the page still shows Authenticated with Freshservice.
Troubleshooting
Feedback doesn't show up on my Freshservice tickets
Check each of these:
The survey is connected to Freshservice, as described in What the Freshservice integrations do. The Ticket integrations only run on connected surveys.
The response came in with the Freshservice ticket ID. A survey in a Freshservice email carries the ID when Freshservice fills in
{{ticket.original_id}}. A survey sent by the workflow webhook carries it when the request body includes the ticket ID.At least five minutes have passed since the response arrived.
The integration shows as active, and its When should this integration run? setting includes the survey. After Revoke access and Authenticate, any that was on before switches back on by itself. If one is still off, click Activate integration on it.
If none of these explains it, send us the response's link.
A field I created in Freshservice isn't in Field mapping
The field list is loaded from Freshservice each time you open the page, so reload the page. If the field still isn't there, check that the agent whose API key connected Freshservice can see it.
Follow-up tickets aren't created in Freshservice
If your Freshservice tickets have required fields, Freshservice won't create a ticket that leaves any of them empty. Give each required field a value in Field mapping under Create follow-up tickets from feedback. Also check its settings: it only runs for the sentiments switched on there.
My responses are credited to the wrong agent
Two things decide the agent. The survey code carries the agent who was assigned when Freshservice sent the email. Pull ticket details then credits whoever the ticket is assigned to in Freshservice when it runs, which is as soon as the response arrives and again whenever the response changes. If you change the team member on the response in Simplesat, your change lasts only until the pull runs again.
Freshservice won't authenticate
In Subdomain, enter only the first part of your address, such as acme for acme.freshservice.com. Then copy the API key again from Profile settings in Freshservice. Make sure there's no space before or after either one.
I see two private notes for one response
Add notes to rated tickets runs when a response arrives and again when it changes, for example when the customer answers another question or changes their rating. Each run adds its own note.
My Freshservice integrations stopped working, but the page still says Authenticated with Freshservice
Simplesat doesn't check the connection after you connect. If the agent whose API key you used loses access, or the key changes, the integrations fail while the page still shows Authenticated with Freshservice. Integration error messages and what they mean explains what the page does show.
To fix it, click Revoke access, then Authenticate with a current key. Any integration that was on before switches back on by itself. Check that each one you use shows Deactivate integration, and click Activate integration on any that's still off.
FAQ
Can Simplesat send the survey automatically when a Freshservice ticket closes?
Yes. Set up a Freshservice workflow that calls the survey's endpoint, as described in Simplesat email when a Freshservice ticket closes. None of the integrations on the Freshservice page send surveys. You can also put the survey in the email a scenario automation sends when it resolves a ticket.
Can my requesters see the notes Simplesat adds?
No. Add notes to rated tickets adds private notes, and only agents can see those.
Do I need to connect Freshservice to put a survey in Freshservice emails?
No. The survey code works on its own. Connecting adds the integrations that write feedback back to Freshservice.
How do I stop a requester from getting the survey too often?
If you use the workflow, set the survey's Suppression on its Delivery subtab. A customer then gets the survey at most once in that many days. A survey inside a Freshservice email goes out with every email that carries it.