Category Archives: Salesforce

Integrating a Decision Tree Transcript into CRM (and Other Apps)

doodle_banners

Beyond troubleshooting and support, Zingtree makes a handy interactive front-end for getting people to the right page on your website. We consistently see our customers building trees for sales prospecting, medical appointments, loan qualification, hiring and other environments where a little bit of automated filtering goes a long way. Plus, Zingtrees are a great means for information gathering, too!

We also get requests for integrating Zingtree within various back-end platforms – most notably, CRM. Often, when a customer’s data gets imported into another system, you’ll want the Q&A transcript of their Zingtree session attached.

We’ve created a Simple Sales Funnel demo tree and a basic back-end script in the Zingtree Gallery so you can see a working example.

Here’s how to pass a Zingtree Q&A transcript along to ANY system:

1. From your tree, create a link node to your contact form (i.e. contact_form.php), with a URL like this:

contact_form.php?session_id=#session#

2. In contact_form.php, add this JavaScript right above the ending </body> tag:

<script
id="zingtree_field_id"
value="session_data"
src="//zingtree.com/api/add-session-data-to-form.js">
</script>

3. In the form itself, add a hidden field with an id of “session_data”. The name can be whatever you like. Example:

<input id="session_data" name="zingtree_stuff" type="hidden" value="" />

That’s it!

Under the hood: When the form is loaded, the add-session-data-to-form.js script reads the session_id parameter, then loads the session transcript into the hidden field with the id=”session_data”.


BONUS:

Rather than having a field that must have an id of “session_data”, you can also specify the ID of the field that you want to insert Zingtree data into. This is especially helpful for Salesforce or other CRM apps that generate forms for you.

For example, if you added a multi-line text field to your CRM system form with an ID of “my_data_field”, you could use this piece of code instead:

<script
id="zingtree_field_id"
value="my_data_field"
src="//zingtree.com/api/add-session-data-to-form.js">
</script>

 

This article was originally published October 5, 2016.

Single Sign-On for Zingtree Decision Trees

security-blog

We’ve had several requests to incorporate Single Sign-on (SSO) into Zingtree, as a means of restricting access to trees.  Many customers have sensitive corporate processes or procedures encapsulated in their trees, and ensuring these trees are accessible only to certain employees can be invaluable.

Single Sign-on is a service provided by many vendors, including Okta, Microsoft (Active Directory / Azure), Google (G-Suite), Salesforce and more.  These services are known as Identity Providers.  A single log-in through an Identity Provider gives a user secure, authenticated access to applications provided by Service Providers like Zingtree.

Once you log in through your Identity Provider, you don’t need to re-enter your login credentials. SSO is a very convenient way to secure access to your applications, while not burdening end-users with extra hurdles.

Zingtree supports any service that is SAML 2.0 compliant, which is a common standard.

Set Up Overview

Configuring SSO requires your Identity Provider and Zingtree to share information with each other:

  1. Your Identity Provider needs information about Zingtree.
  2. Zingtree needs information about your Identity Provider.

SSO just needs to be set up once for your organization. Once you have Zingtree and your Identity Provider successfully working together, you can mark any of your trees as “SSO restricted” via the Settings tool to require a login to get access.

Configuring Zingtree for SSO

To start, in the Zingtree top menu, go to Account, Single-Sign-on. You’ll see the parameters (specific to your organization) to share with your Identity Provider:

Configure your Identity Provider with these parameters.

Next, click the blue button to Enter Identity Provider Data into Zingtree. The following screen appears:

Copy the rest of these settings from your Identity Provider.

If you’re ready to test, make sure Enable access restrictions on specified trees is checked.

Click Save Identity Provider Settings when finished.

Testing Your SSO Setup

Once you’ve set up your Identity Provider and Zingtree for SSO, you can test from Zingtree as follows:

  1. In Zingtree, go to Account, Single Sign-on.
  2. Click the orange Test Setup button at the lower right of the page.

From here. you can test logging into your Identity Provider from Zingtree.  If you’re already logged in, the test will just return your email or other identifier from your Identity Provider.  If you’re not yet logged in, the Identity Provider’s login screen will appear, and then you will be returned to the Zingtree SSO test page after logging in.

