New

Just launched: Vueblocks, a brand-new search engine for Vue packages! Explore Vueblocks →

uams-web/statamic-form-settings

Control Panel form settings for Statamic: notification routing and conditions, confirmations, and submission restrictions, each behind its own switch.
1,011
Install
composer require uams-web/statamic-form-settings
Latest Version:v0.1.0
PHP:^8.4
Laravel:12 · 13
License:MIT
Last Updated:Oct 29, 2026
Links: GitHub  ·  Packagist
Maintainer: joshdaugherty

Form Settings

A Statamic add-on that extends the Control Panel's form settings screen and what a form does after a submission: notification emails with recipient routing and conditions, a confirmation message or redirect, and restrictions on who can submit and when.

Requirements

PHP 8.4 or later and Statamic 6.35 or later.

Installation

composer require uams-web/statamic-form-settings

Statamic discovers the add-on through Composer. To change its settings, publish the config file:

php artisan vendor:publish --tag=statamic-form-settings-config

Features

Each feature has its own switch in config/statamic-form-settings.php, and all are on by default. Turning one off disables that feature alone; the others keep working. Stored form settings are kept either way, so turning a feature back on restores it as it was.

Switch Environment variable What it covers
control_panel FORM_SETTINGS_CONTROL_PANEL The added sections on the form settings screen, the email grid's routing, conditions and sender name, and saving them.
notifications FORM_SETTINGS_NOTIFICATIONS The notification job: the Active toggle, conditional notifications, recipient routing, the sender name and the email body view.
confirmations FORM_SETTINGS_CONFIRMATIONS The message or redirect a visitor sees after submitting.
restrictions FORM_SETTINGS_RESTRICTIONS Entry limits, the form schedule and required login, on submit and in the form_restriction tag.

With notifications on, the add-on points statamic.forms.send_email_job at its own job. A host that has set that option to a job of its own keeps it.

Three more keys adapt the form settings screen to a host: confirmation_page_collections (default ['pages']), article_bard_extra_buttons (default none) and quiz_scoring (FORM_SETTINGS_QUIZ_SCORING, default off, which hides the Quiz Settings section and the quiz merge-tag help). See the wiki's Configuration page.

Templates

The form_restriction tag reports a form's restriction state, so a page can show a closed message instead of the form:

{{ form_restriction handle="contact" }}
    {{ if open }}
        {{ form:contact }} ... {{ /form:contact }}
    {{ else }}
        <p>{{ message }}</p>
    {{ /if }}
{{ /form_restriction }}

It exposes open, state (open, login_required, pending, expired, schedule_unreadable or limit_reached) and message.

Extending

  • Submission context. A notification sent from a queue worker cannot see the submitter's request. A host that keeps that context binds its own implementation of UAMSWeb\FormSettings\Contracts\SubmissionContext: the job calls it to capture the context when the form is submitted, and again to make that context active while the email is sent. The add-on's default captures nothing.
  • More settings sections. Another package adds a section to the form settings screen by tagging an implementation of UAMSWeb\FormSettings\Contracts\FormSettingsSection with FormSettingsSection::TAG in its service provider's register().

License

MIT. See LICENSE.

Development

Developing against a host application is covered in the development guide, and the Packagist and Marketplace steps in the submission checklist. The gate is composer ci.

Related Packages

uams-web/statamic-alpine-csp-forms

CSP-safe Alpine form JavaScript driver for Statamic public forms, with a $showFi...

1,014 0
statamic/cli

Statamic CLI Tool

95,417 77
goldnead/statamic-toc

Automatic table of contents generator for Statamic Bard, Markdown and HTML field...

14,142 2
linksderisar/statamic-custom-select

Custom select field

1,161 0
uams-web/statamic-multisite-forms

Per-site forms for multisite Statamic: site assignment, per-site overrides, and...

1,018 0

Version History

Version Released PHP License
v0.1.0 ^8.4