The Wufoo Blog

Archive of News & Updates

Quick Tip: How to Export All Your Data from a Form

By Chris Coyier · January 9th, 2012

You can export every single entry your Wufoo form has collected in one file. Perhaps you’ve run up against your maximum number of forms on your level of account and need to remove one to make room for another, but want to back up that data. Or say you are a spreadsheet wizard and want to do some fancy calculations with the data from there. Or perhaps you need a CSV file so you can move the form from one account to another. Well, here are the steps:

  1. Click the Entries button underneath the form you want to export from the Form Manager. This will take you to the Entry Manager.

    Buik Export - Step 1

  2. Click the Bulk Actions link to bring up the mass delete and export options.

    Buik Export - Step 2

  3. Click the Export button.

    Buik Export - Step 3

  4. Choose your file format preference: Excel (.xls), Tabs (.txt), or Commas (.csv)

    Buik Export - Step 4

And that’s it. Here’s a quick video demo showing it all in action:

Embed Wufoo Forms on Facebook Pages with our New App

By Kevin Hale · November 15th, 2011

Sweet succulent social media! It’s been a long time coming, but our team has finally put the finishing touches on our very own Wufoo Facebook App. Now, you can easily add a form to your Facebook page and easily collect information and leads from your fans. Here’s how it’ll look on Facebook:

What fans see.

To install the Wufoo Facebook App and get your Wufoo Form embedded on your Facebook Page, simple click the “Code” button beneath any form from the Form Manger, click the “On Facebook” tab, and click the “Add To Your Page” button. This will bring up a popup window to select which page you’d like to add it to. Select which page and add it, then head back to that page and click the newly-added “Wufoo Form!” tab to select which form you’d like to embed.

Screencast

Here’s a screencast showing how it all goes down:

Requirements

To integrate Wufoo on to your Facebook page, you’ll need the following:

Please note that you can only have one Wufoo App installed per Facebook Page, which means you can only associate one form with your Facebook Page.

Facebook App Login

After you install the Wufoo App to your Facebook page, you’ll see a prompt to login to your Wufoo account to access the forms you’ve created on Wufoo. If you’re already logged into Wufoo, you’ll just go straight to a list of your forms. One of the really cool things about this integration is that from Facebook, you’ll be able to access a mini Form Manager that’ll make you feel right at home to those familiar with our interface.

Forms view in Wufoo Facebook App

One thing some of you will notice is that the embedded forms on Facebook do not show the Form Title or Form Description from your Wufoo form. This is because Facebook already provides a place for a header for the tab. To change that tab’s name, just follow these instructions for renaming the Wufoo App’s tab title. If you need provide a description or instruction to your users at the top of the form, just use a Section Break at the top of the form in the Form Builder.

Thanks a lot for everyone’s patience and testing while we worked out all the kinks. We’re really happy with how everything turned out and hope you all will enjoy collecting data from your favorite social circles!

How to Create and Grade Quizzes using Wufoo, Python and Django

By Robert Graham · November 14th, 2011

This is a tutorial from guest blogger Robert Graham. He wrote a very cool bit of software on the Django framework for Python that is able to grade quizzes that are built from Wufoo forms. This tutorial is a bit more technical than what we usually serve up here, so if you’re a casual user, be prepared for hardcore code action.

Basic Features

This software (“wufoo_quizzes”) is able to extend the functionality of Wufoo by turning survey-like forms you build with Wufoo into quizzes that are graded. The user completing the quiz gets an email of their results or a certificate if they “pass” and the admin can get an email of the complete results of the quiz as a CSV file.

Dependencies

  1. Server running Python
  2. The Wufoo API Wrapper for Python : pyfoo
  3. python-dateutil - pip install python-dateutil
  4. django - pip install django

Step 1) Have a Wufoo Account & Create a Quiz

First, you’ll need a Wufoo account and a survey to use. The example I have tested this module with is about WWII history. Each quiz you use with this module will need a Name and Email field. Quiz questions are multiple choice fields, so they have one correct answer.

BuildingQuiz

Go ahead. Make your Wufoo quiz. I’ll wait. If you just want to follow along with this tutorial exactly, we put this exact quiz into the Wufoo Template Gallery.

Quiz in Gallery

Just click the Add to Wufoo button and it will be added to your Wufoo account.

Step 2) Environment Setup

