Author: Courtney Bernard

Go the extra [online forms] mile

simple-visual-tools.png

Forms are a part of life but they don’t have to be tedious and ugly. Clean, well-designed online forms help customers provide needed information quickly and painlessly. What if your existing employees could do it all using simple visual tools without coding?

Join us for this 45 minute webinar on Nov 15 at 1:00 PM EST. We’ll show you online forms that:

  • Look great on all devices.
  • Dynamically adjust so they’re easy to complete.
  • Never need to be printed.
  • Route automatically for approvals.
  • and more …

save-my-seat

[Webinar] Generate custom PDFs from your automated workflows

pdf-generation.png

It’s a common requirement among our customers – they love the advantages of online workflows such as dynamic behavior and built-in mobile but need to generate their own PDF document. For example, a Federal W-4 or I-9 during Employee On-Boarding. With frevvo, you don’t have to choose.

save-my-seat.png

Join us on this webinar on June 7 at 1.00 PM EDT. In just 45 minutes (including Q&A), we will:

  • show you examples that customers are using today, and
  • demonstrate how you can drag & drop to easily create your own custom PDFs.

You can generate multiple PDFs, conditionally generate some PDFs and not others (e.g. a state W-4 depending on which state the employee resides in), save these PDFs in back end systems, send them by email etc.

Learn more: Try an example and read detailed documentation on our website.

[HowTo] Create a Salesforce Lead from frevvo

art-cogs-colorful-171198 (1).jpg

In the last post, we described how to integrate a frevvo form/workflow with Quickbooks to create a new customer. Another common integration we see is with Salesforce. Similar to the Quickbooks integration, you can use the combination of Google Sheets + Zapier to make things happen in Salesforce when a frevvo form/workflow is submitted.

For example, let’s say you want to create a new Lead in Salesforce. The process is very simple and similar to the Quickbooks example.

1. Create your Google Sheet

Screen Shot 2018-05-21 at 9.23.54 PM.png

Our example has several fields as shown above and test data in the first row. Make sure yours has a header row and at least one row of sample data. The columns in your sheet will depend on your Salesforce Lead fields. You must have a column for each required Lead field.

2. Create a Zap (in Zapier) and setup Google Sheets

Select Google Sheets as the trigger app, choose “New Spreadsheet Row” as the trigger, connect your Google Account, choose the Spreadsheet and Worksheet and pull in the sample row you created earlier.

 

This slideshow requires JavaScript.

3. Connect the Action of the Zap to Salesforce

Choose Salesforce as the Action App, select the Create Lead action, connect your Salesforce account, map fields to setup the Salesforce Lead template, and run a Test. Assuming the test is successful, give your zap a name and activate it.

 

This slideshow requires JavaScript.

4. Create your frevvo form or workflow and connect it to Google Sheets

Create the frevvo form with the appropriate fields and connect it to Google Sheets using the Save to Google Sheets wizard. When the form is submitted, a row is created in your Google Sheet. After a few minutes, the Zap will pick up the new row from the sheet and create your new Salesforce lead.

That’s all there is to it. With frevvo + Google Sheets + Zapier, you can easily and affordably integrate with 1000s of applications that Zapier supports without writing a single line of code.

Give it a whirl – sign up for a free trial today.

Visual Rule Builder Part 2: Subtotals and Totals

rules.jpgIn a previous article, we discussed how the Visual Rule Builder (VRB) update – it looks like it’s coming next weekend and we’re really excited – makes it super-simple to initialize forms with the current date, personal information etc.

Of course, real-world forms and workflows have many kinds of business requirements and another common one is the need to compute a subtotal and a grand total in a table of line items.

The form might look something like this. There’s a Table with four columns : Item description, Quantity, Unit Price and Subtotal. The Subtotal for each line is computed as the product of Quantity and Unit Price. There’s also a Grand Total which sums the individual line items.

Screen Shot 2017-12-05 at 1.58.35 PM.png

Prior to the VRB, you’d have to write a JavaScript rule as shown below

var tot = 0;
for (var i = 0; i < Quantity.value.length; i++) {
if (Quantity[i].value > 0 && UnitPrice[i].value > 0) {
var subtot = Quantity[i].value * UnitPrice[i].value;
Subtotal[i].value = subtot;
tot += subtot;
} else {
Subtotal[i].value = null;
}
}
GrandTotal.value = tot;

Once again, it’s not wildly complicated but there are a few quirks that could trip up someone who’s not used to coding e.g. a temporary variable is required to compute the Grand Total, there’s a for loop and the repeating fields need to be treated as arrays. The syntax can be a bit confusing, it’s easy enough to make a mistake and hard to debug.

Enter the Visual Rule Builder

