Formstork

FRAMEWORK

A form backend for Django, without the email plumbing

Formstork is a hosted backend that receives your Django form's POST. It emails you every submission, sets the visitor's email as the reply-to, and stores each one in a searchable dashboard, so you skip the SMTP config, models, and spam filtering.

How it works

Django already has a capable forms framework: you can define a form, render it in a template, and validate it in a view. What it does not give you out of the box is the plumbing around a submission. You still have to configure SMTP to email yourself, define a model and migration to store each message, wire up the admin to read them, and add your own spam checks. Formstork is the hosted backend that handles that part. You point your template's form action at a Formstork endpoint and add your access key as a hidden field, and Formstork emails you each submission with the visitor's email as the reply-to and saves it to a searchable, taggable dashboard. Because the form posts to an external endpoint and not your own view, you do not need a Django view or a {% csrf_token %} for it. If you would rather keep server-side control, you can also keep your existing view and forward the cleaned data to Formstork with a single requests.post() call.

html
{# Django template. This form posts to Formstork, an external endpoint, #}
{# so it needs no {% csrf_token %} tag and no Django view. #}
<form action="https://api.formstork.com/submit" method="POST">
  <input type="hidden" name="access_key" value="YOUR_ACCESS_KEY" />

  <label>
    Name
    <input type="text" name="name" required />
  </label>

  <label>
    Email
    <input type="email" name="email" required />
  </label>

  <label>
    Message
    <textarea name="message" required></textarea>
  </label>

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

Skip the SMTP and model plumbing

Django can render and validate the form, but you would still configure SMTP to email yourself, add a model and migration to store each submission, and build your own spam checks. Formstork is the hosted backend that receives every POST and handles email, storage, and spam, so there is nothing extra to deploy or migrate.

Reply straight from your inbox

Every submission emails you with the visitor's address set as the reply-to, so you hit reply and it reaches the person who wrote in. Beyond email, each message is kept in a searchable, taggable dashboard you can filter and export to CSV or JSON.

Spam filtered before it reaches you

A hidden honeypot, a server-side content filter, and optional Turnstile, hCaptcha, or reCAPTCHA keep bots out. Flagged submissions stay out of your inbox and never email you, and a rules engine can route, block, or redirect based on a field value.

Set it up

  1. 1Write your form in a Django template with the fields you want, such as name, email, and message. No Django view or {% csrf_token %} is needed, since it posts to Formstork rather than to your own app.
  2. 2Set the form's action to https://api.formstork.com/submit with method POST, and add your access key as a hidden access_key input (or use the short /f/YOUR_ACCESS_KEY URL).
  3. 3Submit once to test. The submission lands in your inbox and your Formstork dashboard, with the visitor's email set as the reply-to.
  4. 4Optional: connect an integration like Slack, Notion, or Google Sheets, turn on spam protection, or (on a paid plan) add an autoresponder. Prefer server-side control? Keep your Django view and forward the cleaned data with requests.post().

Frequently asked questions

Do I need a Django view or form to use Formstork?

No. The form in your template posts straight to Formstork, so you do not need a view or a {% csrf_token %} for it. If you prefer server-side control, keep your existing view and forward the validated data to Formstork with a single requests.post() call.

Does this replace Django's forms and admin?

It complements them. Django still renders and validates the form; Formstork handles email delivery, submission storage, and spam so you do not build SMTP config, models, and admin screens for that. If your Django app serves a JavaScript frontend, official SDKs like @formstork/react and @formstork/vue are available too.

Is it free?

Yes, the free plan includes 250 submissions a month with a full dashboard and 90-day retention, 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