Last updated: August 2013
If you are a webform fan (like me) you're probably quite aware of the vast amount of related modules available. But it can be quite confusing HOW MANY modules there are when you get started. Also some of them are duplicates or don't work well.
So here is a list of webform related modules (for Drupal 7) at your service, hand picked and tested. If you want us to add modules to the list please leave a comment and we'll update this blogpost.
Webform related modules
The Form Builder module is an excellent interface improvement for creating webforms. While the icons and the styles might need some improvement the overall concept is much better than the default field_ui style interface.
Webform Alternate UI
The Webform Alternate UI is a module building on top of the Form Builder project and aims to improve the interface for survey creation (and fixes some usability problems). Unfortunately it's not very well maintained and in my opinion it also focuses too much on the survey creation use cases.
Have you ever tried to explain a web editor how to use the pipe key on their keyboard? Well, the Option Elements UI gets rid of confusing configuration of select elements.
Select or Other
Frequently you have to give visitors the option to choose "other" as an option. This little module does just that.
Webform Draggable List
If you want to expose a list of items to a visitor and aks him/her to re-order it this module is for you.
There is barely a webform that does not have validation rules. With Webform Validation you can create comprehensive rules and do all kinds of crazy validation things.
Usually when people fill out the form and overlook a required field the whole page reloads and the error message shows. This module gets rid of the page load and validates the webform via java script.
One of the usability problems with webforms is that error messages are displayed in the generic drupal messages box. Sometimes the user does not really understand which form the message is referring to (or which field). This module places the error message right above the form element it's related to.
Inline Form Errors
This module apparently does the same thing as "Inline Messages" but I haven't really tested it yet.
If you want the contents of your webforms to be encrypted before they are stored then use this simple module.
For more confidential data it's a good idea to offer an SSL connection. Using this module you can make sure the webform submission will use HTTPS.
Webform Share allows you to create forms and then reuse them in new forms. It's also quite handy if you want to bring webforms into code - so far it's my favorite module for copying webforms and maintaining "webform templates".
Webform Default Fields
Webform Default Fields tries to solve the same problem as Webform Share only that it does that in a less elegant way. Instead of a code export you get a node. From this node the webform fields are copied every time you create a new form. It also lacks multi-lingual support.
The Webform Import module allows you to throw around webform submissions. You can also import data from other data sources as webform submissions.
Webform phone number
Need a phone number field in your forms? Use this project and enjoy the validation without typing those rules yourself.
The name field actually has a lot more to it than it's name suggests (pun intended). You can configure which sub-fields related to names you want to display, which "title" options you will offer and you can even add inline styles (not sure what for). It's a nice generic solution to the problem though.
Of course it's not the only spam-blocker module that you can use with webforms. You can also use Spamicide but then you have to add every single spam trap manually. Honeypot does the job for you. It's also much better than captchas because you don't annoy your visitors with your spam-problem.
This is currently just a sandbox we've developed. It will be turned into a decent module soon. You can use it to display a progress bar counting the submissions of your webform. You also have a field on your content type where you can enter the target value (how many submissions you are seeking) and it will do the rest for you. It's great for petitions or e-actions.
Well, it's a Rules integration. That means you can do pretty much everything after the webform has been submitted. Awesome!
Webform Mysql Views
Using this little module you can pull your webform submissions into views (currently requires a patch). It's not the most scalable solution but you can easily populate a view, create some listings and provide a more meaningful way to browse webform submissions.
This module enhances the webform native conditional field functionality. It allows you to display a specific set of fields based on conditions of other fiels on the same page.
Webform A/B Test
With this module you can create split-tests and see which webform performs the best. It only changes the actual webform, not the node around the webform. Therefore the functionality is not quite as helpful. When testing it there were also numerous bugs but maybe that was just my setup.
With this module you can add a specific set of data to a field and once users start typing it will autocomplete for them. You can also use previous submissions for those fields.
This is a great hleper module if you want to gain some more controll over the SMTP envelope of those emails you're sending via webform.
Webform Double-Optin (confirm_email)
We've released a Drupal 7 port of the module webform_confirm_email. Using this module you can create email list signup forms or secure forms by asking visitors to confirm their email address. Once they have filled out the form an email with a link is sent to their email address. The weform is only fully "submitted" once the link is clicked.
If you use multi-step webforms you can visualize those steps. By clicking on the "step links" you can jump back and forth which is more intuitive than the "next" and "previous" button. This is by the way another webform module we've developed.
Custom Webform buttons
Webform ships with a neat little setting that allows you to customize the text on the submit button. But it's well hidden and not available in the form builder. It gets even worse with multi-step webforms - you have three different labels (the first one, the middle one and the final button). This little module makes all button text editable on the form builder interface. Another more onion webform project :-)
There is also a list on drupal.org but this is a personal selection. If you want a more comprehensive list check out http://drupal.org/node/1526208