Now you need to prep a place to run the quiz grader from. Let’s make a virtualenv for that. Why, you ask? David Fischer makes it clear:

If you develop a Python module and you don’t test it with virtualenv, don’t make your next release until you do.

Virtualenv creates a Python environment that is segregated from your system wide Python installation. In this way, you can test your module without any external packages mucking up the result, add different versions of dependency packages and generally verify the exact set of requirements for your package.

If you don’t have virtualenv:

pip install virtualenv

Environment setup:

virtualenv --no-site-packages grader
source ./grader/bin/activate
pip install python-dateutils
pip install django

This prepares a Python environment that does not connect to your local root site-packages for dependencies and installs two of the three dependencies for this project into it. Now, download the code for wufoo_quizzes if you have not already. Unzip that in your choice location. Finally, we download our last dependency, pyfoo, which allows us to talk to the Wufoo API from Python. Unzip the .zip file you download from GitHub, then place pyfoo.py and the scripts folder into the same directory that contains quizgrader.py from wufoo_quizzes.

Step 3) Quiz Answers and Settings

Edit the answers.txt file in the wufoo_quizzes folder to contain the name of your quiz followed by new lines in a question: answer format.

Example:

WWII History Quiz
Which country or countries benefitted from the Lend Lease Pact?: Both
Which is a German field commander who fought a brilliant campaign on the Eastern front?: Manstein
When did the Allies break out of Normandy?: August 1944

You can place more quizzes in this answers file like so:

WWII History Quiz
Which country or countries benefitted from the Lend Lease Pact?: Both
Which is a German field commander who fought a brilliant campaign on the Eastern front?: Manstein
When did the Allies break out of Normandy?: August 1944

Other Quiz Name
Question 1: True
Question 2: False
Question 3: Honey Badger
Question 4: Vegas, Baby!

Make sure the question and answer text exactly matches what is on your Wufoo form. I copied and pasted mine directly from Wufoo after finishing the form.

You will also need to configure settings by creating a file named ‘locals.py’ in the same directory as quizgrader.py from wufoo_quizzes. You can copy and paste what you’ll need from quizgrader.py or the example setup below:

email_password = 'pw'
api_key = 'APIKEY'
wufoo_account = 'account' # this is the 'youraccount' part of youraccount.wufoo.com
smtp_host = 'smtp.gmail.com'
email_user = 'you@example.com'
templates = ('/your/path/to/this/project/', '/your/path/to/the/template/dir')
admin_email = 'admin@example.com'
admin_email_subject = 'Quiz Results'
success_message_text_alt = "This is an text only alternative message for those users pass the quiz"
required_score = 80.0 # 80% to pass
send_user_emails = False
send_admin_email = True
  • Please note that the email_password is the password for your email_user on your smtp_host.

  • api_key is the Wufoo API key from your Wufoo account’s API page.

  • wufoo_account is the subdomain piece in ‘wufoo_account.wufoo.com’ which you can see when logged into Wufoo.

  • The templates setting tells quizgrader.py where to find the template files that are included in the template directory. You can move those around if you like, but I had to give the directory of wufoo_quizzes and the templates directory to make sure Django could find the templates.

  • admin_email is the email address that will receive the results from the grading in a CSV with the subject line of admin_email_subject.

  • success_message_text_alt allows you to specify a text only message for user emails that pass the quiz. The default template for success is an HTML email which may not work in all email clients.

  • required_score is the score threshold for pass/fail on your quizzes.

  • send_user_emails and send_admin_email lets you specify if you want the system to send emails at all. All results are printed to stdout if not.

Step 4) Time to Take Over the World

Run the grader, receive emails, change your life! (Make sure you activate the virtualenv as above first.)

python path/to/quizgrader.py

You should see something akin to:

GreenEyedDevil:rgraham-wufoo-quizzes-tip rgraham$ python quizgrader.py 
WWII History Quiz Scores:
guy@example.com scored 0.00 percent on WWII History Quiz.
rgraham@example.com scored 100.00 percent on WWII History Quiz.
Sending failure message to: guy@example.com
Sending certificate to: rgraham@example.com

Users who fail the quiz will get a text email from the template failure.txt like this:

Quiz Failure

Users who pass the quiz will get an HTML email from the template certificate.html like this:

QuizCertificate

The admin will get a text email from the template weekly-email.txt like this:

Admin Quiz Results

