Category Archives: Product Updates

Updates: Location Data and More

These past two weeks have been spent making Zingtree location aware, along with a few other things…

Here’s the latest:

  • New: Collect Location Data option (geo / language).
  • New: User signups set default timezone automatically from IP data.
  • Update: Single Sign-on Service provider Entity ID now requires a URL. One less thing to go wrong.
  • Update: Hides title and/or content area in panels mode if blank (for Josh).
  • Update: Form data report field names are now output in sorted order. (for Sherry S.)
  • Update: Compare trees tool has improved layout, can now toggle showing designer layout data.
  • Update: CSV import and CSV export can now handle scoring variables and scored button clicks (for Katie P.).
  • Update: Add Collaborator process has one less screen, more consistent with other processes.
  • New: In the Zendesk Agent Scripting app, adding ::tag to the end of button text will trigger Zendesk tags to be sent when button clicked. (for Katie P.)
  • Update: New spreadsheet import examples to showcase new features, including Logic Node import, scoring and more.
  • Fix: Proper discount rate shows when ordering a new plan, buying bulk credits.
  • Fix: Link Nodes opening in new tab restore last viewed node, remove the “please wait” thing (for Logan).
  • Fix: Apostrophes in merge variable values are now handled correctly (Chris P.)

Got a suggestion for an update? Give us a shout!

Automatically Including Location Data in your Decision Trees

Zingtree can tell a lot about your end-users just by gleaning information from their browser. For example, you can determine their preferred language, and where they are located.  Zingtree gives you an option to collect this information, and use it in your decision trees.

For example, you can pre-fill a Zip code field in a Data Entry field, or use Logic Nodes to branch to a node depending on the end user’s language or country.

Using the Collect Location Data option in the Settings tool, you can gain access to the following information:

  • Language
  • City
  • State/Region
  • Country
  • Zip or Postcode
  • ISP
  • Origin of server

Getting Set Up

Adding this data to your Zingtree session is easy. Here’s how to do it:

  1. Select your tree, and go to the Settings tool.
  2. Select Collect Location Data.


    If you want to do this for ALL your trees, also click on all my trees. (You can disable enhanced data collection on all your trees in the same way.)

  3. Click Update Settings.

From now on, any sessions with your tree will also include these variables:

  • zt_language (The 2 letter code of the user’s preferred language. “en” is English.)
  • zt_country
  • zt_regionName (this is a USA state)
  • zt_city
  • zt_zip (also Postal Code)
  • zt_isp (the user’s Internet Service provider)
  • zt_org (the origin of the user’s request. Often the same as the ISP.)

When you examine a session (like from the Sessions List report), you’ll see these variables as a part of your session, like this:

Got any cool uses for this? Let us know!

New Data Entry Form Updates and More

Besides turning Scoring Nodes into more powerful Logic Nodes, we’ve done a lot of little improvements and fixes in the last 30 days.  In particular, we’ve had a few requests for enhancing Data Entry capabilities.