With the VRB, it’s simple and anyone can do it. We’ll create two separate rules, one for the subtotals and another one for the Grand Total.

1. Open the VRB and set the condition. This is when we want the rule to fire. In this case, a Subtotal can only be calculated when we know the Quantity and Unit Price so that’s what we setup in the first panel of the VRB wizard.

Screen Shot 2017-12-05 at 2.34.50 PM.png

2. The next step is to define what actions to take when the condition is TRUE. Once again, with the VRB, it’s straightforward. We want to multiple Quantity and Unit Price.  So, we simply Set the Subtotal to the desired expression. We don’t have to worry about the fact that these are repeating fields in a table, there’s no for loop or array indexes to consider.

Screen Shot 2017-12-05 at 2.38.18 PM.png

3. Finally, in the last panel of the VRB wizard, we set the Subtotal to empty when the condition is FALSE. This ensures that the Subtotal will be cleared if Quantity or Price are empty.

Screen Shot 2017-12-05 at 2.39.47 PM.png

4. The last step is to calculate the Grand Total. Finish the above rule, create a new one and open the VRB. There is no Condition required so leave it empty. On the next panel we use a function to set the Grand Total to the Sum of all the Subtotals. That’s it. The SUM () function is smart enough to ignore empty rows and treats them as 0’s.

Screen Shot 2017-12-05 at 2.42.49 PM.png

5. The final rules look like this.

Screen Shot 2017-12-05 at 2.44.35 PM.png

6. Test the form. You’ll see that the Subtotals and Grand Total are automatically computed as desired.

Screen Shot 2017-12-05 at 2.47.17 PM.png

That’s it. Quick and easy – anyone can do it. This VRB update is coming really soon and we’re very excited about it because simplifying JavaScript rules has been a high-priority request from our customers. Contact us for more information and to try out the VRB for your own business forms.

Visual Rule Builder (VRB): Part 1

In recent articles, we’ve discussed how frevvo and other low-code platforms are making it easier for citizen developers who aren’t coders-by-trade to create effective, high-quality apps. Customers love the flexibility and power of frevvo when it comes to creating dynamic forms but, sometimes, they struggle with writing business rules in JavaScript.

We’re constantly working on improving our product to reduce the need to write code. We’re about to release an upgrade to the Visual Rule Builder (VRB) that’ll let you visually create even more dynamic behavior. Let’s take a look at an example. One of the most common business rules is to initialize a form with the current date and user data (first name, email address etc.) Until now, you had to write a rule like this:

if (form.load) {
TodayDate.value = frevvo.currentDate();
var ud = frevvo.userDetails();
UserId.value = ud.id;
FirstName.value = ud.firstName;
LastName.value = ud.lastName;
FullName.value = ud.name;
EmailAddress.value = ud.email;
ManagerId.value = ud.reportsTo;
}

It’s easy to make a mistake and hard to debug. In subsequent articles, we’ll see examples of even more complex rules.

Enter the Visual Rule Builder

Setting up your form for the above dynamic behavior is trivial with the VRB.  You simply use visual wizards. Let’s say, you’ve built a form with a few fields shown below. There’s a date field for Today’s Date and a Persona Info section with some user-specific data.

00-Date-Personal-Form.png

1. After you open the Rule Builder wizard, choose which field you want to Set from the pick list. The pick lists shows all available fields.

02-Choose-Field

2. What do you want to do? You can set a value, set a label, show/hide the control, enable/disable the control etc. In this example, we wish to initialize the controls and we’ll choose accordingly.

03-Choose-Operation

3. What do you want to set it to? You can use the slider to choose a literal value (e.g. 3 or the string “Joe”) or a function/expression. We’ll deal with expressions in a later post. In this case, we want to use built-in functions for today’s date and user-information. Start typing in the text box and matching functions will pop up. It’s very similar to Excel or Google Sheets. For each function, available parameters and detailed help is also displayed.

05-Choose-Function

4. When you’re done with all the fields in our form, it’ll look like this. We’re setting the TodayDate field to today’s date using the today() function and the various Personal Information fields to user-specific information using the appropriate userXXX() function.

06-All-Fields-Set

5. When you click Finish, the VRB wizard pops down and you can see a synopsis of the rule. Click any pencil icon to edit the rule and change the actions being taken.

07-Final-Rule

 

6. Test the form. You’ll see that all fields are automatically initialized as soon as the form loads to the appropriate values.

08-Test-Form.png

That’s it. Quick and easy – anyone can do it. This update to the VRB will be available in December 2017 (just a few days). Making JavaScript rules easier is one of the highest priority items for our customers and we’re excited about this capability. Subsequent posts in this series will explain other examples of rules that are much easier using the VRB.