Drupal is a registered trademark of Dries Buytaert
Protected Pages 3.0.0 Major update available for module protected_pages (3.0.0). Commerce Core 3.3.8 Minor update available for module commerce (3.3.8). Search API HTML Element Filter 1.0.7 Minor update available for module search_api_html_element_filter (1.0.7). Layout Builder Reorder 2.0.1 Minor update available for module layout_builder_reorder (2.0.1). Ban 1.1.0 Minor update available for module ban (1.1.0). Field Formatter Range 2.0.0 Major update available for module field_formatter_range (2.0.0). Field Formatter Range 8.x-1.8 Minor update available for module field_formatter_range (8.x-1.8). UI Patterns (SDC in Drupal UI) 2.0.18 Minor update available for module ui_patterns (2.0.18). Search API Solr 4.3.11 Module search_api_solr updated after 14 months of inactivity (4.3.11). Provus Mega Menu Module provus_mega_menu crossed 1,000 active installs.

This module makes webforms created in Drupal accessible to headless frontends via GraphQL. It allows decoupled applications to display forms, collect user input, and manage submissions with support for various field types, conditional logic, file uploads, and validation.

GraphQL Webform exposes forms built with the Webform module to a decoupled (headless) frontend through GraphQL. Forms are designed in Drupal with Webform as usual; a frontend (React, Vue, a mobile app, …) can then display them, collect input and send submissions back.

What it does

  • The most commonly used form elements are supported (see the list below).
  • Supports conditional fields: depending on a visitor's answers, other fields can appear, hide or become required.
  • Submissions are validated, and validation errors are returned for each field.
  • A confirmation message, title and redirect are returned after a submission.
  • File uploads are supported.
  • Closed forms, scheduled open and close dates, and submission limits are handled, including the message to display when a form is unavailable.

Requirements

Two optional modules add more elements when installed: Address (for the address element) and Telephone Validation (for validating phone numbers).

Branches

  • 1.x: Supports GraphQL 3.x
  • 2.x: Supports GraphQL 4.x
  • 3.x: Supports GraphQL 5.x

Supported elements

Text & input

  • Text field
  • Text area
  • Email
  • Telephone
  • URL
  • Hidden
  • Autocomplete
  • Number, Range, Rating, Scale
  • Color
  • Signature
  • Name

Date & time

  • Date
  • Date and time
  • Time

Choices

  • Select / dropdown
  • Radios
  • Checkboxes
  • Select, radios and checkboxes with an “other” option
  • Table select
  • Likert
  • Term and entity select

Files

  • File upload
  • Audio file

Layout & groups

  • Fieldset
  • Details
  • Section
  • Flexbox
  • Composite (a group of the elements above)
  • Address

Display & actions

  • Markup and formatted text
  • Message
  • Horizontal rule
  • Computed value
  • Terms of service
  • Submit and reset buttons

Contributing

Bug reports, feature requests and MRs are welcome! Please use the issue queue.

Activity

Total releases
7
First release
Aug 2025
Latest release
2 weeks ago
Releases (12 mo)
7 ▲ from 0
Maintenance
Active

Release Timeline

Releases

Version Type Release date
3.0.0-beta1 Pre-release Jul 1, 2026
3.0.0-alpha3 Pre-release Jun 19, 2026
3.0.0-alpha2 Pre-release Jun 18, 2026
3.0.0-alpha1 Pre-release May 28, 2026
3.x-dev Dev May 15, 2026
2.0.0-beta1 Pre-release Oct 17, 2025
2.0.0-alpha3 Pre-release Aug 20, 2025