Hooks reference
Every public SubtleForms and SubtleForms Pro action and filter, grouped by area, with what each one is for.
Every public hook in SubtleForms 2.7 and SubtleForms Pro 2.8. Names starting with subtleforms_pro/ need Pro. For full examples, see Developer hooks.
Lifecycle
| Hook | Type | What it is for |
|---|
subtleforms/loaded | action | The free plugin has loaded. |
|---|
subtleforms/register_extensions | action | Register an add-on with SubtleForms. |
|---|
subtleforms/deactivated | action | The free plugin was deactivated. |
|---|
subtleforms_pro/loaded | action | SubtleForms Pro has loaded. |
|---|
Fields and logic
| Hook | Type | What it is for |
|---|
subtleforms/fields/register | action | Register custom field types. Receives the field registry. |
|---|
subtleforms/fields/inspector_controls | filter | Change the settings shown for a field in the builder. |
|---|
subtleforms/fields/validate_value | filter | Validate a submitted value on the server. |
|---|
subtleforms/logic/passes | filter | Override whether a field’s logic rules pass. |
|---|
subtleforms/logic/evaluate_condition | filter | Evaluate a single condition, for custom operators. |
|---|
subtleforms/templates | filter | Add or change form templates. |
|---|
Submissions
| Hook | Type | What it is for |
|---|
subtleforms/submit/before_store | filter | Change submitted values before the entry is saved. |
|---|
subtleforms/submit/after_store | action | An entry was saved. |
|---|
subtleforms/submission/completed | action | A submission finished. |
|---|
subtleforms/submission/computed_values | filter | Change computed values, such as calculations, before saving. |
|---|
subtleforms/submit/confirmation | filter | Change the confirmation shown after submit. |
|---|
subtleforms/submission/deleted | action | An entry was deleted. |
|---|
subtleforms/uploads/max_files | filter | Maximum files per upload field. Default 1. |
|---|
Email
| Hook | Type | What it is for |
|---|
subtleforms/mail/args | filter | Change the arguments of an email before it is sent. |
|---|
subtleforms/email/attachments | filter | Add attachments to a notification email. |
|---|
subtleforms/email/after_send | action | A notification email was sent. |
|---|
Payments
| Hook | Type | What it is for |
|---|
subtleforms/payments/quote | filter | Change the computed order: items, discount, tax and total. |
|---|
subtleforms/payments/line_items | filter | Change the order’s line items. |
|---|
subtleforms/payments/validate_coupon | filter | Accept or refuse a coupon. |
|---|
subtleforms/payments/gateways | filter | Register payment gateways. |
|---|
subtleforms/payment/verify | filter | Confirm a payment when the visitor submits. |
|---|
subtleforms/payment/capture | filter | Capture an authorised payment after the entry is saved. |
|---|
subtleforms/payment/void | action | Release an authorised payment when saving failed. |
|---|
subtleforms_pro/payments/max_total | filter | Largest order total accepted. Default 999999.99. |
|---|
Front end
| Hook | Type | What it is for |
|---|
subtleforms/frontend/enqueued | action | Public form assets were enqueued. |
|---|
subtleforms/frontend/language | filter | Change the language used for form messages. |
|---|
subtleforms/public_schema | filter | Change the form data sent to the browser. |
|---|
Spam protection and security
| Hook | Type | What it is for |
|---|
subtleforms/captcha/enabled | filter | Turn the challenge on or off for a form. |
|---|
subtleforms/captcha/recaptcha_min_score | filter | Minimum reCAPTCHA v3 score. Default 0.5. |
|---|
subtleforms/spam/blocked | action | A submission was blocked as spam. |
|---|
subtleforms/client_ip/trusted_proxies | filter | Proxies trusted when reading the visitor’s IP address. |
|---|
subtleforms/capabilities | filter | Change which capabilities can manage forms and entries. |
|---|
Webhooks and integrations
| Hook | Type | What it is for |
|---|
subtleforms/webhooks/entry_values | filter | Change the entry values sent in a webhook. |
|---|
subtleforms/webhooks/payload_groups | filter | Change how the webhook payload is grouped. |
|---|
subtleforms_pro/delivery/attempted | action | An integration delivery was attempted. |
|---|
subtleforms_pro/integrations/defer | filter | Whether integration deliveries run in the background. |
|---|
Pro analytics and PDFs
| Hook | Type | What it is for |
|---|
subtleforms/analytics/track_views | filter | Turn form view tracking on or off. |
|---|
subtleforms/analytics/track_funnel | filter | Turn field funnel tracking on or off. |
|---|
subtleforms_pro/pdf/fonts | filter | Add fonts for entry PDFs. |
|---|
REST API
Public and admin endpoints live under the subtleforms/v1 namespace. Use subtleforms/rest/public_routes to change which routes are public.
Something unclear or out of date on this page? Tell us and we will fix it.