Here’s what’s new:

  • New: Logic nodes
  • API: delete_form_data returns better error message if deleting already deleted form data (Jay H.)
  • Fix: Link nodes now wait for session data to save before linking out. Makes API calls from linked node work 100% reliably.
  • Fix: SSO URLs are now REST compliant (no & or ? characters) (Priya)
  • New: Added browser_language built-in variable (Eric J.)
  • Update: Logic node editor can set root node.
  • Update: Tree nodes can be set as root node (Chris P.)
  • Update: Only allows letters, numbers and underscores in tags. (Morgan A.)
  • Update: Edit Content Node shows advanced options by default if tags or any other advanced option is set (Bill Z.)
  • Update: Simple Overview shows node tags on each line (if they exist). (Bill Z.)
  • Update: Link nodes now show a “please wait” message, in case new page is slow to open. Also improves email-session-info.php experience.
  • Fix: No longer able to inadvertently create node #0 from Document Node editor. (James W.)
  • Update: Tree search (and search in Zingtree FAQ) now shows node title and tag matches first. This gives more relevant results for tree searches.
  • Fix: host-trees integration URL with a space in the agent name source= parameter now gives correct results (Juan C.).
  • Update: Create Tree for Excel, Sheets options now includes direct links to Excel, Sheets example files.
  • Fix: Blank lines in bulk agent submit no longer show an errant error message. (Allen J.)
  • Fix: removed extra white space at the bottom of embedded trees (Josh S.). (Requires getting new embed code.)
  • Fix: Now saves form data when jumping to a new tree and not continuing past the first node (Diana T.).
  • Fix: Session List CSV export now uses local time.
  • New: Session List (All Trees) Report (for Koltyn)
  • Fix: Agent feedback button didn’t show or work properly in embedded trees (Morgan).
  • Update: Button labels can now be 255 characters.
  • Update: Increased database performance by moving to SSD storage.
  • Fix: Now allows tags to be entered without having to press ENTER.
  • Update: Default tag choices that appear in tag list drop down in Settings, My Agents are from all agents and trees, and only from current organization.
  • New: Email and password field types now included in Data Entry Forms (Imran, Maximiliano)
  • Update: Now supports “required” option for radio buttons in data entry forms (Imran, Diana T.)
  • Fix: Tooltips now always appear
  •  Fix: Preview for authors with apostrophes in their name now works properly (Joe O’)
  • Fix: Nopermalink now gets passed as a parameter for host-trees.php (Jenn V.)
  • Fix: Uses https:// for hosting when going from https://zingtree.com/host-trees.php (Jenn V.)
  • Update: SSO restriction is set by default for new trees if SSO is set up for organization (Jenn V.)
  • Update: Better CSS for panels style tree rendering.
  • Update: Spaces in search parameters sent to host-trees.php turn into underscores so tag matching can work properly (Jenn V.)
  • Fix: Clicks and Usage report wasn’t showing true engagement due to using last click time.
  • Fix: Empty scoring variables no longer cause JS errors when rendering trees (Bob H.)
  • Fix: Emailed session transcripts from multi-tree sessions now get the proper questions before the tree jump (Travis A.)
  • Fix: Webhooks with no returned data no longer make JS errors while rendering tree (Bob H.)
  • Fix: Editing data entry fields – can now properly set Required attribute for multiline text fields (Bob H.)
  • Fix: Launching trees from host-trees.php now properly passes along agent name (Juan C.)
  • New: /api/get-history-data.php for use with updated Zendesk Support app
  • Update: Agent feedback now includes link to session transcript (Katheryn P.)
  • Update: Added last_click_time fields to get_session_data API call (Ricardo)

Phew!

As always, let us know if you have any suggestions, comments, or brilliant ideas!

Announcing Decision Trees with Logic Nodes

In order to make decision trees that can help solve real world problems, sometimes you need the ability to do more than just choose a path based upon a finite set of choices. For these reasons, we’ve introduced Logic Nodes into Zingtree.

In addition, we’ve found that many of our customer’s integrations are passing data variables into Zingtree, and there are situations where they would like to act on the value of those variables. Logic Nodes make this easy.

If you’re an existing Zingtree author, Logic Nodes replace Scoring Nodes from previous versions. Any tree that is using Scoring Nodes is automatically migrated to this new system, without losing any functionality or you having to do any updating of your trees.

Here’s How Logic Nodes Work

When you edit or create a Logic Node, you’ll see something like this:

Logic Nodes test the value of your Zingtree variables with a series of rules and jump to a node when a condition is met. The rules are applied in order, so once a rule condition is met, the node assigned to the rule opens next. You can also assign a default node to jump to in case no rules apply.

In the example above, if the variable fruit equals banana, then Zingtree will open node #8, the “Banana” node. If fruit is watermelon, then the default “Something Else” node opens.

About Variables

Variables can be numeric or text, and the comparisons work for either data type. You can bring variables into your trees in several ways:

Note: Your choice of variables is shown in a drop-down list. If Zingtree hasn’t encountered a variable yet in one of the above scenarios, then it won’t appear as an option.

Editing Rules

When editing your Logic Nodes, you can edit your rules as follows:

  • Reorder rules by dragging them up and down with this tool: Reorder Logic test
  • Delete a rule by clicking on this: Delete logic test
  • Select any existing variable from the Variables drop-down.
  • Select an operator (=, ≠, <, >, ≤, ≥ ).
  • Enter a value to perform the test upon.

You must also enter a default node to jump to if no conditions are met.

Conclusion

Zingtree Logic Nodes give your decision trees a bonus option for adding extra intelligence to your processes and troubleshooters. Do you have a cool application for Logic Nodes you’d like to share with us? Reach out and tell us your story!

Zendesk Decision Tree Support App: Version 4

zendesk_zingtree-BLOG@2x

