← PluginsAvailable
Contact Forms
Contact forms and a submissions inbox, built into EmDash.
Build forms in the EmDash admin, embed them in any post or page, and review, export or email submissions, with honeypot spam protection and rate limiting.
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
pnpm add @masonjames/emdash-contact-forms
// astro.config.mjs
import { defineConfig } from "astro/config";
import emdash from "emdash/astro";
import { contactFormsPlugin } from "@masonjames/emdash-contact-forms";
export default defineConfig({
integrations: [
emdash({ plugins: [contactFormsPlugin()] }),
],
});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?
The core package, with the backend and a Block Kit admin, is being prepared for the EmDash plugin registry. Form rendering stays in the npm package.