Two settings on a form decide what the person who filled it in receives back: an Email Template, which is the layout the response email is sent as, and an Asset, which is the document they get for handing over their address. Both live under External Notifications on the Form Details tab, and between them they produce four different outcomes depending on what you have set and whether Leed already recognizes the visitor.
Setting it up
Open Design → Forms, pick the form, and scroll Form Details to Notification Settings. The section is split in two: External Notifications — “Email the person who filled out this form” — and Internal Notifications, which mails your own team and is covered with the rest of the form’s settings.
Email Template is a listbox of your email layouts, described as “This template will be used as the response email.” The ✕ beside it clears the selection; there is no “none” entry in the list itself.
Asset is a searchable combobox reading Select Document Asset, described as “This asset will be returned with email submissions.” It offers documents only — the PDFs, office files and archives in your library, not images, video or audio. If the file you want to gate is not in the list, it was uploaded as another type; video, audio and document assets covers which is which.
Both settings autosave as you change them, and the toast reads Form Saved. Publish to use. — the reminder that the form on your live site still has the old configuration until the next deployment goes out.
What the visitor gets
Two questions decide the outcome, and they interact. Does Leed already recognize this visitor? And does the form have a template, an asset, or both?
flowchart TD
S["Form submitted"] --> Q0{"Email supplied, or<br/>visitor recognized?"}
Q0 -- no --> STOP["Row stored.<br/>Nothing else happens."]
Q0 -- yes --> C["Contact created or updated"]
C --> Q1{"Asset set<br/>on the form?"}
Q1 -- yes --> Q2{"Visitor<br/>recognized?"}
Q2 -- yes --> DL["Download starts in the browser.<br/>Nothing is emailed at all."]
Q2 -- no --> Q3{"Email template<br/>set?"}
Q3 -- yes --> MAIL["Button reads Email Sent!<br/>Response email carries the document link"]
Q3 -- no --> NADA["Thank you! — and nothing is sent"]
Q1 -- no --> Q4{"Email template<br/>set?"}
Q4 -- yes --> CONF["Thank you! — plain confirmation email"]
Q4 -- no --> NONE["Thank you! — internal notifications only"]
MAIL --> ONCE{"Already emailed this<br/>contact from this form?"}
CONF --> ONCE
ONCE -- yes --> SKIP["No second email. Ever."]
ONCE -- no --> SEND["Sent"]
| Visitor | Template set | Asset set | What the browser does | What is emailed |
|---|---|---|---|---|
| Recognized | either | Yes | The document downloads immediately — Downloading …, then Thank you! | Nothing, not even the internal notification to your team |
| Not recognized | Yes | Yes | The button reads Email Sent! | The response email, carrying the document link |
| Not recognized | No | Yes | Thank you! | Nothing. The document is never delivered |
| Either | Yes | No | Thank you! | The response email, with no document |
| Either | No | No | Thank you! | Nothing to the visitor; internal notifications still go out |
| A repeat submitter | Yes | either | Thank you!, or the download if recognized | No second email, ever — see below |
Two rows in that table deserve saying out loud.
The first row is a genuine short-circuit: when a recognized visitor submits a form with a gated asset, Leed hands the file straight back in the response and stops there. The contact is created or updated first, so nothing is lost from your records — but no response email is queued and no internal notification is sent for that submission. If your team relies on being emailed about every fill of a gated form, they will not hear about the returning visitors.
The third row is a dead end you can configure by accident. An asset with no template gives a new visitor nothing: there is no email to attach the link to, so they see the thank-you state and the document never arrives. If a form gates a document, give it a template too.
The button tells the story
The submit button is the only feedback the visitor gets, and it swaps through named states as the request runs. Sending … while the request is in flight. Then one of: Downloading … with a spinner while the file transfers, followed by Thank you!; Email Sent! when the document is on its way by mail; Thank you! for everything else; or Try again! if the request itself failed. If you are debugging a gated download, the button distinguishes the three success paths without your having to open the network tab.
The once-only rule
Each form keeps a single email batch of its own, named Form <formId> Submissions. A contact is added to that batch the first time they submit the form, and never again. On top of that, the send itself refuses to mail an address that already has a send recorded against it in the batch.
The rule is scoped to one form, so a contact who submits three different forms with three different templates gets three emails — one from each.
When the email is not sent at all
Four situations produce no response email even when the form is set up correctly:
- The contact has opted out. Opt-out is checked at send time, and an unsubscribed contact is never mailed regardless of what the form says. Unsubscribes and opt-outs covers what a contact can and cannot switch off.
- The address hard-bounced. A contact carrying a hard bounce is skipped silently — the send is abandoned and logged, not retried. Bounces and deliverability explains how an address gets into that state and how it gets out.
- They have already had this form’s email. The once-only rule above.
- You set an asset but no template, and the visitor is not recognized. There is nothing to send the asset with, so nothing goes out.
There is a fifth, and it is a hard failure rather than a quiet one: if the rendered email does not contain its unsubscribe link, the send is rejected outright. A layout that has had {{unsubscribe}} edited out will never deliver a single response email.
What the email itself looks like
The response email is your email layout — Leed does not wrap it in anything. It is sent from no-reply@<your site domain> with your site title as the display name, and its subject comes from the layout, so the same variables that fill the body fill the subject too.
The layout is rendered with the recipient’s details and the machinery a marketing email needs: firstName, lastName, email and a formatted name; homepage and unsubscribe as tracked links; a tracking pixel; three recommended pages; and, when the form gates one, the asset block described above. Every link to your own domain is rewritten as a tracked link on the way out, which is how the download and the click-throughs show up on the contact’s activity. Email layouts documents the full variable set, the design, and the mandatory unsubscribe link.
Internal notifications are separate
Everything above is the External Notifications half of the section: mail to the person who filled the form in. The Internal Notifications half — a list of your own addresses, mailed from forms-noreply@leed.ai with a table of the submitted values — is configured a few lines further down the same panel and is covered with the rest of a form’s settings. The two are independent: a form can have one, both or neither, and the once-only rule applies to the response email alone.