MiN8T All Insights

Data Collection via Email Using AMP Forms

M
MiN8T Team
Email Engineering

1 Overview

AMP emails can collect data from recipients without them leaving the inbox. Using the <amp-form> component, forms submit via XHR to a server endpoint. MiN8T provides the full stack: a visual form builder, managed submission endpoints (Data Storages), and webhook forwarding to connect submissions to your existing tools.

This guide ties together the form block and data storage features into an end-to-end data collection workflow.

2 The Data Flow

Here's what happens when a recipient submits a form in an AMP email:

  1. Recipient fills out the form in their email client (Gmail, Yahoo, etc.)
  2. Form submits via XHR to the Data Storage endpoint (action-xhr)
  3. MiN8T validates AMP CORS headers (origin, source-origin)
  4. Field values are sanitized (HTML stripped, size limited to 10KB per field, max 50 fields)
  5. Response is stored in the Data Storage with metadata (origin, IP, user agent, timestamp)
  6. Webhook fires (if configured) — POSTs the fields to Zapier, Make, or your API
  7. Success/error template renders in the email — recipient sees confirmation
i

Steps 3–7 happen in under a second. The form submission, storage, webhook, and response all happen server-side in a single request cycle. The recipient sees the success message almost instantly.

3 Setup Steps

1. Create a Data Storage

Go to the Data Storages dashboard and create a new storage. Optionally configure a webhook URL.

2. Build the Form

In the email editor, add an AMP Form block. Configure fields (text, email, select, etc.) and the submit button.

3. Connect Form to Storage

In the form's property panel, select the Data Storage from the dropdown. MiN8T sets the action-xhr URL automatically.

4. Configure Success Message

Edit the success template to reference submitted fields: Thanks {{name}}, we'll email you at {{email}}.

5. Test

Send a test email to Gmail, submit the form, and verify the response appears in your Data Storage dashboard.

4 Webhook Integrations

Webhooks extend the data flow beyond MiN8T. Configure a webhook URL on your Data Storage to forward every submission in real-time:

The webhook receives a JSON payload with storage_id, storage_name, timestamp, and fields. Webhook failures don't block the form response — submissions are always stored in MiN8T regardless.

You can also export all stored responses as CSV or JSON from the Data Storages dashboard — useful for batch processing or importing into a CRM.

5 Next Steps

Last updated: April 2026. All details verified against MiN8T's actual codebase implementation.