Contact Us Management
Contact Us Management allows administrators to review customer inquiries, track response status, update read/replied states, save internal response notes, and use a ready-to-paste public contact form sample.
Use this page to manage messages submitted through the public Contact Us form and to monitor whether each inquiry has been read, replied to, or completed.
Overview
The Contact Us Management page is divided into three main areas: summary cards, search filters, and the inquiry list. Administrators can also open a sample popup that provides ready-to-paste HTML, CSS, and JavaScript for a public Contact Us form.
| Area | Description |
|---|---|
| Summary Cards | Shows total inquiries, new inquiries, in-progress items, completed items, unread messages, and unreplied messages. |
| Search Filters | Allows administrators to search inquiries by keyword, status, read state, replied state, date range, and page size. |
| Inquiries | Displays submitted inquiries with status, customer information, subject, read state, replied state, created date, and action buttons. |
| Inquiry Detail | Displays customer information, inquiry content, user agent, and admin management fields. |
| Sample Popup | Provides ready-to-paste AJAX sample source code for adding a public Contact Us form to a page. |
Summary Cards
Summary cards provide a quick overview of the current inquiry status.
| Card | Meaning |
|---|---|
| Total | The total number of contact inquiries stored in the system. |
| New | The number of inquiries currently marked as new. |
| In Progress | The number of inquiries currently being handled. |
| Completed | The number of inquiries that have been completed. |
| Unread | The number of inquiries that have not been read yet. |
| Unreplied | The number of inquiries that have not been replied to yet. |
Search Filters
Search filters help administrators quickly locate specific inquiries.
| Filter | Description |
|---|---|
| Keyword | Search by name, email, subject, or message content. |
| Status | Filter inquiries by status such as New, In Progress, or Completed. |
| Read | Filter inquiries by read or unread state. |
| Replied | Filter inquiries by replied or pending state. |
| From | Search inquiries created from the selected start date. |
| To | Search inquiries created up to the selected end date. |
| Page Size | Controls how many inquiries are displayed per page. |
| Search | Runs the search using the selected filters. |
| Reset | Clears all filters and returns to the default list. |
Inquiry List
The inquiry list displays contact form submissions that match the current search filters.
| Column | Description |
|---|---|
| ID | The internal inquiry ID. |
| Status | The current processing status of the inquiry. |
| Name | The customer name submitted from the contact form. |
| The customer email address. | |
| Subject | The subject of the inquiry. A message preview may appear under the subject. |
| Read | Shows whether the inquiry has been read. |
| Replied | Shows whether the inquiry has been replied to. |
| Created | The date and time when the inquiry was submitted. |
| Action | Provides a View button to open the inquiry detail page. |
Inquiry Detail Page
The inquiry detail page displays the submitted customer information, inquiry content, and administrator management fields.
Customer Information
This section displays the customer data submitted through the contact form.
| Field | Description |
|---|---|
| Full Name | The customer's full name. |
| The customer's email address. | |
| Phone Number | The customer's phone number, if provided. |
| Company Name | The customer's company name, if provided. |
| IP Address | The IP address used when the inquiry was submitted. |
| Referrer URL | The page URL where the customer submitted or opened the form. |
| Created | The submission date and time. |
| Created By | The submitter type, such as Guest or a logged-in user. |
Inquiry Content
This section displays the subject, message, and browser information.
| Field | Description |
|---|---|
| Subject | The inquiry subject entered by the customer. |
| Message | The inquiry message entered by the customer. |
| User Agent | The browser and device information used when the inquiry was submitted. |
Admin Management
The Admin Management section allows administrators to update the handling state of an inquiry and save internal response notes.
| Field | Purpose |
|---|---|
| Status | Set the processing status, such as New, In Progress, or Completed. |
| Read | Set whether the inquiry has been read. |
| Replied | Set whether a response has been sent or is still pending. |
| Replied By | Record the administrator or staff member who replied to the inquiry. |
| Reply Memo | Write internal response notes or response details using the editor. |
The Reply Memo area is for administrator notes or response details. It can help your team track what was done for each inquiry.
Sample Popup
The Sample Popup button opens a source code window that provides a ready-to-paste AJAX Contact Us sample. This sample can be used to add a public Contact Us form to another page.
What the sample includes
- HTML structure for a public Contact Us form.
- CSS styles for the contact page layout.
- JavaScript code that loads an anti-forgery token.
- AJAX submission using
fetch(). - Success and error message handling.
- Required server endpoint information.
Ready-to-Paste AJAX Contact Us Sample
The sample code is designed to be copied directly into another page. It does not require Razor code inside the sample page.
Required Server Endpoints
The sample depends on the following server endpoints:
// Required endpoint summary
// 1) GET /ContactUs/Token
// returns anti-forgery token JSON
//
// 2) POST /ContactUs/Submit
// saves Contact Us data
//
// This sample HTML uses fetch('/ContactUs/Token') first,
// then submits to fetch('/ContactUs/Submit').
Security Token Flow
The public form first calls /ContactUs/Token to load a valid anti-forgery token.
The token is stored in a hidden input named __RequestVerificationToken.
When the visitor submits the form, the form data is posted to /ContactUs/Submit.
- JavaScript calls
/ContactUs/Token. - The server returns anti-forgery token JSON.
- JavaScript stores the token in a hidden input.
- The form submits with
fetch('/ContactUs/Submit'). - The server validates the token and saves the inquiry data.
Sample Form Fields
| Input Name | Purpose | Required |
|---|---|---|
| FullName | Customer full name. | Yes |
| Customer email address. | Yes | |
| PhoneNumber | Customer phone number. | No |
| CompanyName | Customer company name. | No |
| Subject | Inquiry subject. | Yes |
| Message | Inquiry message. | Yes |
| __RequestVerificationToken | Anti-forgery token used for secure form submission. | Yes |
Public Contact Form Sample
The following sample shows the main structure of the public Contact Us form. In the actual Sample Popup, you can copy the full source using the Copy Source button.
<form id="contactUsForm" class="contact-form">
<input type="hidden"
id="__RequestVerificationToken"
name="__RequestVerificationToken"
value="" />
<input type="text" id="FullName" name="FullName" required />
<input type="email" id="Email" name="Email" required />
<input type="text" id="PhoneNumber" name="PhoneNumber" />
<input type="text" id="CompanyName" name="CompanyName" />
<input type="text" id="Subject" name="Subject" required />
<textarea id="Message" name="Message" required></textarea>
<button type="submit">Send Message</button>
</form>
Recommended Workflow
- Open Admin > CRM > Contact Us.
- Review the summary cards to understand inquiry status.
- Use filters to find specific inquiries.
- Click View to open the inquiry detail page.
- Review customer information and inquiry content.
- Update the inquiry status, read state, replied state, and reply memo.
- Use Back to List to return to the inquiry list.
- Use Sample Popup when you need to add a public Contact Us form to another page.
Common Use Cases
| Use Case | Recommended Action |
|---|---|
| Check unread inquiries | Use the Read filter and select unread items. |
| Find unreplied inquiries | Use the Replied filter and select pending or not replied items. |
| Review customer details | Click the View button in the inquiry list. |
| Track response progress | Update Status, Read, Replied, Replied By, and Reply Memo. |
| Add Contact Us form to a website page | Open Sample Popup, copy the source, and paste it into the target page. |
Important Notes
- Customer email, phone number, IP address, and message content should be handled carefully.
- Do not delete inquiries unless they are no longer needed or were created by spam.
- Use the reply memo to keep a clear internal response history.
- Always test the public Contact Us form after copying the sample source to a page.
- The sample requires
/ContactUs/Tokenand/ContactUs/Submitto work correctly. - If token loading fails, the public form cannot securely submit data.
Troubleshooting
| Problem | Possible Cause | Solution |
|---|---|---|
| No inquiries are displayed | The search filters may be too restrictive or no inquiries exist yet. | Click Reset and search again. Also test the public Contact Us form. |
| Form submission fails | The anti-forgery token may not have loaded correctly. | Check whether /ContactUs/Token returns a valid token. |
| Sample form does not save data | The submit endpoint may be missing or blocked. | Check whether /ContactUs/Submit exists and accepts POST requests. |
| Inquiry status is not updated | The detail form may not have been saved or permission may be missing. | Save the detail page again and check admin permissions. |
| Customer message is spam | The public form may be receiving automated submissions. | Add validation, rate limiting, captcha, or additional spam protection if needed. |
Best Practices
- Review new inquiries regularly.
- Mark inquiries as read after reviewing them.
- Update replied status after a response has been sent.
- Use In Progress for inquiries that require follow-up.
- Use Completed when the inquiry has been fully handled.
- Keep the reply memo clear and professional.
- Test the Contact Us sample form before publishing it on a live page.
Contact Us inquiries often contain customer contact information and business requests. Manage them carefully and keep the response status accurate.