All docs
3 min read

Autoresponder

An autoresponder is the email Formspring sends to the person who submitted the form. "Thanks for your message — we'll get back to you within a day." That kind of thing.

It's separate from owner notifications. Notifications go to you; the autoresponder goes to the submitter. You can run both, or just one.

Autoresponders require Pro+.

When it fires

Right after a clean submission lands. Specifically:

  1. The submission passes the spam stack and is persisted.
  2. We look at the form's autoresponder config.
  3. If enabled === true and we can identify a recipient, we queue the email.

If the submission goes to spam, the autoresponder does not fire. You don't want to be confirming receipt for crypto bots.

Identifying the recipient

We need an email address. By default we look for a field named email in the payload. If your field is named differently, set reply_to_field in the config to that name.

If the value isn't a valid email, we skip the send and log it. You won't see it bounce — there's no recipient to bounce from.

Configuring it

Open the form, then Settings → Autoresponder. Five fields:

Field Purpose
enabled The on/off toggle.
from_name The display name on the email ("Acme Support"). The address is fixed at info@pixelandprocess.de for deliverability — see below.
subject Subject line. Supports placeholders.
body_md The body in markdown. Supports placeholders.
reply_to_field Which payload key holds the submitter's email. Default "email".

Saving writes a JSON blob like:

{
  "enabled": true,
  "from_name": "Acme Support",
  "subject": "We got your message, {{name}}",
  "body_md": "Hi {{name}},\n\nThanks for reaching out. We'll reply within one business day.\n\n— The Acme Team",
  "reply_to_field": "email"
}

Placeholder syntax

Use {{field_name}} to substitute any payload value into the subject or body:

Subject: Order #{{order_id}} confirmed

Missing fields render as empty strings (we never leave the literal {{field}} text in the email). HTML-style placeholders aren't supported — only {{...}}.

Sending a test

In the autoresponder panel, click Send test. We send a sample email to your account address using fake payload values (name = "Ada", email = "ada@example.com"). Useful for previewing rendering before a real submission lands.

You can also test via the API: POST /forms/{form}/autoresponder/test, or via MCP: send_test_autoresponder.

Email rendering

The body is markdown. We render it through our standard email template — a clean, single-column layout that works in Gmail, Outlook, Apple Mail, and the rest. Links are turned into anchors; lists, headings, blockquotes all work.

We do not include images by default. If you need a logo, point at one in your CDN with a markdown image (![](https://...)).

Sending stream

Autoresponders are sent on a broadcast stream — separate from owner notifications, which go on a transactional stream. This matters because autoresponder volume scales with form traffic, and sending it transactionally would dilute your transactional reputation.

The practical effect: autoresponder emails take a beat longer to arrive (background jobs, broadcast queue) than the immediate notifications you get as the form owner.

What's next