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.
If you’re using Data Entry Fields or Merge Variables to bring data into your decision tree session, you may want to perform basic math operations on these variables. Zingtree offers a stock webhook option that lets you assign a new variable to the results of an addition, subtraction, multiplication or division operation. Here’s how to set it up:
Edit the node where you want the new variable (the result of the math operation) to be calculated.
Click on Show Advanced Options.
At Send message to app, choose Webhook: Zingtree Math.
In the Message, you’ll need to provide the operation, the two variables or values to calculate, and a variable name for the result. In the example above, we’re assigning a variable named result to the sum of variables a and b. Variables must be enclosed in # characters.
Here are some message examples:
Sets variable c to 5+3
Sets variable net to the difference of variables gross and expenses.
Sets variable days = weeks * 7.
Sets variable weeks = days / 7.
You can use the following in the op= parameter:
The Zingtree Demo gallery has an example. You can try it and examine it.
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.
One of the most common requests we have had from customers is to make it easier to make Zingtree decision trees look even more awesome. So our design team and engineers worked together to make new animated themes, some colorful static themes, and an easy-to-use mechanism to make tree color customizations easy.
We really can’t emphasize enough how important customer data is — for any company in any industry. Gathering data from customers should be easy for them, and it should lead to accurate information for you. Without collecting key information, you can never truly understand your current and potential customers and their desires. How long do you think your company could survive without good data?
Frictionless Data Gathering
Interactive decision trees simplify the process of collecting information on any web page that customers land on first. Just by prompting customers to click a button in a decision tree, you’re collecting data!
Once you get customers engaged with a decision tree, they’ll be hooked. You can then ask for name and contact information using data entry fields. This data is easily sent to you via email, viewed with Zingtree’s reports, or exported into any database or CRM system. Zingtree can validate this data as well.
Case Study: Zingtree
We use this technique ourselves – the Zingtree “Request a Demo” button on our Contact Us page is an example that asks some questions, and then leads to this form:
Before our potential customers see this form, they have clicked some buttons to answer a few basic questions. And at the end of the process, we get an email with all of their information and can schedule a demo with the right expert. It’s an awesome source of leads for us.
The emails we receive at the end of the process look like this:
XYZ Corp requested a demo
Zingtree session data:
Q: I would like to:
A: Request a Demo
Q: How will you be using the Zingtree decisions trees you build?
A: External Use
Q: Are you looking to integrate Zingtree with other applications?
Q: Are you interested in self-hosting Zingtree?
A: Send Demo Request
zt_country: United States
zt_city: San Diego
integrations: Looking to retrieve all data points and button elections in a spreadsheet
Step 1: Build a Tree, and add a Data Collection Form
Ready to put this technique to use?
First, engage your customers with some questions answered as button clicks in an interactive decision tree, and at the end of the process ask for more info via a form. It’s easy for customers, and they are providing you fantastically helpful data.
What needs are you filling? Depending on the goal, you’ll want to be collecting different customer information. You can even automatically gather customer location, language, region, browser and more.
Step 2: Refine and Distribute Data
Before you send or publish any decision trees with forms, be sure to check your writing. It’s an often overlooked aspect of surveys, questionnaires and other means of data collection, but contributes greatly to the value of the information gathered.
We often get requests from companies that have deployed decision trees in the past with Yonyx and are looking to migrate to Zingtree. These occur for some of the following reasons:
Zingtree offers a better price with our pay-for-what-you-use model.
Zingtree tools are more modern, and easier to use.
Zingtrees present better. Customers have more options to create the look and feel they envision, choose custom colors and button styles, use effects and transitions, and better match their branding.
Customers like Zingtree’s integrations capabilities more – specifically the Webhook system and Zapier integration.
In response, we’ve created an import tool to make it easy to migrate your Yonyx trees to Zingtree. You can test out your Yonyx trees in Zingtree, tweak them, and see for yourself how they render and perform.
Here’s how to import Yonyx decision trees into the Zingtree alternative:
Export your Yonyx tree into XML.
In Zingtree go to My Trees, and click Import.
Pick Import from Yonyx XML file.
Select the Yonyx XML file to import. It will be uploaded and converted into a fully functional Zingtree decision tree.
Our interactive decision tree tool is a must-have for any business looking to skyrocket their customer service through self-help, organizations hoping to logically deliver answers, and even contact centers to guide their customer-facing agents through how-tos and support.
No matter what you use Zingtree for, getting your first tree deployed can be daunting for some. So have no fear, here are our top tips for breaking into the awesomely helpful world of Zingtrees:
1. Sketch out a Roadmap
Remember in school when you’d sit down, brainstorm a strategy, and whip out the perfect outline for getting started? It’s just like that! Whether it’s in list, mind map, or spreadsheet form, getting down the touchstones you need your tree to cover before you start building your tree is crucial and will make building your nodes and connecting them in a flow much easier. Compiling an outline is essential and will make the creation much more streamlined.
2. Go with What’s Already Been Built
We’re continuously updating the decision tree examples present in our Gallery. Here you’ll find a huge variety of pre-made decision trees for various use cases and industry-specific needs that you can edit, adjust, and customize to fit your needs.
Simply click the “Examine button to take a closer look, and the “Copy” button within that to create a replicated version that you can adjust as needed.
3. Use the Right Building Tool
We all know that there are different styles of learning, creating, coding and strategizing — for this reason, we’ve equipped Zingtree with a robust set of tools fit for everyone.
Visual Designer allows for a “white board” to create nodes, connections, and truly see the decision tree as it’s being built. Some Zingtree builders only use this mode as a way of aesthetically assembling decision trees.
Importing from spreadsheets lets you start the process in Excel or Google Sheets and then upload it all into Zingtree. A perfect solution for spreadsheet lovers!
The Wizard tool is ideal for anyone who likes simple question-and-answer style forms and will get you up-and-running after collecting some key information.
When you’re on a roll mapping out your decision tree you’re bound to run into a speed bump here or there, especially when dealing with conditional node flows. In practice, this means if you need two nodes connected you need to create both nodes before you create the connection between them.
If you’re stumped on the additional nodes, we recommend that you create simple untitled/undefined nodes to help you continue through the process. You can always go back to that node and edit appropriately as needed.
5. Use Sub-Trees for More Complexities
If you know you’re going to have a large project ahead of you, prepare more than one Zingtree to ease the pain in constructing one whole decision tree. In fact, when you’re in the planning stages, you will find these sub-trees occur naturally in complex decision trees. By containing themes and varying elements in different trees, and then later, linking them up into one final tree using Tree Links, you can concentrate on one element at a time!
6. Go Back With Snapshots
A very helpful feature we’ve built into Zingtree is Snapshots. Snapshots allow you to review edits and go back to previous versions of your tree – helpful when creating trees with multiple revisions. To find this tool, select More Tools > Snapshots. You can see any other team members’ work and revisions, not to mention, recover that past version.
7. Try Logic Nodes for Test, Questionnaires & More
Moving from A-to-B as easily as possible is our most base-level goal. Going a bit deeper, however, many businesses, educators, and other types of users benefit from having logic steps involved to quickly jump end-users to where they need to be, collect values associated with each selection, and more.
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.
8. Customize and Personalize Away!
We’ve said it before and we’ll say it again — customization is key. That’s why we make it easy to add in color and style wherever it’s needed! Need a pop of branded personality or just want to showcase your information in a visually-stunning way? No problem. With options to insert custom CSS files, adjust the appearance of buttons, and add videos, GIFs and other types of media, you can get as customized as you want.
We’d love to hear your tricks and tips for starting a Zingtree. Feel free to share on our Facebook Page!
This article was originally published in 2015 and has been updated for relevancy.
Many customers have asked for a way to include file uploads as a part of a Zingtree decision tree session. Some use cases include:
Attaching a screenshot.
Including a photo.
Uploading a document.
Using Data Entry Fields, you can pick the File Upload field type. This allows you to include one or more files in the session data gathered by Zingtree. When the end-user uploads a file, here’s what happens:
The file is copied from the end-user’s computer to a Zingtree file storage server.
Zingtree assigns a variable to the URL where the new file resides.
Security note: Each file uploaded has a random 7 digit prefix or session ID attached to it, so that files with the same name aren’t overwritten, and the file names cannot easily be discovered by hackers.
How It Works
When the end-user reaches a node with a file upload, they will see something like this:
Clicking Upload Document File allows them to choose a file on their computer. Once a file is chosen, the button changes:
How to Set up File Uploads
When editing a node, do the following:
Go to Data Entry Fields, and select Add:
Choose File Upload as the field type, and enter a variable name and label for the upload button:
Click Add Field.
Now click Save Changes to save changes in the node you were editing.