The templates used to send emails are examples that you are welcome to use, but you may wish to include your own information in them. These templates use the Django template system and are easily modified to suit your purposes. Large changes, like what data is dynamically included in the templates will require you to modify the code, but any static changes can be made as easily as changing any text file.

Step 5) Extra Credit

Setup this script to run using cron. If you’d like to get results only from the last week, you can make some small changes to quizgrader.py to make that happen. Uncomment the if statement where you see (2 locations):

# FIXME make the date specifiable
#if datetime.datetime.strptime(entry[date_created.ID], "%Y-%m-%d %H:%M:%S") > (datetime.datetime.now() + relativedelta(weeks=-1)):

Changes weeks=-1 to whatever date range you have in mind. weeks=-2 for the last two weeks of results. days=-1 for the last 24 hours of results. You will probably connect this interval to your cron interval.

Disclaimer

This is a pretty light weight solution that is not suitable for extremely high traffic forms, but it might be just right for you or give you a starting point for building something more robust.

Questions?

You can also email me with requests or issues. I’ll do all I can to help. Thanks for following along and good luck quizzing!

Robert Graham is a developer, software entrepreneur, and consultant who maintains a blog about the experience. Robert has been working in software since 2005. He is a Ph.D. dropout who spent time working for Google. Someday he’d like to work for himself.

Move Your Collected Wufoo Data Onto Any Web Form with Automato

By Chris Coyier · November 1st, 2011

automato-logo

Let’s say you’d like to use data that you’ve collected through your Wufoo forms somewhere else on the web. Maybe you need to take some patient information you’ve already collected and move it into another system. Or maybe you have a recipe blog and you use a Wufoo form to collect submissions from the public - and you want to be able to easily move the best submissions into WordPress to publish. Automato might be just the tool for you! It is a browser extension for Google Chrome that connects to your Wufoo account and allows you to visually map data to form fields. No programming required!

How-Automato-Works

Let’s let them show you exactly how it works:

So essentially you visually “map” fields from your Wufoo form fields on another form. If you can see that form on the Internet, you can get your Wufoo data into it.

Automato Mapping

Getting started with Automato only takes a few seconds. Head over to the main Automato site (must be using Google Chrome) and click the button to install the browser extension. After installation, you’ll see a tomato icon in your browser toolbar:

Automato Icon

Click on it, then click on “Add Data Source” in the upper right. You’ll be taken to a page where you can add your Wufoo information (subdomain and API, which it helps you get) and then you’ll be able to select any of your Wufoo forms as a “data source”.

Now when you’re on any page on the Internet with a form on it, you can select a Wufoo form as the data source, and drag the red squares underneath the fields to the red squares attached to the form fields to map them. Then you’re all set. Clicking on any entry in the Automato window will prefill those fields with the correct data.

Thanks to Adam Varga, James Saadi, and the whole Automato team for building this very cool integration!

Email Marketing Service ActiveCampaign Now Has Wufoo Integration

By Chris Coyier · October 12th, 2011

ac_logo_640x384

If you are a user of the email marketing service ActiveCampaign, commence the rejoicing! Their new Wufoo integration allows you to add people to your mailing lists directly from your Wufoo forms.

Now you get all the great stuff you automatically get with a Wufoo form (validation, notifications, stunning good looks, etc) and have it work with your favorite email marketing service.


ActiveCampaign External Services

To use this, you’ll need an account on both Wufoo and ActiveCampaign. Then follow their documentation on how to set it up. You’ll be growing your email subscriber list in no time!

This integration uses our WebHook notification system, which can send real-time data from form submissions to anywhere on the web. Cool huh?

How To Charge a Separate Fee for International Shipping on Payment Enabled Forms

By Chris Coyier · October 10th, 2011

Shipping a package across country lines usually incurs higher costs. If you’re a business that sells products to an international audience, you probably pass those costs along to those customers by charging a higher shipping and handling fee depending on their location. If this is something you’d like to do on your payment-enabled Wufoo form, read on and we’ll show you how you can conditionally attach an international shipping fee based on their input into an address field.

1. Build a Payment-enabled Form with an Address Field

You’re all probably old pro’s at this, but just in case, you can learn about building your own forms here and making them payment enabled here. Just make sure your form is collecting an address that’s collecting the Country your user is from—a very easy thing to do with our fancy pants “Address” field.

2. Add a Checkbox for International Shipping

Don’t worry, your users won’t see it. We just need it there because we are going to attach our fee to this particular checkbox and control it programatically from the back end.