Enabling SSO on Your Trees

Once SSO is working properly from your test, you can restrict access to any tree as follows:

  1. Go to My Trees, and select the tree that you want to require SSO login.
  2. Click the Settings tool.
  3. Check Require Single Sign-on (SSO) Login to Access.
  4. Click Update Settings.

Release Notes

SSO has been tested with a variety of Identity Providers.  If you’re having trouble configuring with a specific service, please let us know!

3 Amazing Ways to Use Interactive Decision Trees With Your CRM

Zingtree-Banner-Startup-4

Positive, effective customer support and relationships are key to building a solid business foundation in any industry or field. With the potency of today’s CRM systems and integrative technologies, almost anything is possible in the realm of streamlining customer-based operations.

Introducing interactive decision trees as a unified part of your CRM platform — like Salesforce, Desk, and Zendesk — is an effective way to simplify the customer support and relationship process, and their continued optimization. Zingtree provides powerful tools for agents, customers and the measurement of both.

1. Customized Agent Scripts

Agent scripting solutions allow support agents to have a live, customized script to use as a guide when communicating with a customer. They are written in the brand’s own voice and follow personalized standards that make it much simpler for agents to portray the correct information and provide help to the customers.

Scripts help agents deliver more consistently positive experiences with less training, using prompts to follow along with; new questions will be presented depending on the answers given. This type of organized conversation makes the customer feel (and know) that they are actually being heard and understood.

2. Interactive Self-Help Troubleshooters

Zingtree is a powerful tool for building custom interactive decision tree troubleshooters – these allow customers to follow a path of questions and answers that lead to a final most-likely solution, and are especially helpful for more technical issues or questions. Additionally, when a customer’s data is imported into the CRM platform, agents can attach the full Q&A transcript of their decision tree session to keep every piece of relevant information in one useful place — with the Zingtree API, this information retrieval is automatic.

For organizations taking advantage of live support chat systems, Zingtree integrates directly with chat platforms to allow simple extraction and presentation of data. Our software allows Zingtree to open a Zopim or Intercom.io chat with the customer, gather information before the chat begins, and include a full transcript of the decision tree session as a part of the chat so that agents are provided with a holistic picture of the customer’s issue.

Companies that integrate Zingtree troubleshooters into their customer support processes have seen, on average, a 20% overall reduction in support cost and a measurable improvement in the volume of tickets. Using support decision trees based on customer-facing knowledge base data makes it easy to provide help across a variety of areas, become more efficient and save resources, while in turn cultivating long-term customer relationships.

3. Analytics & Customer Data

At the end of the day, the numbers reveal all. With built-in, real-time analytics and powerful usage reports, organizations can view the direct impact of their implemented Zingtree decision trees.


By introducing decision trees based on company knowledge base and agent information, implementing customized agent scripts and continually measuring the data behind both, organizations will best utilize their CRM and other support processes to benefit the customer and company.

Any questions? Please don’t hesitate to contact our trusty staff!

This article was originally posted on March 17, 2016, and has been updated for accuracy and freshness.

Zapier Decision Tree Integrations with Zingtree

zingtree zapier integration

Our Zapier app makes it easy to send data collected during each Zingtree session to more than 500+ applications supported by Zapier. In case you haven’t heard of it, Zapier is a tool that simplifies data exchange between various web applications. We’re big fans.

Here are some cool things you can do with Zingtree and Zapier:

  • Send data collected in a Zingtree session to Salesforce, Zoho, Highrise, or any other CRM.
  • Add an email address entered in a tree into Mailchimp.
  • Send  yourself an email or SMS message when a customer reaches a critical node in a tree.
  • Save new customer information in a Google Sheets row.
  • Create Trello cards from trees, and include customer notes and session data.
  • And tons more!

When using Zapier, you create “Zaps.” A Zap has a “trigger,” which is the source of the data, and an “action,” which is where the data gets sent. Most of our customers want to send data from Zingtree to another app, so we’ll demonstrate how this is done here.

