Before You Begin
We assume that all customer interactions are handled via Freshdesk. If that is not the case, please talk to the Stella Connect team before starting the integration process.
Connect requests can only be sent if:
The team member has an approved Stella Connect profile.
An email address is associated with the customer’s record
A member of your team is assigned to the case when it is Resolved.
This can be handled manually by your team as tickets are created and Solved. You can also configure your Freshdesk account to assign ticket ownership automatically.
This example assigns an agent when the ticket is closed.
Navigate to Freshdesk Admin -> Helpdesk Productivity -> Observer Rule
Rule Name: Assign agent when ticket is closed
Involves any of these events: Ticket status changed from any to Resolved or Closed
On tickets with these properties: Select the ticket icon and set Agent is None
Perform these actions: Assign to agent / Event performing Agent
Save and toggle on
Step One: Retrieve Stella Connect Freshdesk Test Credentials
Testing the Freshdesk integration begins with your company designating a test email address that will be used for testing the Freshdesk Connect integration. All surveys will be delivered to this address while using the test key.
Once you enter the API test email address in the Integrations section of the settings page, your credentials will appear.
Retrieve your test credentials on the Integrations page.
Testing ends when the survey is delivered. You can step through the consumer experience selecting stars, commenting, etc. There is no response collection while using the test keys.
Step Two: Configure the Stella Connect Freshdesk Triggers
Create an Observer Rule for each channel being integrated
Email Channel
Navigate to Admin > Helpdesk Productivity > Observer > New Rule
Rule Name: Send Stella Connect request for email channel
Set your business logic
Set up the action
{ "employee": { "email": " {{ticket.agent.email}}" }, "channel": "email", "customer": { "name": " {{ticket.requester.name}}", {% assign customer_email = ticket.from_email | strip %}"email":{% if customer_email and customer_email != "" %}" {{customer_email}}"{% else %}"no_email"{% endif %} }, "ext_interaction_id": " {{ticket.id}}", "do_not_send": " {{ticket.cf_do_not_send_stella_connect_request}}","external_url": " {{ticket.url}}", {% assign raw_tags = ticket.tags | split: ' ' %}"tags": [{% for tag in raw_tags %}" {{tag}}"{% unless forloop.last %},{% endunless %}{% endfor %}]}
Save and toggle the button to on
Chat channel
Clone the email observer rule
Update Rule Name: Send Stella Connect request for chat channel
Set your business logic
Set up the action
Content: Update channel to chat
{ "employee": { "email": " {{ticket.agent.email}}" }, "channel": "chat", "customer": { "name": " {{ticket.requester.name}}", {% assign customer_email = ticket.from_email | strip %}"email":{% if customer_email and customer_email != "" %}" {{customer_email}}"{% else %}"no_email"{% endif %} }, "ext_interaction_id": " {{ticket.id}}", "do_not_send": " {{ticket.cf_do_not_send_stella_connect_request}}","external_url": " {{ticket.url}}", {% assign raw_tags = ticket.tags | split: ' ' %}"tags": [{% for tag in raw_tags %}" {{tag}}"{% unless forloop.last %},{% endunless %}{% endfor %}]}
Save and toggle the button to on
Phone channel
Clone the email channel again
Update Rule Name: Send Stella Connect request for phone channel
Set your business logic
Set up the action
Content: Update channel to phone
{ "employee": { "email": " {{ticket.agent.email}}" }, "channel": "phone", "customer": { "name": " {{ticket.requester.name}}", {% assign customer_email = ticket.from_email | strip %}"email":{% if customer_email and customer_email != "" %}" {{customer_email}}"{% else %}"no_email"{% endif %} }, "ext_interaction_id": " {{ticket.id}}", "do_not_send": " {{ticket.cf_do_not_send_stella_connect_request}}","external_url": " {{ticket.url}}", {% assign raw_tags = ticket.tags | split: ' ' %}"tags": [{% for tag in raw_tags %}" {{tag}}"{% unless forloop.last %},{% endunless %}{% endfor %}]}
Save and toggle the button to on
Optional Customization
Do not send
Although we recommend that all interactions receive a Stella Connect request, there may be some instances in which you do not want to send one. You can establish a custom exclusion rule within your company’s Freshdesk account.
NOTE: You do not have to establish an exclusion rule in order to limit the number of Connect requests that a customer receives within a specified time period. That “suppression period” can be set on the “Experience” page within the Stella Connect Admin.
Create “Do not Send Stella Connect request” checkbox
Navigate to: Admin > General Settings > Ticket Fields > Checkbox
Drag and position on your ticket and Save
Navigate to Admin > Helpdesk Productivity > Observer > New Rule
Rule Name: “Do not send Stella Connect request” (or another name that you will remember).
Set your business logic
Specify the conditions that must be met for Freshdesk to exclude a ticket from receiving a Stella Connect request.
Ensure that the “Exception” rule created is ordered above the “Send” Stella Connect Request rule in your rule list.
This is an example of selecting the Do not send Stella Connect Request checkbox when certain tags are used on a ticket.
Multiple Brands
If your Stella Connect account is set up with multiple brands, you'll need to use the following payload to include the brand for which that interaction took place in. This example uses the email channel and a custom field set up on the ticket called brand.
{ "employee": { "email": " {{ticket.agent.email}}" }, "channel": "email", "customer": { "name": " {{ticket.requester.name}}", {% assign customer_email = ticket.from_email | strip %}"email":{% if customer_email and customer_email != "" %}" {{customer_email}}"{% else %}"no_email"{% endif %} }, "brand": " {{ticket.brand}}","ext_interaction_id": " {{ticket.id}}", "do_not_send": " {{ticket.cf_do_not_send_stella_connect_request}}","external_url": " {{ticket.url}}", {% assign raw_tags = ticket.tags | split: ' ' %}"tags": [{% for tag in raw_tags %}" {{tag}}"{% unless forloop.last %},{% endunless %}{% endfor %}]}
Multiple Languages
If your Stella Connect account is set up with multiple languages, you'll need to use the following payload to include the language that interaction took place in. This example uses the email channel and the ticket requester locale.
{ "employee": { "email": "{{ticket.agent.email}}" }, "channel": "email", "customer": { "name": "{{ticket.contact.name}}", {% assign customer_email = ticket.contact.email | strip %}"email":{% if customer_email and customer_email != "" %}"{{customer_email}}"{% else %}"no_email"{% endif %} }, "language": "{{ticket.contact.language}}","ext_interaction_id": "{{ticket.id}}", "do_not_send": "{{ticket.cf_do_not_send_stella_connect_request}}","external_url": "{{ticket.url}}", {% assign raw_tags = ticket.tags | split: ' ' %}"tags": [{% for tag in raw_tags %}"{{tag}}"{% unless forloop.last %},{% endunless %}{% endfor %}]}
Step four: Moving to Production
Navigate to Admin > Helpdesk Productivity > Observer > Send Stella Connect Request
For every Send Stella Connect Request rule channel, select Change password and paste Production Key from: https://domain.stellaconnect.net/admin/company/api
In Connect (https://domain.stellaconnect.net/admin/company/api) switch Integrated Channel to “On”. This example integrates the Chat and Email channels only. The Phone channel will remain in manual mode.