Create a multiple-choice field with 1) only one option labeled “International Shipping” 2) No title 3) Pre-checked (click the checkbox next to where you label it) and 4) has the CSS Keyword “cloak” (this will keep it invisible).

International Shipping Checkbox

3. Add a Field Rule

To make this international shipping charge conditional based on the country they select, we need to add a Field Rule. Back at the Form Manager, click the Rules button beneath that form and click the New Rule button to add a new Rule.

What we want to do is HIDE our international shipping checkbox (so it won’t be a part of the payment calculation) in the event that the country dropdown be either blank or our home country.

Field Rule for International Shipping

4. Attach a Payment Amount to the Checkbox

Payment Settings for International Shipping

The logic is now in place. If a country is selected that isn’t the home country, the checkbox for international shipping is “shown” (still visually hidden, but now can participate in payment calculation). We just need to make sure there is a value attached to it. Head back to the Form Manager and click the Payments button beneath the form.

This screen is where you set up all your payment settings, including assigning prices. In this simple example, there is a base price of $15.00. We then selected the checkbox from the “Assign Prices to Field” dropdown and applied the $5.00 fee.


5. And You’re Done

Running Total with International Shipping

That’s all there is to it! If you want to see it in action, see our live example here. You can see it work in the Running Total area of the form. And if you submit the form, you’ll be redirected to PayPal where you can see the correct total passes along.

‘Dial Your Leads’ Integration Makes You The First Voice New Leads Hear

By Chris Coyier · September 28th, 2011

DialYourLeads

Dial Your Leads is a service that puts you in immediate phone contact with new leads captured from the web. Imagine you run a real estate business and create a Wufoo form for capturing info from families who are looking for a new home. With Dial Your Leads integration, that form submission can trigger a phone call between you and this new family immediately.

To use this integration, you’ll need a Wufoo account that you’ve built some type of lead capturing form. Then you’ll follow their instructions on using our WebHooks notifications. No fancy programming required! They also have a tutorial video if that’s your speed.

Dial Your Leads Integration

Thanks very much to Mike Frager and the Dial Your Leads team for working on this integration! They are the latest addition to our partners page. If your application has built an integration using our APIs or WebHooks, make sure to fill out our Wingman application so we can return the favor.

You Can Now Embed Wufoo Forms on WordPress.com!

By Kevin Hale · September 13th, 2011

Hey, hey, hey! We’ve got a new embed snippet available in the Code Manager to help our friends on the WordPress platform more easily embed your Wufoo forms safely and securely on your favorite blogging platform. The new WordPress Shortcode snippet can be used in two ways: You can either use it in conjunction with our new WordPress Shortcode Plugin or right away on blogs hosted at WordPress.com.

WordPress Shortcode

Embedding on WordPress.com!

There are over 58 million blogs powered by the WordPress platform and nearly half of them are hosted over at WordPress.com. Because the hosted service doesn’t allow JavaScript or iframes to be used on these blogs, it unfortunately wasn’t possible to embed a Wufoo form directly on these blogs before today.

Thankfully, the WordPress guys have a wonderful API to allow services to create shortcode versions of their snippets that can be used safely. What’s a shortcode?

A shortcode is a WordPress-specific code that lets you do nifty things with very little effort. Shortcodes can embed files or create objects that would normally require lots of complicated, ugly code in just one line. Shortcode = shortcut.

For example, here’s an example of a Wufoo shortcode snippet:

[wufoo username="master" formhash="m7w7z1" autoresize="true" height="505" header="show" ssl="true"]

As you can see it’s a lot easier to understand than our other snippets and very simple to adjust to your needs. If you wanted to say, hide the form title and description, you can just set that header="show" parameter to header="hide" and BAM! you’re ready to rock like a 18th century French aristocrat. Many thanks goes out to Evan Solomon over on the Automattic Team for helping us get this integration up and going so quickly. You are a wizard and a gentleman.

Wufoo Shortcode Plugin

Now, if you host a WordPress setup on your own server, you probably know that you can already copy and paste our JavaScript and iframe snippets to embed a Wufoo form on your WordPress posts and pages. The trick, however, is that you need to make sure to be in the HTML tab of the writing area. If a user is in the Visual (default) tab, the embed code will not work. Shortcodes, however, will work either way and, as we’ve shown you, they’re clean!

Wufoo Shortcode Example

