A powerful, flexible, user-friendly form builder for CiviCRM.

Just as Views can output data in virtually any way imaginable, this module allows you to have data input exactly the way you want. Create and update contacts, group subscriptions, tags, relationships, cases, activities, event participants, memberships and contributions via robust, user-friendly webforms that integrate seamlessly with your Drupal site.

As this project continues to grow in features and popularity, co-maintainers would be welcomed.

Common Uses

  • Application, enrollment, contact, sign-up & opt-in forms
  • Event registration & RSVP forms
  • Membership and contribution forms
  • Submission forms for articles, petitions, etc.
  • Data-entry forms for staff or volunteers

What it does

  • Create/update one or more contacts and optionally create relationships between them.
  • Supports all contact types, address, phone, email, website, activities, cases, groups, tags, event participants, memberships, contributions and custom data.
  • Can auto-fill forms for logged in users or anonymous users following a personalized link from CiviMail.
  • Leverage CiviCRM contact data to display personalized messages, customize emails, or set access restrictions to the form.
  • Accept credit-card payments for events, memberships, and contributions.

Version Compatibility

This Module Drupal Webform CiviCRM
2.0-2.3 6.x-7.x 3.x 3.4 - 4.0
2.4-2.8 6.x-7.x 3.x 4.1 - 4.6
3.x 7.x 3.x 4.1 - 4.3
4.x 7.x 4.x 4.4-4.7


  • Webforms display as standalone Drupal pages or blocks. They are not CiviCRM profiles and cannot be inserted into standard CiviCRM workflows.
  • Currently not compatible with the form_builder_webform or webform_alt_ui modules (form_builder and options_element modules are ok though).
  • Integrates with CiviContribute to collect contributions, membership dues and event fees via your CiviCRM payment processor. Most but not all payment processors are supported.

Also Works Nicely With

  • Webform Layout for making your webforms pretty
  • Webform HTML Textarea provides a WYSIWYG field to better represent some CiviCRM fields such as notes
  • Node Export so you don't have to create new webforms from scratch
  • Node Export CiviCRM to keep custom field ids, etc. in sync when migrating from dev to live
  • Rules is a great way to automate additional actions when a form is submitted


This project is actively maintained on GitHub. Traditional patches are still accepted, but Pull-Requests are preferred. The issue queue here on drupal.org is still the primary location for bugs and features (the github issue tracker is disabled to avoid confusion).


Written by Coleman Watts of the CiviCRM core team, and supported by the CiviCRM community.

Project information