V7.3 – Dynamic pick lists & web services

One of the most common features our customers use is dynamic pick lists (or radio/checkbox controls). Examples abound such as a List of products for a Sales Order / PO, Number of available vacation days for a Leave Approval, List of projects for a Time Sheet and many others. With frevvo, you could always setup dynamic options using a business rule written in JavaScript.

/*member productCode, productName, resultSet*/
var x;
if (form.load) {
eval(‘x=’ + http.get(‘http://localhost:18080/database/BIRT/allProducts’));
var opts = [];
for (var i=0; i < x.resultSet.length; i++) {
if (x.resultSet[i]) {
opts[i] = x.resultSet[i].productCode + ‘=’ + x.resultSet[i].productName;
}
}
Products.options = opts;
}

V7.3 – no JavaScript

Products-WS

Selection Control connected to a web service

Starting with V7.3 (late August 2017), you can select an Options Source in the Properties pane for the selection control (drop down, radio or checkbox). By default, the Source is Design Time which simply means the choices are static and the designer specifies the list of options by typing them in at design time. But, you can now select Web Service. If you do that, three additional properties appear below:

 

  • Options URL: This is the end point for the web service. If you’re using the database connector,  it’ll be the same as the URL used in the JavaScript rule above. The assumption is that this call returns either XML or JSON.
  • Value binding: the path in the returned XML or JSON that determines the value of the select control (what’s in the submission).
  • Label binding: the path in the returned XML or JSON that determines the label of the select control (what the user sees).

That’s it. The URL can also be dynamic.

Edmunds

Selection control connected to the Edmunds API

For example, the screenshot at left shows a checkbox control that’s connected to the Edmunds API. The Options URL depends on the Year since that web service API returns Car Makes for a particular year. The URL is set to:

https://api.edmunds.com/api/vehicle/v2/makes?state=new&year={Year}&view=basic&fmt=json&api_key=<key hidden>

When the user types something in Year, the web service is automatically called, the results are refreshed and the choices in the Car Makes checkbox will change based on whatever the web service returned.

V7.3 will be released at the end of August. Visit our website and sign up for a free 30-day trial if you’d like to learn more or contact us for more information.

How To: Dynamic email addresses

A question we get asked frequently is how to send an email from a form or flow submission where the email address of the recipient is dynamically determined at runtime. For example, I have a drop down control and if the user selects HR, I want the email to go to the HR Department (hr@example.org) and if the user selects Finance, I want to send it to Finance (finance@example.org).

It’s very easy in frevvo.

1. Create a hidden Email control in your form.

AdminEmail

Drag & drop an Email control in your form. In the Properties panel, uncheck Visible so the control is hidden from the end user. Name the control Admin Email. We assume that you already have a drop down control (in the screenshot, it’s called Department and the choices are HR and Finance).

When the user selects HR from the Department drop down, we’ll set the Admin Email hidden control’s value using a business rule.

2. Set the Admin Email address using a business rule

Create a simple business rule.

if (Department.value == ‘HR’) {
AdminEmail.value = “hr@example.org”;
} else if (Department.value == ‘Finance’) {
AdminEmail.value = “finance@example.org”;
} else {
AdminEmail.value = null;
}

In frevvo’s Winter release (expected in late 2017), you’ll be able to create these type of rules visually with the Visual Rule Builder.

3. Use the Admin Email control in the To: email

AdminEmailWizard

Email Wizard that uses a control template

In any Email wizard, you can use the Admin Email hidden control for the To:, Reply to:, Cc: and other fields. In the above example, we’ve used it for the To: field.

That’s it. When the User selects HR, the rule will set the Admin Email control to hr@example.org. When the form is submitted, the Admin Email template in the To: field will be evaluated and will resolve to the value of the corresponding control (hr@example.org). The email will be sent to the dynamically resolved email address.

frevvo + Google Apps: Part 4. Updating a Google Sheet

Does your organization uses Google Apps? You can combine frevvo + Google Apps to create some really cool and useful solutions. In Part 1 of this series, we saw how you can save (write) submissions to a Google Sheet. In Part 2, we saw how you can use the Google Distance Matrix API to automatically calculate mileage and reimbursement amounts. Part 3 showed you how to create dynamic pick lists from a Google Sheet (read).

google-ss-loc-ext

Google Sheet: Employee Location and Extension

Today, we’ll take a look at how you can update existing values in a sheet. It’s another common scenario that can be used for a variety of tasks (e.g. limiting the number of submissions for a particular form or creating a sequentially increasing counter). We’ll use this sample Google Sheet to discuss. It has a row for each employee: Employee Id, Location and Extension.

First, it’s important to note that Google Sheets is not a transactional system like a database and results can be unpredictable if multiple users update the same Sheet at the same time.

As before, you have to first get an access token. This is a one-time step. Login to your Google account and then visit: https://app.frevvo.com/google/consent. Follow the prompts and copy the access token and save it. Detailed documentation is here.

We’ve created a simple example form. Select the employee, a location and a new extension number. Click the Update Google Sheet button, wait a few seconds and see that the sheet was successfully updated. We did this using this rule:

if (UpdateGoogleSheet.clicked) {
var eid = EId.value; // Unique key in the Google Sheet row
var headers = ‘{“user”:”<google id>”,”password”:”<access token>”}’;
var updatequery = ‘/google/spreadsheets/update/key/<spreadsheetkey>?wsname=Locations&query=employeeid=”‘ + eid + ‘”‘;
var updateparams = ‘&updates=location=’ + Location.value + ‘,extension=’ + Extension.value;

eval(‘x=’ + http.put(updatequery + updateparams, null, headers, false));
}

  1. It’s triggered by clicking on the Update Google Sheet button.
  2. We setup headers and an update query using your access token and spreadsheet key (the long ID in the URL of the Google Sheet).
  3. Add updateparams: we’re updating location and extension with new values.
  4. Run the update – perform an http.put() and eval the results.

Try it yourself using the sample form.

Interested in learning more? Visit our website to view examples, watch videos, sign up for a free 30-day trial or contact us for more information.

Like what you see? Check out Part 5 which shows you how you can save documents generated by your frevvo form to Google Drive.

 

frevvo + Google Apps: Part 3. Dynamic Pick lists.

Does your organization uses Google Apps? You can combine frevvo + Google Apps to create some really cool and useful solutions. In Part 1 of this series, we saw how you can save submissions to a Google Sheet and in Part 2, we saw how you can use the Google Distance Matrix API to automatically calculate mileage and reimbursement amounts.

employees-sheetToday, we’ll take a look at dynamic pick lists (drop downs). It’s a very common scenario and, with frevvo, you can use business rules to dynamically initialize the options (choices) in a pick list from a Google Sheet. We’ll use this sample Google Sheet to discuss. It has a row for each employee: First Name, Last Name, Employee Id.

First, you have to get an access token. This is a one-time step. Login to your Google account and then visit: https://app.frevvo.com/google/consent. Follow the prompts and copy the access token and save it. Detailed documentation is here.

We use a rule to read information from the Sheet and populate the employee pick list. Here’s the relevant business rule:

var x;

if (Connect.clicked) {
var headers = ‘{“user”:”sales@frevvo.com”,”password”:”<access token>”}’;
var readquery = ‘/google/spreadsheets/query/key/<spreadsheetkey>/w/Employees’;
eval(‘x=’ +http.get(readquery,headers));

var opts = [”];
for (var i = 0; i < x.results.length; i++) {
opts[i + 1] = x.results[i].employeeid + ‘=’ + x.results[i].firstname + ‘ ‘ + x.results[i].lastname;
}
EId.options = opts;
}

  1. It’s triggered by clicking on the Connect button.
  2. We setup headers and a query using your access token and spreadsheet key (the long ID in the URL of the Google Sheet).
  3. Run the query – perform an http.get() and eval the results.
  4. Parse the results into an array. The array elements are “hagen=Walter Hagen” etc.
  5. Set the options to the array.
googleapps-picklist

Dynamic pick list from a Google Sheet. Click the image to try it.

The pick list will display the actual names (Walter Hagen, Alexa Stirling etc.) whereas the values returned upon selection will be the ids (hagen, stirling etc.) so it’s easy to perform further lookups.

You can try it yourself by clicking this link or on the image.

Interested in learning more? Visit our website to view examples, watch videos, sign up for a free 30-day trial or contact us for more information.

Like what you see? Check out Part 4 which shows you how you can update a Google Sheet with values from a form.

4 weeks vs 1 year? Really?

Building it themselves would be out of reach – we’re talking hundreds of thousands of $ and a year of time. With frevvo, it’s up and running in just a few weeks.

automation

Complex forms & workflows are really hard to program by hand

It started out as a casual conversation at lunch. But, I was so surprised at the answers I couldn’t believe my ears. Check out the little Q&A below with Courtney Bernard, one of our Customer Success whizzes.

FB (Frevvo Blog): What do you do at frevvo?
CB (Courtney Bernard): I wear a few hats in the Customer Success area. Obviously, some client services but I also do some training & customer support. I also do some of the voice overs for frevvo’s videos.

FB: This recent project, what’s it all about?
CB: It’s a customer in real estate (Jameson Sotheby’s International Realty). They sell real estate. But, before selling any property, it must first be listed – an MLS listing. That means filling out tons of paperwork – anyone who’s sold a house is probably familiar with this. You have to fill out literally dozens of forms, sign in a bunch of places, write in the same info over and over again, correct mistakes etc. It’s painful.

For our customer, obviously, speeding up the listing process is a good thing. They wanted to turn everything into an electronic form/workflow. No more mistakes, duplicate typing or signing, save tons of time.

FB: Ok, so what’d you do?
CB: We did it for them.

FB: Just like that?
CB: Well, no. This is an MLS listing. It’s huge. I’d guess there were 350 maybe 400 fields at least. And, it’s really complex. Many fields depend on others. For example, some fields are part of one type of listing others are not. Choose an option in one field and a bunch of other fields may be affected. We needed to generate a nicely formatted PDF. And, the entire form must work on a mobile device (usually a tablet) since associates are typically out in the field. So, it wasn’t easy to do.

468f687102e8ae95d3bb546f922f2ba9
FB: Put that in a bit of context for us. If I wanted to hire someone to build this, how long would it take?
CB: Well, it’s a guess since I haven’t estimated it but I’d say easily 4-6 man-months for development and about the same for QA. Then there’s PDF generation and mobile. Do you really want it to look good on a tablet? That takes work and lots of time. So, somewhere between 9 to 15 months is probably a good bet. Of course, that’s if it works at all. The complexity is high so there’s a definite risk that it’ll fail.

[Spoiler: This is the part where I couldn’t believe my ears.]
FB: How long did it take you?
CB: Well, they did some of the testing work. It took us about 80 hours (2 weeks) in total. Assuming they spent about as long, we’re talking about 4-6 weeks total.

FB: WHAT? 4 weeks vs 1 year? Seriously?
CB: Yes seriously. I mean the 4-6 weeks of work was spread out over 4 months (holidays, other projects, delays etc) so 4-6 weeks is the actual time we spent.

FB: How the heck is that even possible?
CB: I know. It’s crazy. frevvo is incredibly good at making these large, complex business forms usable. If you had a simple 1-page form with 10 fields, the difference wouldn’t be so drastic. But, as complexity rises, the # of fields increase, dynamic behavior, business rules, PDF, mobile etc. come into play, the cost of building rises dramatically. That’s where frevvo really shines. It’s amazing how easy it is.

FB: Jameson’s must have been pleased?
CB: Without question. They’re reasonably big but not huge. Building it themselves would be out of reach – we’re talking 100s of thousands of $ and a year of time. frevvo puts the benefits of this kind of automation in the hands of companies like Jameson Sotheby’s who realistically wouldn’t have access to it otherwise. That’s huge!

FB: And, what else do you do when you’re not helping customers succeed?
CB: Read, listen to podcasts, ride horses, go hiking, play with my son, watch Downton Abbey and root for my beloved New England Patriots.

There you have it folks! A single form that would have likely cost $100s of K completed in a matter of weeks and far far lower cost with frevvo. And that doesn’t even take into account the productivity benefits that will accrue for years to come.

Read the Jameson Sotheby’s International Realty Case Study. Highly automated organizations get 5X more done and save up to 80% of costs compared to those who are still using paper/email based processes. Why not try frevvo yourself? Contact us now for more information.

Form Design Tutorial

Using frevvo’s drag & drop Form Designer to design beautiful, usable forms is definitely intuitive. Still, it’s a powerful and extraordinarily capable product. We’ve recently put together this 26 minute Tutorial video that teaches you how to design even the most complex forms in frevvo in a step-by-step manner. Sign up for a free 30-day trial account and try the Form Designer today.

Contact us if you’d like to learn more about digitizing your own approvals with frevvo.

Do you “Like” frevvo?

I recently stumbled across this cloudtastic (Cloudtastic: a term used by those working with or in the cloud when finding something to be great or fantastic) article, “6 New Facebook Features for Business: What Marketers Need to Know.” This article made me stop and think of you, yes you. Do you like frevvo? I don’t mean “like” as in all of it’s wonderful features and benefits that increase business agility and enterprise mobility, but physically “like”. As in visiting our Facebook page and clicking “like.”

Untitled design-1

Now that you like us, thank you by the way, Facebook has added a new feature where you, yes you, can select frevvo to be seen first on your news feed. I love this idea as frevvo prides itself on a user friendly experience, just like this would be for you. frevvo’s most important updates at your finger tips whenever you glance at your news feed.

Let’s face it. Customization is amazing and it’s great Facebook has added it. This new customizable feature is another cloudtastic change to Facebook. Just like with frevvo’s products you can customize your Facebook to be exactly what you want! The goal of this feature addition is to allow you to see what matters most to you. If that’s frevvo, then take a look at how you can do this here. Unfortunately we do not have an instructional section for this on our docs page yet, but if you need any instructions for frevvo this where you want to go.

Once again, thank you for taking the time to “like” us on Facebook and being a customer. We do what we do to make your lives easier. Have a success story with frevvo? Share it with us, we love to hear how your business has been made easier!

Sign up for a FREE 30-Day trial!!

Follow us on Twitter, Google+, & LinkedIn

inevitable

http://www.socialmediaexaminer.com/6-new-facebook-features-for-business/