Category Archives: Product Updates

Generating Custom Documents Using Document Nodes


We’ve had several requests to create a final, single page document based upon answers to decision tree questions. Zingtree’s Document Nodes makes this powerful document generation capability a reality.

With the help of Document Nodes, you can now complete tasks like:

  • Making custom sales brochures.
  • Building legal agreements.
  • Generating purchase orders.
  • Creating evaluations and assessments.

For a simple example, examine our What Computing Device Do I Need? decision tree from the Zingtree Gallery.

Document Nodes Overview

Document Nodes display the content from one or more answer nodes on a single page, based upon variables and values. Variables can be from one of these sources:

  • Data Entry field values.
  • Scoring variables from button clicks.
  • Scoring variables set from Data Entry field list boxes or radio buttons.
  • Variables introduced from calls to Webhooks.

Here’s how it looks in the Document Node editor:

Note that scoring variables are a running total.  So if you set variable v to 1 in one place, and to 2 in another, the value of v will be 1+2 = 3.

Building a Tree to Generate a Document

To build a decision tree that generates a document based on answers selected, we recommend these steps:

  1. Create your question nodes, and assign variables to your responses.
  2. Create answer nodes for all of the possible snippets of content you’ll want to show in the final document.
  3. Create a document node.

Set Up: How to Create a Document Node

Here’s how to create a fully-functional Document Node, step-by-step:

  1. From Overview, click Add Node.
  2. Select New Document Node.
  3. Add the pieces of content you want to serve to your end-users.

Each piece of content is set up like the image shown below. In this example, if the variable phone_calls equals “Yes”, we add the contents of node #6 to the final document.

Using the Document Node Editor

Drag this to reorder the content:

Click this to delete the content from the document node:

Pick a variable to test:

Pick an operation:

Pick a value to test against:

Edit the contents of the included node:

Show the contents of the included node:

Try the Document Node editor with a demo page here.

Hint: Once the content from an answer node is inserted, it won’t be inserted again.

Debugging Tip

Use a node that shows your variables while you are testing. The What Computing Devices do I Need example tree uses Node #10 as an ending piece in the Document Node so you can see the value of all of your variables.

Live Example

The What Computing Devices do I Need tree demonstrates a simple tree with a Document Node at the end.  This tree helps an end-user decide whether they need a phone, tablet or desktop PC, based on the answers to some questions.

Have any questions, comments, or suggestions on this feature? Talk to us on live chat or by email!

This article was originally published on November 29, 2016. 

How to Use Process Flows to Build Mailchimp Lists

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.

  1. In Zingtree, go to Account, My Apps, and click add Add MailChimp. The MailChimp configuration screen appears:

  2. Enter a name for this App. For example: “Add to Mailing List”.
  3. 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.
  4. 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.
  5. Click Add MailChimp App when finished.
  6. 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”.

  7. 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:

  8. 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.

How to Do Math Operations in Decision Trees

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:

  1. Edit the node where you want the new variable (the result of the math operation) to be calculated.
  2. Click on Show Advanced Options.
  3. At Send message to app, choose Webhook: Zingtree Math.

  4. 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.

Example Calculations

Here are some message examples:

&op=plus&a=5&b=3&result=c
Sets variable c to 5+3

&op=minus&a=#gross#&b=#expenses#&result=net
Sets variable net to the difference of variables gross and expenses.

&op=times&a=#weeks#&b=7&result=days
Sets variable days = weeks * 7.

&op=div&a=#days#&b=7&result=weeks
Sets variable weeks = days / 7.

 

Operations Reference

You can use the following in the op= parameter:

  • plus
  • minus
  • times
  • div

Demo

The Zingtree Demo gallery has an example. You can try it and examine it.

View Demo

Zendesk Agent Scripting App – Version 10

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 upon 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.
  • 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.

Demo Video

This two minute video shows you how Agents interact with the Agent Scripting App:

 

Getting Started

