← Plugins Available
Contact Forms
Contact forms and a submissions inbox, built into EmDash.
Build single-page forms in the EmDash admin, review or export submissions, and send notification emails. Embed registry forms in posts and pages with the optional native companion.
Features
-
Form builder
Create and edit forms in the EmDash admin.
-
Embed anywhere
Insert a form block in any post or page.
-
Submissions inbox
Read, archive, delete and export to CSV.
-
Email notifications
Sent through your site's email provider.
-
Spam protection
A honeypot field and rate limiting on every form.
-
Retention
Old submissions are cleaned up on a schedule.
Contact Forms gives EmDash a form builder and an inbox. Create a form in the admin, drop it into any post or page, and read, archive, export or delete what people send. Notifications go out through your site's email provider.
Built-in spam protection
Every form has a honeypot field and a per-visitor rate limit, so most junk never reaches your inbox.
Keep only what you need
Set a retention period and old submissions are deleted automatically each week. Export to CSV whenever you need a copy.
Install
Install Contact Forms from the EmDash registry, then add the website companion:
pnpm add @masonjames/emdash-contact-forms@^0.2.0
// astro.config.mjs
import { defineConfig } from "astro/config";
import emdash from "emdash/astro";
import { contactFormsEmbedPlugin } from "@masonjames/emdash-contact-forms/registry-embed";
export default defineConfig({
integrations: [emdash({ plugins: [contactFormsEmbedPlugin()] })],
});
Build and deploy the site. Insert a Contact Form block and use the form ID from Plugins > Forms. Questions
Do I need an email provider?
Only for notifications. Submissions are always saved in the inbox; to email them, install an email provider plugin such as EmDash SMTP.
Is there a sandboxed version?
Yes. Contact Forms 0.2.0 is live in the EmDash plugin registry with a sandboxed backend and Block Kit admin. Website rendering requires the optional native companion configured above. Existing native Contact Forms data is not automatically copied into registry storage.