Forms
Hosted form page
A form without your own code: Mailiy serves the page, and you share the link or QR code or embed it with an iframe.
No website with your own HTML, or you only need a form as a link, say for a flyer? Then Mailiy serves the form page itself. Submissions arrive in your inbox and the dashboard as usual, with the same spam protection, email templates and integrations.
Set up
Under “New form” pick “Hosted by Mailiy” and then “In the editor”. For an existing form, open the “Form” tab. The middle shows the form the way it looks on the page, with the blocks on the right. Click a block to add it, or drag it onto the canvas. Click a field and the right column shows its settings; “← Blocks” takes you back. Dragging inside the canvas changes the order. A form holds up to 50 fields. You can also set a text above the fields and the text shown after sending. Tick “Publish hosted form” and save. Building a form with AI is not available yet.
Blocks
- Inputs: text, long text, email, phone, website, number, amount, date, time, name (first and last), address, file and signature. People draw the signature with a mouse or finger, or type their name.
- Choice: dropdown, radio buttons, checkbox, multiple choice and rating (stars or a scale of 3 to 10 per question). Write one option per line.
- Special: “Choice from answers” offers the answers to a field of another of your forms as a list, course names for example. Those answers are in the page source, so every visitor can read them. Only use a field whose answers may be public. “Person” lets visitors pick a person, written one per line as Name <address@example.com>. The page shows only the names, and Mailiy fills in the address when the form is sent.
- Prices: price (a fixed amount), calculation with a formula such as {rooms} * 80 + {fee}, and a price per option on dropdowns, radio buttons and multiple choice. The calculation counts those prices.
- Layout: text block, section with a heading, new page for multi-page forms, repeating group (visitors add groups of fields, one per attendee for example) and table with up to 10 columns.
Width and conditions
Each field has a width from a quarter to the full row. Narrow fields sit next to each other, and stack on phones. Under “Only show when” a field only appears if other fields have certain values, company only when customer type equals business for example. “Required when” works the same way. Mailiy also checks required fields, rules and prices on the server when the form is sent, and a hidden field is not stored.
Payments
Hosted forms can take money, for a sign-up or an order for example. This only works on the page Mailiy serves, not with your own HTML. Connect your own Stripe account under Billing first; Mailiy asks for your password there. Then pick a price, calculation or amount field and the currency (EUR, CHF, GBP or USD) under Payment in the “Form” tab. After sending, people go to Stripe, and the money goes straight to your account. Mailiy keeps a fee that Stripe takes off at payment. The minimum is 0.50 (0.30 in GBP); below that the page shows an error. The submission shows “payment open” until Stripe reports the payment, then “paid”. The email to you only arrives once it is paid. If no payment comes in within 24 hours, it arrives anyway, marked “payment open”. If someone cancels at Stripe, the page shows a button to pay again.
Refund a paid submission with “Refund” in the opened submission, in full or in part. The suggested amount is what has not been paid back yet. The money goes back to the payer through your Stripe account; Stripe's and Mailiy's fees are kept. The table then shows how much was refunded, and “refunded” once all of it is back. Only the owner and admins can refund. For older payments Mailiy says it cannot refund them here; refund those in the Stripe dashboard. Mailiy does not see refunds made there.
The field name is the key the value appears under in the email, the export and webhooks. Leave it empty and Mailiy builds it from the label. Email fields are named email by default, so replies go straight to the sender and the auto-reply reaches them.
Share and embed
Once the page is published, the tab shows the link (mailiy.com/f/ plus the form ID), a QR code as an SVG download and an embed code. The code places an iframe on your page that grows when the form gets longer. The iframe only works on the domains under “Allowed domains” and their subdomains. With an empty list the tab shows no code and embedded frames stay empty everywhere. The link and QR code still work.
<iframe src="https://mailiy.com/f/FORM_ID?embed=1" title="Kontakt" style="width:100%;border:0"></iframe>Fields can be prefilled through the link: add the field name and value, for example ?email=anna@example.com&course=Beginner. For checkboxes, repeat the name for each tick. Visitors can still change the values, so do not put prices or IDs you rely on in there.
Not everyone fills in a long form in one go. With “Keep unfinished answers in the browser” the page remembers the answers in that person's browser until they send. If they come back later on the same device, everything is still there. Nothing of it is stored at Mailiy, and files, drawn signatures, the consent box and added rows are left out. On shared computers, “Clear answers” removes the saved state.
Only ALTCHA works as captcha on the hosted page, because hCaptcha, Turnstile and reCAPTCHA are tied to your domain. If you pause the form or untick the box, the link answers 404. Through the API you set the same with PATCH /api/forms/{id} and the fields fields, hosted, hosted_intro, hosted_save, success_message, payment_field and currency.