Before starting, you may want to examine a demo tree from our Gallery that gathers data and sends it to Zapier, or copy it to your account.

How to Set up Zapier for Zingtree

The Zingtree Zapier app is currently invite-only. But if you’re reading this article, you’re invited!

  1. Create a free Zapier account at Zapier.com.
  2. Go here to accept an invitation to use the Zingtree app. The invitation appears:

    Accept the invite.
  3. You’ll be prompted to make a new Zap:
    Click Make a new Zap.
  4. You’ll be asked to choose a Trigger App, which is the source of the data exchange.
    Search for Zingtree, and select Zingtree (Beta).
  5. You’ll be asked to choose a single trigger.
    Click Save + Continue.
  6. Next, you’ll need to connect your Zingtree account, and a tree to Zapier.
    Click Connect a New Account. 
  7. You’ll be asked for your Zingtree API Key, which you can find here at the bottom of this page. Also enter the Tree ID that will be sending data to Zapier.
    Click Continue when finished.
  8. Change the name of the account, then click Test.

    You should see “success.” Click Save + Continue.
  9. Next, Zapier will attempt to retrieve any variables or sample data from your tree. If this is a new tree, you may want to run through it once and gather some data.
    Click Fetch & Continue.
  10. You’ll see some of the stock data that Zingtree always provides, as well as any custom data for your tree. Again, if you don’t see all the data you expect, do a test run through your tree, and enter some data at least once. This will make the rest of the process easier.
    Click Continue.

Set up the Action App – Email Example

So now you’re done with the Zingtree part. Congratulations! Next, you need to set up an Action App, which will receive data from Zingtree. Let’s set up email delivery as an action, as follows:

  1. Search for email, and choose Email by Zapier as an action app.
    Select Email by Zapier.
  2. This app has just one action.
    Click Save + Continue.
  3. Fill in details for the outbound email. You can insert fields from Zingtree in the body of the email as well.Click Continue when the email is set up correctly.
  4. You’ll see  a preview of what to expect.
    Click Create & Continue to save the action and send a test email.
  5. You should see another “success” screen.
    Click Finish when the email appears as you like.
  6. Name your Zap Zingtree to Email, and turn it on!

Your Zapier Zap is all set.

Making Zingtree Send Data

The final step is to tell Zingtree when to send all the data collected in a session to Zapier. This can be triggered from one or more nodes, when they are seen by the end-user of your tree.

  1. From Overview, Edit Node, edit the node that you want to trigger sending data to Zapier.
  2. Go to Send Message to, and pick Zapier: Zingtree to Email. This is the new Zap you created.
  3. Click Save.
  4. Now try a test from Zingtree. Using Preview or the Publish tool, navigate your tree, and when you reach the node that triggers the send, you should see something in your inbox. IMPORTANT: Make sure to use https in your published Zingtree URL when using Zapier.

Once you get your first Zap done, it becomes easy and addictive to hook Zingtree to the other applications that your business depends upon. So keep going!

Have any questions? Contact us anytime!

Create More Powerful Decision Trees with Integrations

We built Zingtree decision trees to play nicely with other useful, popular tools, apps and platforms; this allows you to be as flexible as possible with your trees, as well as the information being collected and measured from them.

By linking up your Zingtree decision trees with the apps and integrations used in your own business, you’ll make it easier for your customers and clients to access answers online, help your agents to keep up performance and resolve tickets faster, and simplify your optimization processes.

Here are some of the popular tools you can tap into:

With only a unique short code, Zingtree’s direct integration with WordPress allows you to directly embed any of your interactive decision trees into any web page. This makes it simple for customers to navigate through any support or troubleshooting process on your site, with a simple, customized question-and-answer style flow.

Our Zendesk app for Zingtree makes it faster to solve Zendesk tickets by giving your support agents additional background information on a customer’s specific problem. When a customer uses your decision tree and submits a support ticket, agents see helpful info from your customers in the ticket sidebar.

For contact center use, our Agent Scripting app for Zendesk gives agents a handy script to follow during the course of a call. Again, right inside of Zendesk.

