Sample form
This is the exact HTML Core Forms ships as the Contact Form starter template — the same markup that lands in your form editor when you pick it from the Add-New-Form gallery. Rendered live below, with the source printed next to it. Paste into any Core Forms entry and ship.
What your visitor sees
Plain semantic HTML. No mandatory CSS class names, no React, no
builder. The form below is the Contact Form template rendered
through the same default form-theme.css Core Forms
applies on the front-end.
Demo only. Submitting this form shows a confirmation inline — nothing is sent anywhere. On your own site, the same markup wires into the normal Core Forms action loop: email notification, Mailchimp, Slack, webhook, WhatsApp, whatever you configure.
The HTML behind it
Byte-for-byte identical to the
_cf_template_contact() registered in the plugin.
Copy this block, paste into Core Forms → Add New Form →
Fields tab, save. Action loop and theme styling do the rest.
<p>
<label for="cf-contact-name">Your name <span aria-hidden="true">*</span></label>
<input type="text" id="cf-contact-name" name="NAME" autocomplete="name" required aria-required="true" />
</p>
<p>
<label for="cf-contact-email">Email address <span aria-hidden="true">*</span></label>
<input type="email" id="cf-contact-email" name="EMAIL" autocomplete="email" required aria-required="true" />
</p>
<p>
<label for="cf-contact-subject">Subject</label>
<input type="text" id="cf-contact-subject" name="SUBJECT" />
</p>
<p>
<label for="cf-contact-message">Message <span aria-hidden="true">*</span></label>
<textarea id="cf-contact-message" name="MESSAGE" rows="6" required aria-required="true"></textarea>
</p>
<p>
<button type="submit">Send message</button>
</p>
From this HTML to a working form
-
Paste the markup into the Fields tab
Open any Core Forms entry, drop the HTML block above into the Fields tab textarea, and save. No build step, no field picker — the markup IS the form.
-
Wire an action in the Actions tab
Pick from 30+ built-in actions: Send Email, Mailchimp, FluentCRM, Slack, Discord, WhatsApp (Cloud or Twilio), Webhook, Google Sheets, Notion, Airtable, Create Post, Stripe payment — and many more. Field names map automatically:
NAME,EMAIL,SUBJECT,MESSAGEbecome[NAME],[EMAIL], etc. in your action templates. -
Embed the form anywhere
Use the
[cf_form slug="contact"]shortcode, the Gutenberg block (just pick the form from a dropdown), or the headless REST endpoint for Astro / Next / plain HTML on a separate origin.
Forms shouldn't take an afternoon to build.
Core Forms is plain HTML with a sane action loop. No drag-and-drop builder, no premium add-on tax, no JSON-schema gymnastics. Write the form once, configure the actions, ship.