Formstork

FRAMEWORK

Give your Eleventy site a form backend

Formstork receives the submissions from your Eleventy form, emails you each one, and keeps every message in a searchable dashboard. No server to run, no backend code to write.

How it works

Eleventy (11ty) renders your Nunjucks, Liquid, or Markdown templates into static HTML, so your form has markup but no backend to receive what people type. Formstork is the backend that receives the POST. Your form sends its fields to a Formstork endpoint with your access key, and Formstork emails you each submission, sets the visitor's email as the reply-to, and saves the message to a searchable dashboard. Because a plain form needs no client JavaScript, it works in a fully static Eleventy build with no serverless function to wire up. Turn on spam filtering, an autoresponder, or an integration like Slack or Google Sheets whenever you need them.

html
{# src/contact.njk - an Eleventy (Nunjucks) template #}
{# Your access key is public, so it is safe to ship in static HTML. #}
{% set ACCESS_KEY = "YOUR_ACCESS_KEY" %}

<form action="https://api.formstork.com/submit" method="POST">
  <input type="hidden" name="access_key" value="{{ ACCESS_KEY }}" />

  <input type="text" name="name" required />
  <input type="email" name="email" required />
  <textarea name="message" required></textarea>

  <button type="submit">Send</button>
</form>

Works with zero JavaScript

Because Formstork receives a normal form POST, your Eleventy form needs no client-side JavaScript and keeps working in a fully static build. Every submission still emails you and lands in your searchable dashboard, with the visitor set as the reply-to.

Every message, kept and searchable

Beyond the inbox, Formstork stores each submission in a searchable, taggable dashboard you can filter and export to CSV or JSON. The free plan keeps 250 submissions a month with 90-day retention, and paid plans keep them forever.

Spam never reaches you

A hidden honeypot, a server-side content filter, and optional Turnstile, hCaptcha, or reCAPTCHA keep bots out. Flagged submissions go to your Spam tab and never email you, so your inbox stays clean.

Set it up

  1. 1Build your form as plain HTML inside an Eleventy template (Nunjucks, Liquid, or any templating language), with fields like name, email, and message.
  2. 2Point the form's action at https://api.formstork.com/submit and add your access key as a hidden access_key field (or use the short /f/YOUR_ACCESS_KEY URL).
  3. 3Submit once to test. The message lands in your inbox and in your Formstork dashboard, with the visitor's email set as the reply-to.
  4. 4Optional: connect an integration like Slack or Google Sheets, turn on an autoresponder, or tighten spam filtering whenever you need it.

Frequently asked questions

How do I handle form submissions in Eleventy?

Point your form's action at a Formstork endpoint and add your access key as a hidden field. Formstork receives the POST, emails you the submission, and stores it in your dashboard. Because Eleventy ships static HTML, this works with no server and no backend code.

Do I need a serverless function to receive submissions?

No. A plain form posts straight to Formstork, so a fully static Eleventy site works with no serverless function and no server of your own. Formstork receives every submission, filters spam, and emails you with the visitor set as the reply-to.

Is it free?

Yes. The free plan includes 250 submissions a month, email delivery, spam filtering, integrations, CSV and JSON export, and a 90-day retention window, with no credit card. Paid plans add more volume, forever retention, autoresponders, and file uploads.

Try Formstork free

250 submissions a month with a full dashboard. No credit card required.

Get your access keyRead the docs