Contact Form 7 Templates
Start with the form your visitors need.
Choose a contact, quote request or support form. Copy the fields into Contact Form 7, connect the notification settings, then test it on your own page.
Three free starters. Core CF7 fields. Manual copy and paste.
Illustration only. Your theme supplies the final appearance.
What should this form help you do?
Pick the smallest set of questions that lets you act on a request. Each example includes the complete Form tab markup, a field explanation and matching notification fields.
Start a conversation
General contact / 4 fieldsA short form for questions that need a personal reply.
Use the contact templatePrepare a quote
Quote request / 7 fieldsGather requirements, timing and optional budget context.
Use the quote templateUnderstand an issue
Support request / 8 fieldsCollect a problem description and useful investigation details.
Use the support templateForm template or email template? The Form tab controls the fields visitors complete. The Mail tab controls the notification sent after submission. Start with the front-end examples here; the small message-body snippets only connect their fields to your notification.
General contact form
Give visitors a short, clear way to ask a question. Choose this template when a name, reply address and message give you enough information to start a conversation.
What each field does
- Your nameRequired
- Identifies the person you are replying to.
- Your emailRequired
- Provides a reply address and checks email format.
- SubjectOptional
- Adds a short topic for the inquiry.
- Your messageRequired
- Collects the question or reason for getting in touch.
Keep the subject optional if you can route all inquiries to the same inbox. The message is required so a submission includes a useful question.
<div class="cf7tb-template">
<p><label>Your name (required)<br>
[text* your-name autocomplete:name]</label></p>
<p><label>Your email (required)<br>
[email* your-email autocomplete:email]</label></p>
<p><label>Subject (optional)<br>
[text your-subject]</label></p>
<p><label>Your message (required)<br>
[textarea* your-message]</label></p>
<p>[submit "Send message"]</p>
</div>
Copy the entire block into this form's Form tab. Follow the setup steps before publishing.
Matching notification fields
In the Mail tab, set the Subject to New contact request. Paste the following into Message body, then complete the shared notification settings.
Name: [your-name]
Email: [your-email]
Subject: [your-subject]
Message:
[your-message]
Quote request form
Collect the context needed to prepare a quote: what the visitor wants, the scope of the request, and any timing or budget preferences. Use this for product, service or project inquiries.
What each field does
- Your nameRequired
- Names the contact for the quote.
- Your emailRequired
- Provides the address for follow-up.
- CompanyOptional
- Adds business context when relevant.
- Request typeRequired
- Groups the inquiry by product, service or project.
- RequirementsRequired
- Captures the item, quantity, scope or specifications.
- Preferred timingOptional
- Records a target date or general timeframe.
- Budget rangeOptional
- Allows a range and currency in the visitor's own words.
Replace the request-type choices with your own categories. Keep budget and timing optional when visitors may not know them yet. This form collects a request; it does not calculate a price.
<div class="cf7tb-template">
<p><label>Your name (required)<br>
[text* your-name autocomplete:name]</label></p>
<p><label>Your email (required)<br>
[email* your-email autocomplete:email]</label></p>
<p><label>Company (optional)<br>
[text company-name autocomplete:organization]</label></p>
<p><label>Request type (required)<br>
[select* request-type first_as_label "Choose a request type" "Product" "Service" "Project" "Not sure"]</label></p>
<p><label>Requirements (required)<br>
[textarea* project-details placeholder "Describe the product, quantity or project scope."]</label></p>
<p><label>Preferred timing (optional)<br>
[text preferred-timeline]</label></p>
<p><label>Budget range and currency (optional)<br>
[text budget-range]</label></p>
<p>[submit "Request a quote"]</p>
</div>
Copy the entire block into this form's Form tab. Follow the setup steps before publishing.
Matching notification fields
In the Mail tab, set the Subject to New quote request. Paste the following into Message body, then complete the shared notification settings.
Name: [your-name]
Email: [your-email]
Company: [company-name]
Request type: [request-type]
Preferred timing: [preferred-timeline]
Budget range: [budget-range]
Requirements:
[project-details]
Support request form
Ask for the affected product or service, a short issue summary and the details needed to investigate. Optional reference and environment fields help identify the context without blocking a new request.
What each field does
- Your nameRequired
- Identifies the person requesting help.
- Your emailRequired
- Gives the support team a reply address.
- Product or serviceRequired
- Identifies what the request concerns.
- Order or referenceOptional
- Helps locate a purchase or earlier conversation.
- Website URLOptional
- Identifies the affected page, where relevant. Include https://.
- Issue summaryRequired
- States the problem in one sentence.
- Issue detailsRequired
- Explains the steps, expected result and actual result.
- EnvironmentOptional
- Records relevant versions, browser or device details.
Adapt the environment prompt to your product. For a WordPress addon, ask for WordPress, Contact Form 7 and addon versions. A submission does not automatically create a helpdesk ticket or ticket number.
<div class="cf7tb-template">
<p><label>Your name (required)<br>
[text* your-name autocomplete:name]</label></p>
<p><label>Your email (required)<br>
[email* your-email autocomplete:email]</label></p>
<p><label>Product or service (required)<br>
[text* product-service]</label></p>
<p><label>Order or reference (optional)<br>
[text order-reference]</label></p>
<p><label>Website URL (optional)<br>
[url website-url placeholder "https://example.com"]</label></p>
<p><label>Issue summary (required)<br>
[text* issue-summary]</label></p>
<p>Do not include passwords, license keys or payment details.</p>
<p><label>Issue details (required)<br>
[textarea* issue-details placeholder "Describe the steps, what you expected and what happened."]</label></p>
<p><label>Environment (optional)<br>
[textarea environment-details placeholder "Add relevant software versions, browser or device details."]</label></p>
<p>[submit "Send support request"]</p>
</div>
Copy the entire block into this form's Form tab. Follow the setup steps before publishing.
Matching notification fields
In the Mail tab, set the Subject to New support request. Paste the following into Message body, then complete the shared notification settings.
Name: [your-name]
Email: [your-email]
Product or service: [product-service]
Order or reference: [order-reference]
Website URL: [website-url]
Issue summary: [issue-summary]
Issue details:
[issue-details]
Environment:
[environment-details]
How to use these Contact Form 7 templates
These are copy-and-paste starters for the core Contact Form 7 plugin. You do not need a paid addon to use the fields. Keep a copy of any existing form before replacing its markup.
Open a new contact form
Keep Contact Form 7 installed and active. In WordPress, open Contact and add a new contact form. Give it a clear name such as "Quote request".
Paste the Form code
Replace the new form's default markup with one complete Form tab block above. Paste the code itself, without code fences. CF7 supplies the outer form element.
Adapt the questions
Edit visible labels and select options for your business. An asterisk in a form-tag, such as
text*, makes that field required. Keep field names unique within each form.Connect the notification
Use the matching Message body snippet. Set your recipient, sender, subject and reply header using the settings below. Update mail-tags if you rename or remove fields.
Save and embed
Resolve configuration warnings and save. Copy the shortcode generated for this saved form. In Bricks, paste it into a Shortcode element on the destination page, then save the page.
Check the live result
Load the shared sizing CSS below if needed. Test the actual page on desktop and mobile, then check validation and receipt of a test notification before using the form publicly.
Keep the three editing locations separate. Form markup goes in the CF7 Form tab. Notification values go in the Mail tab. The saved form's shortcode goes on your WordPress page. Adding form-tags directly to an ordinary page will not create the saved CF7 form.
Shared sizing CSS for the three starters
These single-column examples inherit your theme's appearance. If fields are too wide or too close together, add these small containment rules to Bricks page Custom CSS or a stylesheet loaded on the form's page. Paste as plain CSS, outside the Form tab.
.wpcf7 .cf7tb-template,
.wpcf7 .cf7tb-template * { box-sizing: border-box; }
.wpcf7 .cf7tb-template { width: 100%; min-width: 0; }
.wpcf7 .cf7tb-template p { margin: 0 0 18px; }
.wpcf7 .cf7tb-template label,
.wpcf7 .cf7tb-template .wpcf7-form-control-wrap { display: block; }
.wpcf7 .cf7tb-template :is(
input[type="text"], input[type="email"],
input[type="url"], select, textarea
) {
display: block;
width: 100%;
max-width: 100%;
min-width: 0;
font-size: 16px;
}
.wpcf7 .cf7tb-template textarea { resize: vertical; }
.wpcf7 .cf7tb-template .wpcf7-submit { max-width: 100%; }
.wpcf7 .cf7tb-template .wpcf7-not-valid-tip { overflow-wrap: anywhere; }
The rules apply only inside .cf7tb-template. They keep the starters readable in a narrow container. For colors, borders and broader appearance changes, use the Contact Form 7 CSS style guide.
Finish the notification settings
Use the values below with the message-body block for your chosen form. Replace both example email addresses with addresses configured for your own website.
| To | Your receiving inbox, for example inquiries@your-domain.com. |
|---|---|
| From | A sender on your website's domain, for example Website Forms <forms@your-domain.com>. Use an address supported by your mail configuration. |
| Subject | Use the subject shown with your chosen template's notification fields. |
| Additional headers | Reply-To: [your-email] |
| Message body | Paste the matching snippet from your chosen template. Keep "Use HTML content type" off for these plain-text bodies. |
All three forms use the required email field your-email, so the same reply header works. If you change that field name, change the header too. An email-format check does not verify ownership of the address. For full mail configuration guidance, see Contact Form 7: setting up mail.
Before you put the form to work
- Submit with a required field missing and confirm that the field error is readable.
- Leave optional fields empty and confirm that the request can still be submitted.
- Send a test request on your own site. Check the received notification for every field, including select values and longer messages.
- Check that replying to the notification addresses the test visitor. A success message alone does not confirm inbox delivery.
- Review phone widths, keyboard focus and error messages on the actual page. Add any privacy notice or consent controls your use case requires.
Questions about using the templates
Can I import these templates with one click?
No import file or one-click importer is included here. Copy the Form code into Contact Form 7, configure the Mail tab, then embed the saved form's shortcode.
Will the template look exactly like the illustration?
The illustration shows the field structure. The copied markup uses your theme and page styles. Use the shared sizing rules for a simple single-column starting point, then follow the styling guide if you want to change the appearance.
Can I change labels without breaking the notification?
Yes. Visible labels can change while field names stay the same. Renaming your-name inside a form-tag also requires updating its matching mail-tag. Remove unused mail-tags when you remove fields.
Can I place fields side by side?
Yes. Start with the questions you need, then use the Contact Form 7 columns guide for the layout. Keep the same field names when moving fields, and recheck the form on mobile.
Does the support example upload files or create tickets?
It collects a text-based support request and sends the configured notification. File uploads, ticket numbers and helpdesk integration require their own setup. None is added by this starter.
Why is a field missing from the email?
Check that the Message body contains the exact mail-tag for that field. For example, project-details in the quote form needs [project-details] in its message body. Save the correction and send another test request.