With our Salesforce integration, agents can open a Zingtree decision tree within the customer’s Salesforce case. The most recent node and buttons clicked during the tree session are always saved with the ticket, so if another agent takes over, previous steps taken are clearly visible. On the other side, customers can navigate through a decision tree, then submit a support ticket, having the in-depth information from both connected.

For Customer Support use cases, prompt your customers to try to solve their problem with a custom decision tree. If the customer is unable to find a solution to their issue or question, they can submit a ticket to Freshdesk to automatically send over a description of their problem, along with a full Q&A transcript of their session with Zingtree. Agents can then access complete details of their ticket, and pass along to other agents seamlessly.

After configuring your integration with Slack, when an end-user visits a node in one of your decision trees, you can have that node trigger a custom Slack notification (including form variables). Once you set up Slack for your organization, any node in any tree can send a message to Slack to give you an instant update.

See all of our applications, plugins and integrations from the Zingtree Integrations page.

Embedding Zingtree Decision Trees in Salesforce

z-salesforce

If you run a Call Center or do live support, and you use Salesforce, being able to link a Zingtree script or troubleshooter to each case is really handy. Not only does this give agents a guide to follow when helping customers, but if a case is transferred or reopened, the last viewed node in the Zingtree reappears, and the entire history of the session is available as well.

Inside of Salesforce, we’ll create an Agent Script button, accessible from each case. Clicking this button will open an Agent Script, built with Zingtree:

