{"id":319076,"date":"2026-05-30T19:14:47","date_gmt":"2026-05-30T19:14:47","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/promptless-forms\/"},"modified":"2026-05-30T19:40:19","modified_gmt":"2026-05-30T19:40:19","slug":"promptless-forms","status":"publish","type":"plugin","link":"https:\/\/bal.wordpress.org\/plugins\/promptless-forms\/","author":23458468,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.8.0","stable_tag":"1.8.0","tested":"7.0","requires":"5.0","requires_php":"7.4","requires_plugins":null,"header_name":"Promptless Forms","header_author":"Promptless WP","header_description":"Lightweight forms with webhooks, multi-step support, and conditional logic. Inherits brand styling when Promptless WP is active.","assets_banners_color":"","last_updated":"2026-05-30 19:40:19","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/promptlesswp.com","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":66,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.8.0":{"tag":"1.8.0","author":"promptlesswp","date":"2026-05-30 19:40:19"}},"upgrade_notice":{"1.8.0":"<p>WP.org compliance prefix rename (fre_ \u2192 pforms_). Auto migration moves your forms, settings, and keys. Embed shortcode is now [promptless_form]. PHP API functions are pforms_*. Sites using FlowMint must update it with this release.<\/p>","1.7.1":"<p>Header tidy-up \u2014 Author URI removed (was identical to Plugin URI, which WP.org doesn&#039;t allow). No other changes.<\/p>","1.7.0":"<p>WP.org compliance release. The Custom CSS form-setting is removed \u2014 use theme CSS or a CSS plugin instead. <code>[client_form]<\/code> is replaced by <code>[fre_form]<\/code> and <code>[promptless_form]<\/code>; update old tags. Form data, entries, webhooks, and css_class are unaffected.<\/p>","1.6.5":"<p>Routine maintenance release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3554976,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3554976,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.8.0"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Forms Manager admin UI \u2014 paste JSON to define a form, or generate one with an AI assistant","2":"A rendered contact form on the frontend, automatically inheriting Promptless WP brand styling when present","3":"Entries dashboard with per-submission detail view and CSV export","4":"Webhook configuration with destination presets (Zapier, Make, Google Sheets) and Test Connection diagnostics","5":"Claude Cowork connector setup screen \u2014 default-disabled, opt-in App Password generation"}},"plugin_section":[],"plugin_tags":[358,2253,601,4035,15439],"plugin_category":[42],"plugin_contributors":[265095],"plugin_business_model":[],"class_list":["post-319076","plugin","type-plugin","status-publish","hentry","plugin_tags-contact-form","plugin_tags-form-builder","plugin_tags-forms","plugin_tags-lightweight","plugin_tags-webhook","plugin_category-contact-forms","plugin_contributors-promptlesswp","plugin_committers-promptlesswp"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/promptless-forms\/assets\/icon-128x128.png?rev=3554976","icon_2x":"https:\/\/ps.w.org\/promptless-forms\/assets\/icon-256x256.png?rev=3554976","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Promptless Forms is a lightweight WordPress form plugin built for developers and design-system-aware sites. Configure forms via JSON in the admin UI or via PHP code, render them with a shortcode, and send submissions to webhooks, email, or both.<\/p>\n\n<p><strong>Core features<\/strong><\/p>\n\n<ul>\n<li>JSON or PHP form configuration<\/li>\n<li>13 field types: text, email, tel, textarea, select, radio, checkbox, file, hidden, message, section, date, and address (with Google Places autocomplete)<\/li>\n<li>Multi-step forms with progress indicators<\/li>\n<li>Conditional field visibility based on other field values<\/li>\n<li>Column layouts (1\/2, 1\/3, 2\/3, 1\/4, 3\/4) and section grouping<\/li>\n<li>Webhook delivery with HMAC-SHA256 signing and SSRF protection<\/li>\n<li>Email notifications with template variables<\/li>\n<li>Spam protection: honeypot, timing check, and rate limiting<\/li>\n<li>CSV export of form entries<\/li>\n<li>File upload handling with magic-byte verification<\/li>\n<\/ul>\n\n<p><strong>Integration<\/strong><\/p>\n\n<p>When the Promptless WP plugin is active, Promptless Forms automatically inherits design tokens (colors, typography, border radius) from the global brand settings. Forms also support dark mode through Promptless's <code>theme_variant<\/code> setting. The plugin works fully standalone with sensible defaults when Promptless WP is not active.<\/p>\n\n<p><strong>For developers<\/strong><\/p>\n\n<ul>\n<li>Stable hook surface for extending behavior (<code>pforms_submission_complete<\/code>, <code>pforms_webhook_payload<\/code>, <code>pforms_field_display_value<\/code>, etc.)<\/li>\n<li>Connector REST API for external integration (default-disabled, opt-in via admin toggle)<\/li>\n<li>WordPress coding standards compliant<\/li>\n<li>Transactional InnoDB storage for entries<\/li>\n<\/ul>\n\n<h3>External Services<\/h3>\n\n<p>This plugin can optionally connect to external services. Each service is opt-in and requires explicit configuration by a site administrator.<\/p>\n\n<p><strong>Webhooks<\/strong> (when configured per-form):\nSubmission data is POSTed to a URL of your choosing. The URL, request payload, and signing secret are all configured by the site administrator on a per-form basis. No data is sent until a webhook URL is configured.<\/p>\n\n<p><strong>Google Places API<\/strong> (when the Address field is used):\nThe Address field uses Google's Places API to provide address autocomplete. Requires a Google Places API key configured in the plugin settings. Address queries are sent to Google when users type in the field. See <a href=\"https:\/\/developers.google.com\/maps\/terms\">Google's Places API Terms<\/a> and <a href=\"https:\/\/policies.google.com\/privacy\">Privacy Policy<\/a>.<\/p>\n\n<p><strong>Twilio API<\/strong> (when configured):\nThe optional Twilio module sends SMS messages and handles missed-call text-back workflows. Requires Twilio account credentials configured in the plugin settings. Phone numbers and message content are sent to Twilio for delivery. See <a href=\"https:\/\/www.twilio.com\/legal\/tos\">Twilio's Terms of Service<\/a> and <a href=\"https:\/\/www.twilio.com\/legal\/privacy\">Privacy Policy<\/a>.<\/p>\n\n<p><strong>Claude Cowork Connector<\/strong> (default-disabled, opt-in):\nThe Connector exposes a REST API allowing AI agents (such as Anthropic's Claude Cowork) to manage forms via WordPress Application Passwords. Default state is disabled. To enable, an administrator must explicitly toggle the connector on in <strong>Form Entries \u2192 Connector<\/strong> and generate a per-user Application Password. No external requests are made by the connector \u2014 it only responds to authenticated incoming requests.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to <code>\/wp-content\/plugins\/promptless-forms\/<\/code> or install through the WordPress Plugins screen.<\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> screen in WordPress.<\/li>\n<li>Go to <strong>Form Entries<\/strong> in your WordPress admin menu to create your first form.<\/li>\n<\/ol>\n\n<p>For developer documentation including JSON configuration examples, hook reference, and integration patterns, see the plugin's GitHub repository.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20plugin%20require%20promptless%20wp%3F\"><h3>Does this plugin require Promptless WP?<\/h3><\/dt>\n<dd><p>No. Promptless Forms works fully standalone with sensible default styling. When Promptless WP is active, forms automatically inherit your brand colors, typography, and design tokens.<\/p><\/dd>\n<dt id=\"how%20do%20i%20display%20a%20form%20on%20a%20page%3F\"><h3>How do I display a form on a page?<\/h3><\/dt>\n<dd><p>Use the shortcode <code>[promptless_form id=\"your-form-id\"]<\/code> on any post, page, or widget. The <code>id<\/code> matches the form ID you set when creating the form in the admin.<\/p><\/dd>\n<dt id=\"can%20i%20send%20form%20submissions%20to%20zapier%2C%20make%2C%20or%20google%20sheets%3F\"><h3>Can I send form submissions to Zapier, Make, or Google Sheets?<\/h3><\/dt>\n<dd><p>Yes. Each form can be configured with a webhook URL in the Forms Manager. Submissions are signed with HMAC-SHA256 for verification on the receiving end. The plugin supports preset configurations for common destinations including Zapier, Make, and Google Sheets (via Apps Script).<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20support%20multi-step%20forms%3F\"><h3>Does the plugin support multi-step forms?<\/h3><\/dt>\n<dd><p>Yes. Define a <code>steps<\/code> array in your form configuration and assign each field to a step via the <code>step<\/code> attribute. The plugin renders a progress indicator and handles step navigation automatically.<\/p><\/dd>\n<dt id=\"where%20are%20uploaded%20files%20stored%3F\"><h3>Where are uploaded files stored?<\/h3><\/dt>\n<dd><p>Uploaded files are stored in <code>\/wp-content\/uploads\/fre-uploads\/<\/code> with PHP execution disabled. Filenames are randomized (UUIDs) to prevent guessing. File types are validated by extension AND magic byte signature.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<p>See CHANGELOG.md in the plugin folder or visit the GitHub repository for full release notes.<\/p>","raw_excerpt":"Lightweight forms with webhooks, multi-step support, and conditional logic. Inherits brand styling when Promptless WP is active.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/319076","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=319076"}],"author":[{"embeddable":true,"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/promptlesswp"}],"wp:attachment":[{"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=319076"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=319076"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=319076"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=319076"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=319076"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=319076"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}