Leads and chat
Forms and submissions
Form submissions are collected on published, live pages and reviewed under Leads, then Forms. Build any type of form that integrates with Mirin, and use field conventions to create contacts, apply tags, and store custom data automatically.
On this page
Review submissions
Forms
Sample website · 3 unread| Starred | From | Form | When |
|---|---|---|---|
| Book an intro session | Just now | ||
| Contact form | 1 hour ago | ||
| Contact form | 2 hours ago | ||
| Book an intro session | Yesterday | ||
| Contact form | Sep 10 |
Open Leads, then Forms. Every form on your published website appears once it has received a submission or been seen by a visitor. Nothing needs to be set up first.
Two views of the same inbox
Forms
Each form on your website, one row each.
- Its submissions, unique views and conversion rate.
- The date of its last submission.
Submissions
One inbox across every form.
- Newest first, whichever form they came from.
- Unread messages in bold.
Work through new leads
- Choose Submissions in the header. Unread rows are bold. Use Show to see only Unread, Starred, or Archived submissions, and search by the sender’s name or email.
- Open a submission to read every field it carried. Opening it marks it read. Use the copy control beside a field to copy a phone number or message.
- Star the ones to follow up, and use Archive when you are done. Archived submissions stay under Show, Archived. Mark as unread brings a submission back to the top of your attention.
- Open a form from the Forms view to see only its submissions, its unique views, and its conversion rate. Conversion stays Unavailable until the form has recorded views on a published page.
- Star. to follow up.
- Archive. when you are done.
- Mark as unread. to revisit.
What each control does
- Unread
- Submissions nobody has opened yet. The count appears under the Forms title and in the summary. Opening a submission marks it read.
- Star
- A personal flag for submissions worth returning to. It changes nothing for the sender.
- Archive
- Hides a submission from the inbox without deleting it. Choose Show, Archived to find it again, then Restore.
- Conversion rate
- Submissions divided by the unique visitors who saw the form. Views are recorded when a form scrolls into view on a published page.
- Notification email
- Under a form’s Settings, choose whether to receive an email for each submission and who receives it. Leave the recipients empty to use the website’s notification address.
- Contact
- A submission with an email address creates or updates a contact. The submission shows how many times that person has written in.
When a submission is not delivered
Almost every submission arrives. When one is turned away, it still appears here, carrying a Not delivered label, so a real enquiry is never lost without a word.
- What the sender saw
- An error on the form rather than a thank you, with what they wrote still in place, so they know it did not reach you.
- Why it was turned away
- Usually an email address that cannot receive mail. The reason is written in plain words at the top of the submission.
- What it does not count towards
- It does not add to the form’s submission count, does not create a contact, and does not count as a conversion.
Automated submissions are dropped quietly
Checks for bots work differently. A submission caught by the hidden field or the bot check is dropped without a trace, so it never reaches your inbox and never appears as a lead you have to judge.
On your phone
The Mirin app shows new submissions in its Inbox, under Forms, and can draft a reply for you to send from your own mail app. Read Answer chats and forms from your phone.
No forms yet?
Add a form to any page, publish it, and the first submission creates the form here. Submissions arrive from live pages only.
How a form becomes a contact
Mirin provides a flexible form system that works with any form component. Add field conventions to your form inputs, and Mirin handles contact creation, tagging, and data storage.
In Mirin
Fill in the form and press Send. The submission lands here, and its email makes it a contact.
- Add the attributePut data-mirin-field on your form inputs.
- A visitor submitsFrom a form on a published, live page.
- Mirin makes a contactIt handles contact creation, tagging, and data storage.
- Convention based
- Use data-mirin-field attributes to map form fields to contact data, tags, or metadata automatically.
- Any form type
- Build newsletters, contact forms, wholesale inquiries, surveys, or any custom form your theme needs.
- Inferred fields
- Common fields like email, firstName, and phone are automatically recognized without explicit mapping.
- Contact management
- Form submissions create or update contact records with custom fields, tags, and activity history.
Field conventions
Add the data-mirin-field attribute to your form inputs to control how data is processed. Every convention belongs to one of four families.
- Contact fields. contact.email, contact.firstName, contact.lastName and contact.phone go straight onto the contact record.
- Tags. contact.tag turns the field value into a tag. contact.tag:value adds a fixed tag whatever the visitor types.
- Custom fields. contact.custom.* stores anything else on the contact, such as a company name.
- Submission metadata. meta.* stores the value with the submission, such as a message.
| Convention | What it does | Example |
|---|---|---|
contact.email | Maps to contact email (primary identifier) | data-mirin-field="contact.email" |
contact.firstName | Maps to contact first name | data-mirin-field="contact.firstName" |
contact.lastName | Maps to contact last name | data-mirin-field="contact.lastName" |
contact.phone | Maps to contact phone number | data-mirin-field="contact.phone" |
contact.tag | Field value becomes a tag on the contact | data-mirin-field="contact.tag" |
contact.tag:value | Adds a static tag regardless of field value | data-mirin-field="contact.tag:newsletter" |
contact.custom.* | Stores value in contact custom fields | data-mirin-field="contact.custom.company" |
meta.* | Stores value in submission metadata | data-mirin-field="meta.message" |
Code example
Here’s a complete example of a contact form using field conventions. Each input includes a data-mirin-field attribute to control how the data is processed. This is what the example does with a submission.
- Contact. Creates a contact with email and first name.
- Custom field. Stores company on the contact.
- Dynamic tag. Applies a tag based on the interest selection.
- Static tag. Adds contact-inquiry to every submission.
- Metadata. Stores the message with the submission.
- Inferred fields. email, firstName, lastName and phone map automatically, even without the data attribute.
<form data-mirin-form="contact-form">
<input
name="email"
type="email"
placeholder="Email"
data-mirin-field="contact.email"
required
/>
<input
name="firstName"
type="text"
placeholder="First Name"
data-mirin-field="contact.firstName"
/>
<input
name="company"
type="text"
placeholder="Company"
data-mirin-field="contact.custom.company"
/>
<select
name="interest"
data-mirin-field="contact.tag"
>
<option value="wholesale">Wholesale</option>
<option value="retail">Retail</option>
<option value="partnership">Partnership</option>
</select>
<textarea
name="message"
placeholder="Message"
data-mirin-field="meta.message"
></textarea>
<!-- Static tag applied to all submissions -->
<input
type="hidden"
data-mirin-field="contact.tag:contact-inquiry"
/>
<button type="submit">Send Message</button>
</form>Form examples
Here are common form types you can build. Any form that captures an email can create a contact record in Mirin.
- Contact form
Capture inquiries with name, email, and message.
Fields:
emailfirstNamelastNamemessageTags:
contact-inquiry- Newsletter signup
Simple email capture for mailing lists.
Fields:
emailTags:
newsletter- Wholesale inquiry
Lead capture with company info and budget.
Fields:
emailfirstNamecompanybudgetTags:
wholesalelead- Event registration
Sign up for events with preferences.
Fields:
emailfirstNamelastNameeventDateTags:
event-registration