Website form

Contact form for your website

One script tag and your site has a form that does not break the layout: the widget is around 35 KB and lives in Shadow DOM rather than a heavy iframe. Phone and email are validated as they are typed, and enquiries collect in one list.

What is inside

A form whose submissions need no cleaning

One line of code

Paste the script tag into your template and the form appears exactly where you put it. Works on WordPress, Webflow, Shopify, Framer and anywhere you can add code.

A 35 KB widget in Shadow DOM

No 180-200 KB iframe and no fight with your stylesheet: the markup is isolated, while fonts and colours follow your design.

Phone and email validation

The contact field is checked as it is typed and required fields block an empty submit, so you never get an enquiry with no way to reply.

Captcha against spam

Add a captcha block to the form and bots are stopped before submission. The captcha block is available from the Pro plan.

Every enquiry in one list

Submissions collect in the inbox inside the service: what came in, when, and from which page. Export to CSV or XLSX in one click.

Alerts to Telegram and your CRM

New submissions flow to Telegram, Google Sheets, your CRM or your own webhook. Alerts are available from the Pro plan; on the free plan submissions live in the inbox.

Variants

The forms teams build most

Contact and questions

The classic “get in touch”: name, contact, message. As few fields as possible so people reach the button.

Service enquiry

The job, the deadline and the budget alongside the contact, so the first call is informed. Irrelevant fields hide behind conditional logic.

Call me back

Two fields and a button: name and a format-checked phone number. Opens on click or at the right moment on the page.

Service quality rating

A scale and an open comment after a purchase or a visit. For recurring loyalty measurement there is a dedicated NPS format.

Bug report

What broke, where, and how to reproduce it, with a file or screenshot attached. Reports collect in a single list.

Footer form

A compact subscribe or contact form on every page. The widget is light, so it does not hurt Core Web Vitals.

How to build a contact form for a website

Build the form in Askyo, set up the fields and embed it with one line of code.

  1. Build the form

    Sign up without a card and add the fields: name, phone, email, message, file upload. Mark the required ones and switch validation on.

  2. Style it

    Match colours and fonts to your site, set the button label and the message people see after submitting.

  3. Embed it

    Copy the script line from the publish dialog and paste it into your page template. The widget picks the form up automatically.

  4. Handle enquiries

    Submissions collect in the inbox and export to Excel. From the Pro plan you can add Telegram alerts and CRM delivery.

What a contact form is for

A contact form is the block on a website where a visitor writes to you without opening their email: name, a way to reply, a message, and a submit button. The message is stored on your side and the visitor sees a confirmation straight away. It gives you requests in one place and one format, with the phone number written as digits and the page it came from attached.

Which fields to include

FieldWhySetup
NameAddress the replyShort text, required
EmailReply in writingEmail, format-checked
PhoneCall backPhone, format-checked
TopicRoute to the right personDropdown with 3-6 topics
MessageThe question in their wordsLong text
ScreenshotShow a bug or a documentFile upload, from Pro
ConsentPermission to store contact detailsConsent linking to your policy

For a plain “write to us” form, four fields are enough: name, contact, message, consent. Fields that only some people need can appear on condition, so the screenshot upload shows up only when the topic is “bug report”. Ready-made starting points: the contact form, the branching feedback form and the B2B lead form.

Adding the form to WordPress, Webflow or Shopify

Publish the form and copy the snippet from the Widget tab. No plugin is needed:

  • WordPress: add a Custom HTML block to the page, or to Appearance → Widgets for a sidebar or footer form.
  • Webflow: drop an Embed element where the form should appear. Scripts run on the published site, not in the Designer.
  • Shopify: add a Custom Liquid section in the theme editor and paste the snippet.

Three display modes are available: inline in the page, a floating button in the corner, or a modal opened by any element you mark. You can hide the form on phones and restrict which domains may show the widget. Attributes and events are covered in the developer docs; why the widget skips the iframe is in the article on Shadow DOM widgets.

Where the messages go

Every message lands in the inbox inside Askyo and exports to CSV. Askyo does not send email notifications. From the Pro plan a webhook forwards each new message to your own endpoint, such as a team chat bot or a CRM; a worked example is in webhooks, CRM and chat. On the free plan nothing is lost, you just check the inbox.

Spam protection comes from format checks, required fields, the captcha block (from Pro) and the domain allowlist for the widget. If you need a longer form with detailed client data, build a questionnaire instead. Other form types, from lead forms to briefs, are covered on the form builder page.

Frequently asked questions

Questions about the contact form

Where do submissions go?

To the inbox inside the service, where you see each enquiry, its date and the page it came from. CSV export works on every plan, XLSX from the Team plan. From the Pro plan you can add Telegram alerts and delivery to your CRM, Google Sheets or your own webhook.

Do I get an email notification?

No, the service does not send emails about new submissions. Alerts run through Telegram and webhooks on the Pro plan and above; without them you check the inbox. If instant notice matters, set up Telegram.

How do I keep spam out?

Add a captcha block to the form and bots are stopped before submission; the block is available from the Pro plan. Required fields with format validation also help, since primitive bots trip on them.

Will the form break my layout?

No. The widget renders in Shadow DOM, so its styles and your site styles stay isolated. At around 35 KB against 180-200 KB for iframe-based tools, it also costs much less page speed.

Does it work on WordPress and Webflow?

Yes, and on Shopify and Framer too. All you need is a way to insert custom code into the page or template. For developers there is a JS API with lifecycle events and React and Vue examples.

Is the contact form free?

Yes. The free plan covers up to 5 forms and 150 submissions in total, field validation, conditional logic and the website widget. No card required. Captcha and alerts to Telegram and CRM unlock on Pro.

Which fields does a contact form need?

For a plain “write to us” form, four are enough: name, email or phone, message and consent. Add a topic dropdown when different people handle different requests, and a file upload when customers send screenshots or documents. Every extra field lowers the number of forms that get sent.

Put a form on your site in 5 minutes

One line of code, a 35 KB widget, validated contacts. Free plan, no card.

Pricing Create a survey