Sharing and collecting

How to add a contact form to your website

A contact form beats a mailto: link — it asks for what you need, it does not hand your address to scrapers, and it can be answered from a phone. Here is the whole job, in order.

Last updated

Start from the contact form template

Open the contact form template rather than a blank page. It already asks for a name, an email address, an optional phone number, a topic, the message and an optional attachment, and it opens with a short privacy line waiting for a link to your own policy.

You do not need an account to look at it. Pulseware lets you build and preview the whole form first, and only asks for an email address when you press publish — because that is where the messages will be sent.

If your first contact is really a job enquiry or a pricing request, the enquiry form template and the quote request form template ask the follow-up questions that save you a reply. The contact form builder page shows all three side by side.

Change the topics, and resist adding fields

The topic dropdown is the one thing worth editing properly. Replace the default options with the reasons people actually write to you — “question about an order”, “book a job”, “media” — and the messages sort themselves before you read them.

Then stop. Every extra field costs you messages. If a question only matters for one topic, do not add it to everyone: put a condition on it so it appears for that topic alone. The template already does this with the order-number question. Logic and scoring explains the rest.

Publish it, then embed it

Press publish and confirm your email. Then copy an inline embed snippet from the Share tab and paste it into your contact page. Inline is the right style here: the form is the reason the page exists, so it should not be hiding behind a button. Embedding a form covers the other 8 styles and what to do if your site builder strips scripts.

An embedded form renders at your own address, so visitors stay on your site the whole time. Keep a plain link to the form as well — it is handy in an email signature or on a business card.

Keep the bots out without punishing people

A public contact form gets found by bots within days. Two defences are on by default and neither is visible to a genuine visitor: a hidden honeypot field that only an automated submitter fills in — those submissions look successful and are stored nowhere — and an optional minimum completion time that refuses anything sent faster than a person could read the form.

You can also switch on duplicate prevention so the same browser cannot send the same message repeatedly. Most small sites never need anything more than this.

Make sure you actually see the messages

Every message is stored in your dashboard and emailed to your account address. Turn on Slack or Discord if the team watches a channel rather than an inbox, or send a webhook to open a ticket in your help desk — all of that is free. Sending the person who wrote to you their own copy is a Pro feature.

One limit worth knowing before you build around it: notifications go to the account's email address, so there is no per-topic routing to separate inboxes yet. A shared address or a Slack channel is the usual answer. Integrations has the setup for each, and the pricing page shows what sits on which plan.

Did this answer your question?

If it did not, tell us what was missing and we will fix the article. Help pages that leave people stuck are worse than no help page at all.