Here’s how to set up Salesforce with an embedded Zingtree:

  1. Go to Salesforce.com, and log in to your account.
  2. Click Setup on the top right of the screen.
  3. Select Build > Customize > Cases > Buttons, Links and Actions in the left panel.
  4. Click New Button or Link.
  5. We’ll modify the New Button form to look like this:
  6. Make the Label “Agent Script”.
  7. Make the Name “Agent_Script”. (The name cannot have space characters, so we use an underscore here.)
  8. Select Detail Page Button.
  9. The Behavior is Display in New Window.
  10. The Content Source is URL.
  11. For the URL, make it look like this (substituting the tree ID of your script for #########):
    https://zingtree.com/host.php?tree_id=#########&style=panels&show_history=1&persist_names=Restart&persist_node_ids=1&agent_mode=1&nopermalink=1&source={!Case.OwnerEmail}&session_id=SF#########-{!Case.CaseNumber}
  12. Click Save.
  13. Next, we have to add the custom button to the Case page layout. Within Setup, go to Build, Customize, Cases, Page Layout.
  14. Click Buttons.
  15. Drag the Agent Script button into the custom buttons area, like this:
  16. Click Save.

Now, when your agents are in a case, they can click the Agent Script button, and walk through your Zingtree troubleshooter with the customer. Awesome!


Customization Notes: You can use the Zingtree Advanced Hosting Options to customize the display of your tree within Salesforce by modifying the URL. Once you’re done, take the hosting URL, and add the following to it (substituting your tree ID for #########):

&source={!Case.OwnerEmail}&agent_mode=1&session_id=SF#########-{!Case.CaseNumber}

Adding Call Scripts to Desk.com

salesforce-desk

Besides being a well designed, elegant, simple-to-use help desk system that is easy to learn and configure, Desk.com is also great for Call Center use – both inbound and outbound – and is a natural platform for launching Interactive Agent Scripts created with Zingtree.

Using Agent Scripts in Desk.com

Within Desk.com you can load a script from any Case using the Integration Links at the top of the page.

This loads your custom Zingtree Agent Script in a new browser tab.

Cool feature: One of the best things about using Zingtree with Desk.com is that the last viewed page and the history of the interactions with the script are saved with each ticket.  So if a customer calls back, or a call is transferred to another agent, the script will be in the same place as it was left previously.

Please note: This is only available in the Next Gen interface in Desk.com.

How to Set Up Zingtree Call Scripts in Desk.com

You will need to create a custom Integration URL within Desk.com as follows:

  1. Create a tree in Zingtree, and note the nine digit Tree ID. (You can use 628045351 as a demo.)
  2. Log into desk.com, or create a free account if you haven’t yet done so.
  3. Go to the Admin dashboard.
  4. Click Cases, Integration URLs.
  5. Enter “Zingtree” as the Name, and select New Browser Window as the Open Location.
  6. Add a URL like this, substituting the Tree ID into both places with #########:
    https://zingtree.com/host.php?style=panels&tree_id=#########&session_id=#########-{{case.id}}&agent_mode=1&show_history=1&source={{case.active_user.name}}

  7. Make sure Enabled is active.
  8. Click Add.


Advanced Uses

Displaying Session History in Case Details

You can use a Standard iFrame Integration URL to show the Q&A History from your script next to the ticket, like this:

You will need to create an iFrame Integration URL. Use this URL (substituting ######### with your Tree ID):

https://zingtree.com/api/get-qa-data.php?nototal=1&session_id=#########-{{case.id}}

This article explains how to set up an iFrame Integration URL.


Inserting Desk.com Fields into Scripts

You can include fields from the Desk.com case into your Zingtree scripts using Merge Variables.  These are added to the Integration URL.

For example, to add the customer’s first name and company, add these parameters to the URL:

&variables=NAME|COMPANY&values={{customer.first_name}}|{{customer.company}}

In your Zingtree scripts, enter #NAME# and #COMPANY# wherever you want the name and company to appear.


Advanced Display Options

When using the Publish tool in Zingtree, go to the Advanced Hosting Options under Have Zingtree Host your Tree. You can experiment with adding different styles and button options to the URL you will use with Desk.com.

IMPORTANT: Be sure to include these options at the end of the URL:

&session_id=#########-{{case.id}}&agent_mode=1&show_history=1&source={{case.active_user.name}}


Automatically Choosing a Script from a Custom Field

You can  make different scripts appear based upon the value of a custom field. The key is to match a Zingtree tree tag with the custom field value. Here’s how to do it:

  1. In Zingtree, tag your trees with the value of the custom field to match.  This article has more on tagging.
  2. Use an integration URL like this:
    http://zingtree.com/host-trees.php?jump=1&key=APIKEY&type=treetag-any&agent_mode=1&show_history=1&search={{case.custom_FIELDNAME}}&source={{case.active_user.name}}&session_id=DESK-SUBDOMAIN-{{case.id}}
  3. Substitute APIKEY with your API Key. (You can find it here.)
  4. Substitute FIELDNAME with the name of your custom field.
  5. Substitute SUBDOMAIN with your Desk.com subdomain.  For example, if you use mysupport.desk.com, use “mysupport” as the subdomain.

 

Adding Zingtree Session Data to Salesforce Forms

z-salesforce

As we are making Zingtree more connected to the rest of the world, our valued customers have been asking us how to import the results of a Zingtree session into Salesforce.

With just a little JavaScript magic, you can now add Zingtree data invisibly into your custom “Create Lead” forms.

Here’s what you’ll need to do:

  • Create a new custom field in Salesforce. It should be a “Text Area Long” – we like to call it “Zingtree Session Data,” but you can call it whatever you like.
  • In your “new case” form, make sure this field is a part of the data entered in the “new case” form.
  • Go to Setup, and search for “Web-to-case.” Generate the HTML, and note the id= value of the Zingtree Session Data field in the form.
  • At the bottom of the page that contains the form, just above the </body> tag, add this line of code, substituting the id of the form field which will receive the Zingtree data for “######” :

<script
id="zingtree_field_id"
value="######"
src="http://zingtree.com/api/add-session-data-to-form.js">
</script>

  • When loading this form from a Zingtree URL Link Node, make sure to add this code to the URL which opens the form:

?session_id=#session#

This setup will load the Zingtree session data into the field you designated for Zingtree data, and then hide the field so it’s not seen by your end-users.

You can see an example page that contains a crude Salesforce form here. When you view the source, you’ll see a text area field with id=”00N61000006Bdlq“, and this code at the bottom of the page:

<script
id="zingtree_field_id"
value="00N61000006Bdlq"
src="http://zingtree.com/api/add-session-data-to-form.js">
</script>

Any more questions? View more of our Zingtree How-To’s on the blog, or contact our support staff