GWW 299: Performance-enhancing potions
We released the ultimate Gravity Forms building and debugging toolkit for free. Plus, how to build an anonymous salary survey, how to build horizontal forms, and more.
Greetings, wizards!
I’m very excited about this week’s new plugin! And yes, that’s four new plugins in four weeks. We may need to lay off the performance-enhancing potions. 😂
What else is in store for you?
🔩 A slew of improvements to our existing plugins (like GP Bookings and GP Popups)
💸 A beautiful customer spotlight about fair pay
🪷 A snippet of restoration
↔️ And a video of horizontal proportions
Lez goo!
New Plugin: GF Dev Tools (free)
GP Live Preview started as a selfish tool. It made troubleshooting faster for our support team. When a customer ran into an issue, we could install it and get answers quickly.
Except sometimes… we couldn’t. They were at their product limit.
That never felt right. A tool this foundational to debugging and support shouldn’t be locked behind a license limit. So we made it free.
And while we were at it, we bundled in the other internal utilities we’ve built over the years supporting thousands of Gravity Forms customers. GP Live Preview became GF Dev Tools — a collection of the same tools we rely on every day.
Join me for a crash course in everything GF Dev Tools puts at your disposal. For free.
Top Picks: Product Highlights
GP Bookings
✦ Turn Gravity Forms into your complete WordPress booking platform.
We’ve shipped two helpful updates to GP Bookings. There’s a new “Booking Completed” notification event that triggers when a confirmed booking ends—perfect for follow-ups, next steps, or review requests.
We’ve also added a detailed deletion preview to the “Clear Sample Data” confirmation, so when you’re ready to remove your starter template, you’ll have a better idea of what will be deleted so you can move forward with confidence.

—
GP Email Validator
✦ Level up your Email fields with automatic email address and domain validation.
This perk just got a small but meaningful performance boost. We now cache email provider lists locally, which means fewer repeated remote fetches and faster, more reliable email and domain validation behind the scenes. 👌
—
GP Popups
✦ Pop your forms in style. Target and trigger with precision.
GP Popups just got smarter. We’ve added support for Gravity Forms Page and Redirect confirmations, so when a form uses either type, the redirect now happens in the parent window instead of inside the iframe — exactly as it should.
We’ve also introduced a new “Hash” trigger type, which opens popups when the URL contains a specific hash fragment (like #contact-form). It’s a solid alternative to CSS selectors and makes deep-linking to popups simple and reliable.
—
P.S. While they didn’t make the cut for our highlights section, the Gravity Connect suite had some solid updates this week as well. I’d highly recommend checking them out below.
Spotlight: Building a Salary Survey with Gravity Forms

Write the Docs needed to help a community of documentarians negotiate fair pay. But collecting anonymous salary data through a 30-question form while maintaining privacy? It’s tougher than it looks.
Kay Smoljak opened her Spellbook and combined GP Nested Forms and GP Easy Passthrough to split the massive form into smaller, user-friendly sections. She also added GP Address Autocomplete, allowing people to share their location without revealing their addresses.
The result is a rock-solid survey reused year after year, arming members with real data to make salary transparency a reality.
Snippet: Sync Bookings on Entry Trash/Restore
We’ve got a new experimental snippet to share that will almost certainly find its way into core GP Bookings sooner or later.
Currently, if you trash an entry the associated booking is not deleted. What if trashing the entry was a mistake and someone else swoops in and snags that availability before the entry is restored? 😬
Based on customer feedback, it sounds like this concern may have been overblown. This snippet represents our anticipated flow for this. The booking is deleted as soon as the entry is trashed and immediately recreated if the entry is restored. If the original availability is not longer available, the booking will not be recreated and an error note will be added to the entry.
New Video: How to Build Horizontal Gravity Forms
Product Updates
Gravity Perks
GP Bookings (1.0-beta-1.3)
- Added new “Booking Completed” notification event that automatically sends thank you notifications when confirmed bookings end.
- Added detailed deletion preview to “Clear Sample Data” confirmation.
- Added
gpb_admin_calendar_eventfilter hook for customizing admin calendar events. - Improved compatibility with GP Inventory by excluding Booking fields from the allowed fields that can have their inventory tracked.
- Fixed issue where “Booking Updated” notification event was not firing when a booking was rescheduled, regardless of booking state.
- Fixed an issue where the admin dashboard calendar content area was not visible on mobile landscape view.
- Fixed an issue where initial pricing for flexible-duration bookings did not apply
minDurationuntil users manually changed duration values. - Fixed an issue where comma-decimal currency values were parsed as thousands in rule summaries and totals.
- Fixed merge tags to respect WordPress date/time formats.
- Fixed an issue where long Resource Type names did not wrap correctly in the Service Resources tab on large screens.
- Fixed an issue where frontend slot availability used resource windows without enforcing service positive availability windows.
GP Conditional Pricing (v2.0.24)
- Fixed an issue where conditional pricing rules using non-form fields displayed blank labels.
GP Email Validator (v1.0.9)
- Added cached local provider lists to avoid repeated remote fetches.
GP Inventory (v1.0.21)
- Fixed an issue where conditional logic could crash on GP Populate Anything field updates.
GP Nested Forms (v1.2.20)
- Fixed an issue where orphaned child entries displayed a clickable parent entry hash that linked to a non-existent entry.
GP Notification Scheduler (v1.3.19)
- Updated styling of new Recurring setting.
GP Populate Anything (v2.1.58)
- Added support to Object Types for allowing filtering on Boolean values.
- Fixed an issue where runtime cache clearing did not reset merge tag and template caches.
- Fixed an issue where Image Choice and Multiple Choice fields were not populating their values properly with GPPA.
GP Popups (v1.0.4)
- Added support for GF page/redirect confirmation types.
- Added Iframe_Helpers::init() to hook into gform_confirmation filter
- Added ‘redirect’ message type to IframeMessage
- Added new ‘Hash’ trigger type to opens popups when the URL contains a specific hash fragment (e.g.,
example.com/page#contact-form). This provides a user-friendly alternative to CSS selectors for triggering popups with buttons and enables deep-linking. - Improved documentation for
gpp_iframe_url_argsfilter hook.
Gravity Connect
GC Airtable (1.0-beta-1.8)
- Added improvements to reduce number of requests to the Airtable API when performing CRUD actions with the Airtable API.
- Improved reliability of Account Health check and implement in memory caching to reduce requests to the Airtable API.
GC Google Calendar (1.0-beta-1.1)
- Added form and field level scoping to
gcgc_create_calendar_event_paramsandgcgc_update_calendar_event_paramsfilters.
GC Google Sheets (v1.4.7)
- Added support to GP Populate Anything Object Type for filtering on boolean values in a Sheet.
- Fixed an issue where feed settings fetched column metadata for every sheet in a spreadsheet instead of only the selected sheet.
Free Plugins
Spellbook (v3.0.19)
- Added some
:sparkles:to the Spellbook menu item.