As end-users are using your Zingtree decision trees, you can add any information collected during the session into a MailChimp mailing list. Zingtree has a handy MailChimp App for just this purpose.
Here’s how to add data from Zingtree to a MailChimp list.
In Zingtree, go to Account, My Apps, and click add Add MailChimp. The MailChimp configuration screen appears:
Enter a name for this App. For example: “Add to Mailing List”.
Enter the MailChimp API Key. To find your API Key, log into MailChimp, and select Account, Extra, API Keys. Generate an API key if you haven’t done so already.
Enter your MailChimp List ID into the configuration. In MailChimp, click Lists, then select Settings from the drop-down next to your list. The List ID will be at the bottom of the page.
Click Add MailChimp App when finished.
Edit the node where you want to add to a MailChimp list. Look under Show Advanced Options, Send Message To App. Pick the name of the app you just created: “MailChimp: Add to Mailing List”.
Important: The field names you are using in Zingtree must match the merge tag names in MailChimp. So if you have merge tags NAME and ADDRESS in MailChimp, you would use variables named NAME and ADDRESS in Zingtree. You can find the merge tags for each field in MailChimp from List, Settings under List fields and *|MERGE|* tags. They will appear like this:
In Zingtree, the email address of the end user should be a variable named either EMAIL or email.
Once the end-user reaches the node you built in step 6, MailChimp will receive the information collected by Zingtree and add all matching fields to the list for email.
Do you have a cool application for this feature? Let us know on our Feedback page.
One of the process issues we’ve faced as a company is the amount of time it takes to coordinate scheduling online demos for prospective new customers. If only there was a way to intelligently gather background information from each prospective customer, and then route the requests to the proper team… oh, wait! Zingtree can do that.
If you request a demo from our Contact Us page, you’ll launch a decision tree that determines what sort of customer you are, gathers relevant background information, and then opens a scheduler built with Calendly for the relevant team.
Calendlyis really well designed, and about as easy to use as possible. You can set up individuals or teams, and Calendly accesses their Outlook or Google calendars so that the available times are shown for each person or group. Rather than having a ton of back-and-forth with every party involved, our customers can quickly see when we are available, and pick a time that works with their schedule.
Calendly also lets you pre-fill custom forms used in the scheduling process. So besides name and email, we create a backgrounder using Zingtree data entry fields and button click variables for each meeting request. Our calendar entries include something like this:
name: Joe Customer
company: Acme Widgets
Use_Case: Internal & External
Agents: up to 10
data_transfer: Send from Zingtree to another App
features: how to create trees
business: We manufacture widgets
how_help: save time in support
Not only do we make it convenient for the customer to provide this information to us, but also this helps us prepare properly for each meeting.
If you’re a Zendesk user in a Contact Center environment, you’ll want to be using our Zendesk Agent Scripting app. This makes it easy to guide, train and onboard agents and is a huge productivity booster for everyone.
The Agent Scripting app appears as a button in the right-hand panel:
Click Open Script, and you’ll see your decision tree in a pop-over like this:
If another agent picks up the ticket, they return to the last viewed node, and can see each step taken previously by opening the History:
Benefits of the Zendesk Agent Scripting App
Standardization: Show a guided path for each ticket, so that Agents follow the proper operating policies or troubleshooting procedures.
Pause and Resume: If a ticket is transferred, the supervisor or new agent is taken to the last place in the script, and can see the history of the previous steps taken.
Automatic Script Selection: The Agent Scripting App can choose a script based on the Zendesk brand, Zendesk ticket tags, or the value of a custom field.
Agent Feedback: Agents can send feedback directly to the authors of the decision trees with a single button click. Feedback is delivered to each author’s email, and includes the tree ID and node number where the feedback was sent from.
Zendesk Ticket Data in your Scripts: Values in any custom field, as well as Zendesk ticket tags and user tags, are transferred into your script so you can echo them, or use these variables to branch via Logic Nodes.
Automatic Ticket Updating: Tags and custom fields in the ticket can be updated from actions in the script – either via buttons clicked in the script, or from data entry collected.
New Features in Version 10
If you’re using a previous version of the Zendesk Agent Scripting app, you may want to upgrade to take advantages of these new benefits:
Pop-overs: Scripts now appear as pop-overs, rather than being constrained to the right-hand panel.
Ticket Updating: Your tickets can automatically update by navigating the script, or by entering data into Zingtree Data Entry Fields. For example, the start of your script could offer the agent a choice of a product, and the “product” field in your ticket will be automatically selected when the agent makes a choice.
Note: Don’t remove the current version of Agent Scripting until you are ready to make the switch. Versions 9 and earlier may not be updated going forward.
This two minute video shows you how Agents interact with the Agent Scripting App:
Here are the basic steps to get up and running:
Build an interactive decision tree script with Zingtree (or use one of our demos to start).
Install the Agent Scripting App (version 10) into Zendesk.
Configure the Agent Scripting app within Zendesk.
If you want to have your decision tree scripts update your Zendesk tickets, you’ll need to add variables and/or tags to your Zingtree tree to match your Zendesk setup.
If you want to enable automatic script selection, you’ll need to add tags to your trees in Zingtree and configure the Zendesk Agent Scripting app properly.
Installing the Agent Scripting App into Zendesk
Download and configure the Zendesk Agent Scripting App version 10 like so:
In Zendesk, click the Admin icon and go to Apps > Manage.
Click Upload Private App.
The Upload App page appears.
Enter “Zingtree Agent Scripting” for the App Name.
For App File, locate the filezingtree-agent-scripting-v10.zip you downloaded in step 1.
Click Upload, then confirm if necessary.
Configuring the App
Once you’ve uploaded the app, click App Configuration to see the configuration screen:
Here’s what each item does:
Tree ID: This is the default tree that appears when agents click “Open Script”. (You should always have a default tree.)
Hide Integration Setup Info: When you are setting up Agent Scripting for the first time, you may need some information about your Zendesk setup to take advantage of automatically updating ticket fields. An “Integration Setup Info” link appears by default when you first install the app, and ticking this option hides it.
Match Tree Tags to Zendesk Brand: If this option is checked, the subdomain of the selected brand will be matched to a Zingtree tree tag. Any matching tree or trees will appear. For example, if the brand subdomain is xyz.zendesk.com, any trees tagged as xyz (using the Zingtree Settings tool) will appear.
Match Tree Tags to Zendesk Ticket Tags: If checked, the values in the Zendesk ticket tags will be matched with your Zingtree tree tags (set via the Zingtree Settings tool) to show one or more matching scripts.
Match Tree Tags to values in a Custom field: If you want to use a custom field value to show matching scripts, enter the Zendesk custom field identifier here. The field name can be found using the Integration Setup Info link that first appears in the sidebar when you install the app.
Zingtree API key: Each organization in Zingtree has an API key, which is used to match scripts. If you’re using one of the tag matching options, this is required. Your API key can be found at zingtree.com under Help, API.
Enabling Automatic Script Selection
Automatic Script Selection works by matching tree tags you set in Zingtree to values in the Brand, Tags, or a custom field in a Zendesk ticket. For example, if a tree is tagged with “astrology”, and the ticket tags include “astrology”, then that tree appears. If several trees match, then they will all appear, and the agent can choose one.
To open a script based upon Brand:
Add tags to your trees for each brand you want to match. So if one of your brands is xyz.zendesk.com, use xyz as a tree tag in Zingtree for all the trees you want to show.
Make sure Match Tree Tags to Zendesk Brand is checked in the App Configuration.
To open a script based upon Zendesk ticket tags:
Add tags to your trees for each tag you want to match. So if one of your ticket tag possibilities is “billing”, use billing as a tree tag in Zingtree for all the trees you want to show.
Make sure Match Tree Tags to Zendesk Ticket Tags is checked in the App Configuration.
To open a script based upon a custom field:
Add tags to your trees for each possible custom field value you want to match. So if one of your custom field values is “billing”, use billing as a tree tag in Zingtree for all the trees you want to show.
Make sure the proper Zendesk field variable name is entered for Match Tree Tags to values in a Custom Field is checked in the App Configuration.
Adding tags to a tree in Zingtree is done like this:
Select a tree from My Trees.
Go to the Settings tool.
Click the Organize tab.
Enter or select a tag from the Tree Tags field.
Click Update Settings.
How to Configure to Update Ticket Fields
As agents navigate through your trees, their use of the decision tree scripts you create can automatically update any custom fields in that ticket. This can be done in two ways:
By clicking a button in a script
By entering data into Zingtree data entry fields.
The key is to use variable names in your Zingtree that match the ones used in Zendesk.
First of all, determine the names of the variables in Zendesk by clicking the Integration Setup Info link in the Agent Scripting app. You’ll see something like this:
You’ll see the label for the field as it appears in Zendesk’s ticket form, and the Zendesk variable next to it. In the above example, the Product custom field variable is custom_field_22899289. This is a drop-down selector, and the Zendesk values for the field options are astrology and insurance.
For the rest of this example, we’ll use custom_field_22899289as the custom field variable.
To make a button selection update a custom field, you’ll set it up in your Zingtree as follows:
Go to the Overview tool, and edit the node whose button selections will update the ticket.
Click Edit Buttons (or Add Buttons if you don’t have any buttons defined). The button editor appears:
Make sure Assign Button Click Variable is checked. This makes the other options appear.
For the Button Click Variable, enter your custom field variable from Zendesk (custom_field_22899289 in the example).
For each button option, enter the value of the variable under Score/Value. If this is a drop-down list in your Zendesk ticket, you’ll need to make sure the Score/Value entered matches one of the drop-down option values as shown in the Integration Setup Info.
Click Save Changes when you’re done configuring buttons.
Bonus: Adding Tags via button clicks:
Button clicks can also add tags to a ticket. In the above example, clicking Something Else adds the tag other_tag to the ticket. Just include the tag name with two colons after the button text. So entering a button like Something Else::other_tag will add the tag other_tag to the ticket if this is clicked, but agents will only see Something Else as an option.
Using Zingtree Data Entry Fields to Update Tickets
Just like the above example, you can also use Zingtree for data entry, and have that data automatically transferred to your ticket. The key is to use the same variable name in Zingtree as you used in Zendesk. The Integration Setup Info link in the sidebar will give you those Zendesk variable names.
Example: If you have a text entry field in Zingtree you want to update into the Zendesk field custom_field_1234, you would set up the variable name as follows:
Try It with Example Data
You can use trees from the Zingtree Gallery to see how the Agent Scripting app works.
For a single tree, enter ’14’ as the Tree ID. This will show an Astrology website troubleshooter example.
For multiple trees, see how a tree can be selected by tag by doing the following:
Enter 6a103737e44e4aa6e1e4b6b0bcb46f83 as the API key.
Make sure Match Tree Tags to Zendesk Ticket Tagsis checked.
Try entering one or more of these tags into a ticket: “zingtree”, “astrology”, “pet_rock”.
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.
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.
When editing your Logic Nodes, you can edit your rules as follows:
Reorder rules by dragging them up and down with this tool:
Delete a rule by clicking on this:
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.
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!
This article was originally published on May 8, 2017.
Slack has become the go-to collaboration platform of choice for so many companies, and people are also using it to track events. We have also recently adopted Slack and wanted a way to send messages to Slack channels whenever something occurred in one of our own Zingtrees.
So, as part of our mission to make Zingtree interoperable with as many popular platforms as possible, we’ve added this capability to our most recent release.
How it Works
When an end-user visits a node in one of your decision trees, you can have that node trigger a custom Slack notification. Once you set up Slack for your organization, any node in any tree can send a message to Slack.
Notifications in Slack look like this:
First, you need to give your organization access to the Slack app:
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.
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”.
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:
If you’re looking for a way to get started with securing access to your trees via Single Sign-on, you’ll first need to have an Identity Provider to manage your logins. Okta is a great service – it’s easy to set up, and very popular. This article will show you how to get Okta and Zingtree working together.
Set Up Overview
Configuring SSO requires Okta and Zingtree to share information with each other:
Okta needs information about Zingtree.
Zingtree needs information about Okta.
Once you have Zingtree and Okta successfully working together, you can limit access for authors and/or employees or agents.
For the setup, we recommend keeping two browser tabs open – one in Okta, and one in Zingtree.
To start, in the Zingtree top menu, go to Account, Single-Sign-on. You’ll see something like this:
You can switch between setup for Agents or Authors. Switch to Author setup by clicking this:
Switch back to Agent setup by clicking:
In the above screenshot, you can see the parameters (specific to your organization) to share with Okta. Let’s use this information to set up the Okta side:
If you haven’t already created a free Okta account, do it now.
Go to the Okta Dashboard.
Click Add Applications under Shortcuts.
Click Create New App.
Choose SAML 2.0 as the sign-on method, and click Create.
In the General Settings, give your application a name (like “Zingtree”), and click Next.
Under SAML Settings, configure it as shown below. For the Single Sign-on URL, use Zingtree’s Login URL. For the Audience URI, use Zingtree’s Entity ID.
Click Next to finish the SAML setup.
Now, let’s get some information from Okta:
In Okta, click Applications from the top menu, and go to Applications.
Click the new Zingtree application we created.
Click Sign on, then View Setup Instructions. Keep this page open in a browser tab.
Now go back to the Zingtree tab, and click Edit Identity Provider Data.
For the Zingtree Entity ID, use the Okta Identity Provider Issuer.
For the Zingtree Login URL, use the Okta Identity Provider Single Sign-On URL.
Copy the Okta certificate into the Zingtree certificate field.
Click Save Identity Provider Settings.
Testing Your SSO Setup
Once you’ve set up your Identity Provider and Zingtree for SSO, you can test from Zingtree as follows:
In Zingtree, go to Account, Single Sign-on.
Click the orange Test Agent Login or Test Author Login button at the lower right of the page.
From here. you can test logging into Okta from Zingtree. If you’re already logged in, the test will just return your email or another identifier from Okta. If you’re not yet logged in, the Okta’s login screen will appear, and then you will be returned to the Zingtree SSO test page after logging in.
Enabling SSO for Agents/End-Users
Once everything is working, in Zingtree go to Account, Single Sign-on. Click Enable Agents:
Next, you need to restrict access to each tree as follows:
Go to My Trees, and select the tree that you want to require SSO login.
Click the Settings tool, and you’ll see something like this:
Check Require Single Sign-on (SSO) Login to Access.
Click Update Settings.
Note: Once SSO is set up, any new trees created will have SSO required by default.
Enabling SSO for Authors
Once SSO for authors is set up and working, you’ll need to enable it as follows:
Go to Account, Single Sign-on.
Click Switch to SSO for Authors.
Make sure Enable Authors is checked.
One More Step: You also need to add authors to your organization via Account, My Authors. They will not be required to use a Zingtree login to gain access, but this also validates them as a person who has access to your organization’s trees.
Configuring Okta for Embedding or Pop-up Overlays
By default, Okta doesn’t allow logins from iFrames. You can override this as follows:
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.
There’s no getting around it – we love WordPress! As a powerful piece of software that enables people around the world to spread and share ideas, build amazing websites and more, we understand the need to be as integrative with this ever-popular tool.
Zingtree’s robust toolkit allows WordPress users to directly embed interactive decision trees into any web page needed, making it easy for customers and end-users to navigate through any process on your site in a simple question-and-answer flow.
Many of our amazing customers are already taking advantage of this plugin, by hosting powerful, customized decision trees directly on their respective websites! See if you could survive in the wild with this interactive journey built by Live Out There, then check out a robust and helpful troubleshooter decision tree from Screen Time.
Here’s how to get started with your own WordPress-hosted decision tree:
Some of our customers have asked for an extra level of security for their trees, such that only people authenticated via a corporate intranet can access it. This article shows how it’s done, for ANY login system on ANY intranet.
Universally restricting access is accomplished by having an internal server access the tree via a server-side include, rather than via a user’s browser via embedded code in the page. This means that all accesses of the tree come from a single corporate IP address or range. Zingtree has an IP filtering option for any tree, so it’s easy to restrict access and use whatever authentication processes are already in place on the corporate intranet.
The method described here can work with organizations using SSO (Single Sign On), or any other login system.
Create a web page for the tree to display on your internal server. This page will include the necessary JS and CSS files to show the tree. Load your tree using a server-side call, instead of embedding it into an iFrame or linking to a URL hosted at Zingtree.com.
The example above is written using PHP, but any server-side scripting language can be used. Our demo is a template around which a URL for a tree can be loaded. This template contains all the CSS and JS files needed to display a functioning Zingtree decision tree.
Zingtree is built on top of Bootstrap 3, so the basic Bootstrap files are loaded. There are a few custom controls as well included in the template.