Here are the basic steps to get up and running:

  1. Build an interactive decision tree script with Zingtree (or use one of our demos to start).
  2. Install the Agent Scripting App (version 10) into Zendesk.
  3. Configure the Agent Scripting app within Zendesk.
  4. 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.
  5. 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:

  1. Download the Agent Scripting app here.
  2. In Zendesk, click the Admin icon and go to Apps > Manage.

  3. Click Upload Private App.

  4. The Upload App page appears.

  5. Enter “Zingtree Agent Scripting” for the App Name.
  6. For App File, locate the file zingtree-agent-scripting-v10.zip you downloaded in step 1.
  7. 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:

  1. Select a tree from My Trees.
  2. Go to the Settings tool.
  3. Enter or select a tag from the Tags field.

  4. 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_22899289 as the custom field variable.

To make a button selection update a custom field, you’ll set it up in your Zingtree as follows:

  1. Go to the Overview tool, and edit the node whose button selections will update the ticket.
  2. Click Edit Buttons (or Add Buttons if you don’t have any buttons defined). The button editor appears:

  3. Make sure Assign Button Click Variable is checked. This makes the other options appear.
  4. For the Button Click Variable, enter your custom field variable from Zendesk (custom_field_22899289 in the example).
  5. 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.
  6. 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:

  1. Enter 6a103737e44e4aa6e1e4b6b0bcb46f83 as the API key.
  2. Make sure Match Tree Tags to Zendesk Ticket Tags is checked.
  3. Try entering one or more of these tags into a ticket: “zingtree”, “astrology”, “pet_rock”.

Any questions? We’re always here to help

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.

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.

Summer 2017 – Decision Tree Updates

This summer has seen a lot of improvements to Zingtree – both new features and updates. As part of our commitment to transparency, here’s what’s been changed since our last updates post:

New Features

Updates and Bug Fixes:

  • Update: Simple Overview shows tree ID in tree nodes
  • Fix: Content Editor: Pasting images inside an ordered or unordered lists no longer creates a new list. (Mark W., Antonio J.)
  • Update: New Browser tab graphics.
  • Fix: Deleting nodes now properly deletes attached data entry fields, webhook calls. (Soren)
  • Fix: Reimporting trees over previous tree now removes data entry fields from previous version. (Soren)
  • Fix: Pressing ENTER in date form field (or other fields) no longer shows “no tree specified” error. (Jay H.)
  • Update: Clicks and Usage report now includes info buttons for “Sessions Started” and “Sessions Clicked”. Because people have asked about this.
  • Fix: Changing custom CSS theme no longer changes look of Overview Thumbnails buttons.
  • Update: Cleaned up Zendesk Support app renderings for Q&A, All Data.
  • Update: Search in a tree, then back, no longer fails in Zendesk Agent Scripting app.
  • Update: Does date validation for specific formats (mm/dd/yy and dd/mm/yy). (Jay H, David R.).
  • UI: Added Import button to My Trees, removed some import options from Create Tree.
  • UI: More Tools is now organized better.
  • Fix: Generating transaction receipt no longer fails if no time zone set.
  • Fix: Tabs in gathered data no longer mess up Form Data report CSV export. (Mesam)
  • Update: Added Copy Organization option. (Ted B.)
  • Fix: Session Detail edit links now go to proper subtrees. (Lynne H.)
  • Update: Cleaned up file upload UI in Edit Node.
  • Fix: deploy/session-detail.php now shows questions / titles properly. (Alok)
  • Fix: Add/ Edit/Delete Collaborators now only updates rights on trees in the current organization. (Ted B.)
  • Update: added Tree ID and Node # to bottom of Agent Portal. (Sasha D.)
  • Fix: Pasting images now locates images in clipboard. Works better with SnagIt.
  • Fix: Empty fields (from visited nodes) now show up in form data. (for Ted B.)
  • Fix: validating multiple emails or phone numbers in a single form now shows status just on proper entry. (Jay H.)
  • Fix: validation badges for email, phone in placeholder mode now align properly. (Jay H.)
  • Fix: Designer no longer shows new override classes in labels.
  • Fix: Designer no longer incorrectly changes labels incoming to logic nodes.
  • Fix: Send custom email stock webhook now sets the reply-to properly. (Ted B.)
  • Update: Send Custom Email webhook can now handle multiple emails in the “to” field. (Ted B.)
  • Fix: Phone (tel) and email field types now properly autoload values from merge variables. (Jay H.)
  • Fix: Required fields with placeholders now have red asterisk and data entry field on the same line. (Jay H.)
  • UI: Edit tree node hides start node, return node when tree selection is unspecified or “return to previous tree”.
  • Update: Tree Node editor can now select a node to return to from a list.
  • Update: WP plug-in version 4.0 now supports pop-up buttons, multiple embeds on a page, and fixes scrolling issues.
  • Update: Creating a new organization can now automatically tie billing to existing org owned by Billing Admin or Super User.
  • Update: Super User now can manage billing Admin tasks as well. (Marc)
  • Update: Customer’s credit usage report shows Lookup Credits used (if any used).
  • Fix: Address, city, state and zip field types now properly autoload values from merge variables. (Jay H.)
  • Fix: Popup Overlay options now works properly when button text includes an apostrophe. (Albert D.)
  • Fix: Send Custom Email technique now manages line breaks in multiline text forms properly. (Nicola)