Travis A., who is implementing Zingtree for a video technology company, was keen on using Zingtree to try to reduce his team’s support ticket load. He also needed to import a synopsis of the Zingtree session data into his Zendesk tickets so his tech support people could get some time-saving background information.

Travis wanted to emphasize the condensed Q&A part of the session. Done!

Here’s the new look of the Zendesk Decision Tree Support app:

Here’s what’s new in the Zendesk Support App, version 4:

  • The Q&A view is now the default.
  • Any “back” or “restart” button clicks no longer show in Q&A view.
  • The answers clicked are highlighted, so it’s easy for a support person to see where the customer went at a glance.

You can download the latest Zingtree Decision Tree Support app for Zendesk here.

Need help installing the app? Instructions are here.

Travis' photo
This is Travis.

Thank you, Travis, for the awesome suggestions!

Spring 2017 Decision Tree Updates

updates-blog2

In case you haven’t noticed, we’ve been busy improving Zingtree over the past six weeks. Aside from the new Single Sign-on and Dual use tree features, here are the other more subtle updates we’ve recently added into Zingtree:

  • Fix: No longer allows multiple feedback clicks on submit feedback button (Katheryn P.).
  • Update: AGENT_ and USER_ prefixes on buttons only show them in agent mode or end-user mode (Travis A.).
  • Update: Tag matching on trees (host-trees) now saves state for each tree clicked, shows marker if a session was started with that tree (for Jenn V.).
  • Update: Added nochrome=1 option to host-trees to show minimal tag matching results.
  • Fix: Using a tree node to launch a tree with a webhook in the starting node now runs webhook (Chrissie).
  • Update: Reports are now in author’s local time.
  • Update: Zendesk app version V9B now manages merge variables properly.
  • Update: Zendesk app gets ticket’s list box values instead of tags as merge variables to insert into agent scripts.
  • Fix: Form data report items now syncs with session list report (Diana T).
  • Fix: Session Matrix report now uses last click time for date ranges.
  • Fix: Scoring nodes no longer occasionally add a zero to scoring variables.
  • Fix: email-session-info script updated to handle some timing issues causing missing form data.
  • Update: Data Entry radio button fields now render using entire width of node, not half of width.
  • Fix: Date picker for subtrees works properly (Chrissie).
  • New: Sessions List has options to show first click/last click (Ricardo).
  • New: Sessions list report shows total time spent.
  • Update: Added Agent Portal Parameters option to pass custom URL values into agent portal trees (Chrissie).
  • Update: My Agents page now hides advanced options by default.
  • New: Server-side include example page.
  • Fix: Last click time in session data now always accurate (Ricardo).
  • Fix: Session form data reloads are now more reliable – fixes edge cases on timing errors (Ricardo).
  • Fix: New lines in Agent Feedback Comments now appear in emails, comment review pages (Katheryn P).
  • New: Tree Nodes and Link Nodes can now have tags (Morgan).
  • New: find_tree_sessions API (Chris P.).
  • Fix: Double quotes in session variables (via Zendesk) caused state not to get properly set (Ricardo).
  • New: API added find_agent_sessions as equivalent to original find_sessions. Makes better language since we added new find_tree_sessions API.
  • Update: get_session_data API call now includes “seq” in the path as click number (Chris P.).
  • Update: Form data, Session List reports now based off of “last click time” during a session, instead of start time (Ricardo).
  • Update: Session List report now shows an icon if the session includes form data.
  • Added demo for embedding with breadcrumbs in the container.
  • New: Import from Oracle Service Cloud XML in Create Tree.
  • Fix: FontAwesome icons updated to version 4.7 for Preview, Deploy.
  • Fix: FormData report and Session List report now use same time starting criterion.
  • Update: Added date_format option to hosting or embedded URLs to allow custom date formats in date picker (Chrissie, Jane).
  • Fix: Properly sends ampersands in subject line for email-session-info link node (Alok).
  • New: Can now see all feedback comments for a tree by clicking on comments bubble in My Trees (Guil).
  • Update: Date picker now uses user’s locale to format dates and show proper month names.
  • Fix: Emails with apostrophes now are able to be added to MailChimp lists.
  • Fix: Validates Tree IDs on spreadsheet import for tree nodes.
  • Fix: Now gets root node for tree imports as first node in list, even if not #1 (Katie).
  • Update: Zendesk agent scripting: tags prefixed with “perm_” are never removed from Zendesk once added (Jamel).