If you want to use these shortcodes on your own WordPress installations, just install our WordPress Shortcode Plugin on your blog and then you’ll also be ready to rock. For old school manual installation people: copy the folder “wufoo_shortcode” into the /wp-content/plugins/ folder. Then go to the Plugins area of the Admin and activate. Otherwise, search for Wufoo Shortcode Plugin from the admin area of your WordPress site in Plugins > Add New.

How to Add Social Media Sharing Buttons
to a Form’s Confirmation Page

By Chris Coyier · September 2nd, 2011

It’s usually a challenge marketing and promoting anything these days and getting people to do it for you is the holy grail. It might be one of the reasons why social media marketing has gotten so big these days. In this tutorial, we’re going to show you how you can add social media sharing buttons to your form so that you can get your users to help you spread the word and make your next promotional campaign successful.

For the sake of demonstration, we’re going to create an example promotion that gives away…I don’t know…FREE Loose Meat Sandwiches from McLoosies (my favorite!) and we’re going to use a Wufoo form to collect email addresses to let people know that our shop now features MORE loose meat! Here’s how we’ll get our fans to help spread the news.

1) First, build a form.

You smarties are probably masters of this but just in case you need a refresher on form building, check out this documentation (including video walkthrough) of how our Form Builder works.

Get a FREE Loose Meat Sandwich!

2) Add Social Sharing Buttons to the Confirmation Message

While still in the Form Builder, under the Form Settings tab on the left, you’re going to customize the confirmation message that users will see after filling out your form. Because Wufoo allows you to use HTML here, we’re going to add some anchor links with images inside them. Each social service has their own special link format for sharing new content. For example, Twitter just takes one URL parameter called Status:

<a href="http://twitter.com/home?status=TWEET-GOES-HERE-(includeURL!)">
   <img src="http://yoursite.com/twitter-icon.png" alt="Share on Twitter" />
</a>

Here’s Twitter, Facebook, and Delicious all together. All the “whitespace” is removed from the HTML so they show up nicely in a row.

<a href="http://www.facebook.com/sharer.php?u=https://examples.wufoo.com/forms/get-a-free-loose-meat-sandwich/&t=Get%20a%20FREE%20Loose%20Meat%20Sandwich!" target="_blank"><img src="https://s3.amazonaws.com/wfo/images/facebook_32.png" alt="Share on Facebook" /></a> <a href="http://twitter.com/home?status=I%20just%20got%20a%20FREE%20loose%20meat%20sandwich!%20https://examples.wufoo.com/forms/get-a-free-loose-meat-sandwich/" target="_blank"><img src="https://s3.amazonaws.com/wfo/images/twitter_32.png" alt="Share on Twitter" /></a> <a href="http://del.icio.us/post?url=https://examples.wufoo.com/forms/get-a-free-loose-meat-sandwich/&title=Get%20a%20FREE%20Loose%20Meat%20Sandwich!" target="_blank"><img src="https://s3.amazonaws.com/wfo/images/delicious_32.png" alt="Share on Delicious" /></a>

If you use this as a template, remember to customize the URL’s and messages for your own promotion! The icons we’re using are super nice icons from Komodo Media. That set has a bunch more icons in it if you wish to use different/more services.

Get a FREE Loose Meat Sandwich! · Confirmation

3) Deck it out!

You’ll probably also want to:

Free Loose Meat Coupon

Allow your Clients to Embed Wufoo Forms with YikeSite

By Chris Coyier · August 28th, 2011

Have you ever wanted to have your own CMS that you could resell to each of your clients? YikeSite is exactly that, only you don’t have to build the CMS yourself. In other words, YikeSite is hosted “white label” CMS. So you can build your own site with YikeSite, but it’s more about reselling to your own clients for them to manage the content on their own sites. And now those clients can embed Wufoo forms into the pages they build through their new Wufoo integration.

Here’s how it works from the user’s perspective:

YikeSite Integration

YikeSite is using the Wufoo Form Embed Kit for this integration. They’ve done a great job. This is the perfect use case for it. Other CMS developers, take note!

Jeff Ward of YikeSite told me today is YikeSite’s 4th birthday. Happy Birthday YikeSite!

  • Search

  • About

    The Wufoo Blog is the official online publication written by the developers of Wufoo about their online form builder, form-related technologies, and whatever else may fit their fancy—like robots.

  • Archives

Need Your Help