jfb-action-messages

Customize JetFormBuilder Form Action messages via PHP and JS hooks.

21|1|Updated Apr 29, 2026
One-click install
npx skills add https://github.com/Lonsdale201/wp-agent-skills --skill jfb-action-messages
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: jfb-action-messages
Source: https://github.com/Lonsdale201/wp-agent-skills/tree/main/jetformbuilder/jfb-action-messages
Command: npx skills add https://github.com/Lonsdale201/wp-agent-skills --skill jfb-action-messages

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This guide helps developers surface and customize user-facing messages emitted by JetFormBuilder Form Actions, enabling consistent, per-form or per-action messaging.

Core Features & Use Cases

  • Two messaging mechanisms: Mechanism A (form-level, registered keys) and Mechanism B (action-local, per-instance messages).
  • Demonstrates how to register message types with jet-form-builder/form-messages/register and how to throw Action_Exception with keys or custom messages.
  • Shows integration patterns with the after-send hook for dynamic success messages and examples like google-sheet-for-jetformbuilder or fluent-subscriptions-for-jetformbuilder.

Quick Start

Choose Mechanism A for stable, form-wide keys or Mechanism B for per-action messages, implement the appropriate PHP/JS wiring, and register the messages in your plugin bootstrap.

Frequently Asked Questions about jfb-action-messages

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I customize JetFormBuilder action messages for specific form actions?

To customize JetFormBuilder action messages per-instance, you use Mechanism B which leverages action_attributes for per-action settings, allowing you to define distinct success or error messaging directly within individual form actions.

What is the difference between form-level and per-action messages in JetFormBuilder?

Form-level messages use registered keys for stable, form-wide messaging via Mechanism A, whereas per-action messages utilize action-local settings through Mechanism B to customize messaging for individual action instances.

How do I register custom message types in JetFormBuilder?

You register custom JetFormBuilder message types using the jet-form-builder/form-messages/register hook, which allows you to define stable keys for displaying consistent dynamic success or error messages across your forms.

Can I display dynamic success messages after a JetFormBuilder form submission?

Yes, you can display dynamic success messages by leveraging the after-send hook in JetFormBuilder, enabling contextual messaging based on the specific results of the form action execution.

How do I throw action exceptions with custom messages in JetFormBuilder?

You throw an Action_Exception in JetFormBuilder by passing either a registered message key or a custom message string, which then surfaces the appropriate user-facing error message during form processing.

Do I need to extend Base_Action_Messages to modify JetFormBuilder form messages?

Yes, extending Base_Action_Messages is required to modify JetFormBuilder form messages, as it provides the foundational structure for registering and surfacing custom user-facing messages within your plugin bootstrap.