Thanks to all of our hard-core authors for suggesting most of these updates.

Got a suggestion or a great idea?  Let us know!

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!

How To Use One Tree for End-Users and Employees/Agents

updates-blog

We’ve had requests to make it easy to use one tree for both end-user support and internal agent usage. Rather than maintaining two separate trees, being able to have one source of content and show (or hide) parts between agents and end-users can be extremely helpful. So, we’ve introduced two new template tags that allow this to happen.

Demo

The Dual Use Agent and End-User Example Tree from the Zingtree Gallery shows how this type of tree is built and operated. You can switch between End-User and Agent views by opening the Show More Display Options link.

Creating Agent-Only or End-User Only Buttons

The first node in the demo has a button labelled “Other Options for Agents only”.  This button only appears when agents are viewing the tree, but not for end-users.  Here’s how this magic is done:

  • If you prefix the button label with AGENT_ , only agents will see that button.
  • Prefix a button with USER_ to show it to just end-users.

Creating Nodes with Dual Content

In the content area for any node, you can insert special tags that make the text visible to just agents, or just end-users.

To show content for agents only:

Surround the content with [[AGENT-ONLY]] and [[/AGENT-ONLY]].

To show content for end-users only:

Surround the content with [[USER-ONLY]] and [[/USER-ONLY]].

You can access these template tags from the content editor in any node:


Example

If your node content area looks like this…

This is the content for a node.

[[AGENT-ONLY]]Agent stuff shows here[[/AGENT-ONLY]]

[[USER-ONLY]]User content shows here[[/USER-ONLY]]

An end user will see this…

This is the content for a node.

User content shows here

And your agents will see this…

This is the content for a node.

Agent stuff shows here

How to Preview

The updated Preview tool lets you see content views for agents or end-users:

Implementation

Your agent-only content will appear in trees accessed via the Zingtree Agent Portal. You can also make this content appear by adding the following parameters to the URL for Zingtree hosted or embedded trees:

&agent_mode=1&apikey=YOUR_API_KEY

Substitute your API key for YOUR_API_KEY in the URL. You can find the API Key from the API page, or if you have multiple organizations at the bottom of the Organizations and Billing page.


Do you like this new feature? Or have any other comments? Please share with us!

Updates: Spreadsheet Import Enhancements and More

updates-blog

When we launched our new feature that allows you to create decision trees from Excel and Google Sheets, we had no idea this feature would be as popular as it has become. Some of our bigger clients, in particular, have really run with this and suggested a lot of great improvements.

Here’s what’s new with spreadsheet decision tree imports:

  • Fix: Validates Tree IDs on spreadsheet import for tree nodes.
  • Fix: Importing and replacing a tree keeps the tree’s settings intact (Elliott).
  • Update: Spreadsheet import allows columns in any order (Elliott).
  • Update: Spreadsheet import allows for a Tags column (Jamel).
  • Fix: Errors in spreadsheet import won’t delete a previous tree if we’re replacing a tree.
  • Fix: Importing Excel with line breaks in cells now works properly, retains line breaks (Charlie).
  • Fix: Importing pasted spreadsheet data now saves the first iteration in Snapshots tool.
  • Update: Spreadsheet import can now include TREE and LINK nodes (Elliott).
  • Update: Exporting CSV tree from Overview/Simple now adds TREE and LINK node types into CSV data.
  • Fix: Importing trees with button links to non-existent nodes now sets the link to “unlinked” (Elliott).

We’ve also done some other tweaks outside of spreadsheet imports:

  • Update: Use “send_zendesk_button” as a node tag to send the button text to Zendesk as a tag instead. (Elliott)
  • Fix: Agent Portal now shows merge variables for agent_name (Craig).
  • Update: Added Agent List export to the My Agents page (Gene).
  • Update: Added more error checks to Add Multiple Agents input tool.
  • Update: Made show/hide tree name option more visible in iFrame Advanced Options.
  • Fix: Copying a Gallery tree into a new account works properly.
  • Update: Max attachment size in email nodes increased to 25 Mb (Dan B.).
  • Update: Merge variables now has an option to retain plus characters (Chris).
  • New: API call to delete session data from our servers for a particular session ID (Jay).
  • Fix: email-session-info occasionally failed when data was entered right before sending (Alok, Craig).

Phew!

Got a suggestion to make Zingtree better? Give us a holler.

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!