Got any bugs or suggestions? Please let us know!

Decision Tree Customizations – Animated Themes and Custom Colors

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.

You can try this now on one of your existing decision trees, by clicking Set Colors in the Settings tool. If you don’t have a tree built yet, try it using one of our Gallery trees.

Once you launch Set Colors, you can choose from various themes, and also customize the color scheme used in each theme. The control panel is easy to use – it looks like this:

This video shows some of the capabilities:

Here are a couple of examples of what your decision trees can look like:

Default View with Panels

Animated Radio Buttons View with Panels

Advanced Customization – Technical Details

Zingtree’s theme and color customization scheme works by generating a CSS file, which controls how your decision tree appears. If you want even more customization, you can:

  1. Extract the CSS file that Zingtree builds – this is in the Custom CSS URL field in Settings. (Just open that URL in your browser.)
  2. Modify the file in any text editor.
  3. Upload the modified file to your own server. (Note that this file must be accessible via an https URL. If needed, we can host it for you. Just ask!)
  4. Enter the URL of the new file in the Custom CSS URL field in the Settings tool.

Like this? Love this? Have a suggestion to make customizations even better? Let us know!

Credits: Iggy made the animated themes, and McDeb did some tweaks and cleanup to make them work with our customization scheme. Great stuff, people!

Yonyx Alternative – Better Guided Customer Interactions with Zingtree

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.
  • And more…

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:

  1. Export your Yonyx tree into XML.
  2. In Zingtree go to My Trees, and click Import.
  3. Pick Import from Yonyx XML file.
  4. Select the Yonyx XML file to import. It will be uploaded and converted into a fully functional Zingtree decision tree.

Are you looking to move from Yonyx? Tell us your story!

Upload File Attachments into Decision Tree Sessions

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.

Overview

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:

  1. The file is copied from the end-user’s computer to a Zingtree file storage server.
  2. 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:

  1. Go to Data Entry Fields, and select Add:

  2. Choose File Upload as the field type, and enter a variable name and label for the upload button:

  3. Click Add Field.
  4. Now click Save Changes to save changes in the node you were editing.

It’s that simple! This gallery example shows how a simple file upload tree is built.

If this is useful for you, let us know. We love customer stories!

Zingtree Enterprise: Self-Hosted Decision Trees

enterprise-BLOG

While we are highly focused on our own security and data integrity, we recognize that using a SaaS (Software as a Service) site like Zingtree may require approval from various departments. For many, the hosting of company data offsite immediately triggers a cautionary reaction.

To address these concerns, we have a completely self-hosted Zingtree version. It utilizes the same awesome tools found in Zingtree but packaged in a way that can be installed on any server with industry standard PHP and MySQL. A full source code license is included, as well as regular updates.

This self-hosted option has a lot of benefits:

  • Customer data remains on-site.
  • Data is not intermixed with other company’s data (in case of legal subpoena issues).
  • Full source code allows security specialists to inspect the code for any possible hacking loopholes.
  • The design and engineering teams can modify the code or design of Zingtree to their liking.
  • You can guarantee your own uptime.
  • Plus, we provide consulting, support and maintenance as requested.

Want to learn more about the self-hosted Zingtree Enterprise solution?

Please contact us with licensing questions, or to get started with your self-hosted Zingtree Enterprise solution.

This article was originally published on September 28, 2015, but the information is still just as relevant!