Web Forms
Let your customers reach you without opening their email client. Web forms turn your website or docs site into a direct support channel — visitors fill out a simple form, and their message becomes a GitHub Issue or Discussion, just like an email.
What visitors see
The form presents four fields:
| Field | Description |
|---|---|
| Name | Full name (required, up to 100 characters) |
| Email address (required, up to 100 characters) | |
| Subject | Topic or title of their request (required) |
| Message | Full description of their question or issue (required) |
On the embeddable widget, visitors also see a Take Screenshot button. Clicking it opens the browser’s screen-sharing picker — they select a window or tab, Scitor captures a single frame as a screenshot, and it’s attached to the ticket automatically. This is useful for bug reports where showing what’s on screen is faster than describing it.
After submitting, visitors see a confirmation message: “Thank you for submitting your request. Our team will review the information provided and reply to you by email.” They can then send another request if needed.
Tip
The screenshot feature uses the browser’s built-in screen capture API. It works in Chrome, Edge, and Firefox on desktop. Mobile browsers typically don’t support it, so the button won’t appear there.
Embeddable widget
Add a support form to any website — your marketing site, app dashboard, or internal tools. Visitors see a floating “Help” button in the bottom-right corner. Clicking it opens a compact form panel without leaving the page.
Creating a form
Use the /create-form command in any issue or discussion comment:
/create-form Contact Support
Scitor responds with an embed code containing a unique form ID.
Embedding the form
Add the provided iframe code to your website:
<iframe
src="https://www.scitor.io/forms/abc123"
width="100%"
height="600"
frameborder="0"
title="Contact Support"
></iframe>
Customizing the widget
You can customize the widget’s appearance by passing options to the embed script:
| Option | Default | Description |
|---|---|---|
headerText |
“Helpdesk” | Title shown in the form panel header |
subtitle |
“Contact us” | Heading above the form fields |
buttonText |
“Help” | Label on the floating button |
headerColor |
“blue” | Background color of the panel header |
buttonColor |
“#555” | Background color of the floating button |
width |
“340px” | Width of the form panel |
height |
“400px” | Height of the form panel |
name |
(empty) | Pre-fill the visitor’s name (useful if they’re logged in) |
email |
(empty) | Pre-fill the visitor’s email (useful if they’re logged in) |
Tip
If your visitors are already logged in, pre-fill name and email to save them time. Two fewer fields to fill out means more people will actually submit the form.
Docs contact form
Add a contact form directly to your knowledge base site. The floating placement adds a circular chat-bubble button in the bottom-right corner that visitors can click to open a compact form panel — it slides up smoothly and can be dismissed by clicking outside, pressing Escape, or clicking the button again.
Unlike the embeddable widget, the docs contact form is configured in scitor.yaml and automatically managed — no /create-form command needed. It includes Cloudflare Turnstile for spam prevention and shows a “Send Message” button that changes to “Sending…” while submitting. On success, visitors see: “Message sent! We’ll get back to you shortly.”
Setup
Add a contact section to your docs configuration:
docs:
path: docs
title: "My Support Docs"
contact:
placement: [footer, floating]
That’s it. On the next build, Scitor creates a form automatically and embeds it at the specified locations.
Placement options
Choose where the form appears by adding one or more placements:
| Placement | Description |
|---|---|
footer |
Full-width form at the bottom of each page, below the content |
article-bottom |
Form at the end of article content, inside the article area |
sidebar |
Compact form at the bottom of the sidebar navigation |
floating |
Floating action button (FAB) in the bottom-right corner that expands into a form |
You can combine multiple placements. For example, a footer for visibility and floating for quick access from anywhere:
docs:
contact:
placement: [footer, floating]
Customization
Customize the form title and description:
docs:
contact:
placement: [footer]
title: "Need help?"
description: "Drop us a line and we'll get back to you within 24 hours."
| Field | Default |
|---|---|
title |
“Can’t find what you’re looking for?” |
description |
“Send us a message and we’ll get back to you.” |
Spam prevention
The docs contact form includes three layers of spam prevention, all handled automatically:
- Honeypot field — A hidden field that bots fill in but humans don’t see. Submissions with this field filled are silently accepted (the bot thinks it succeeded) but discarded.
- Cloudflare Turnstile — A privacy-preserving CAPTCHA alternative. Scitor provides the Turnstile widget by default. If you prefer to use your own Turnstile site key, set
turnstile_site_keyin the config. - Rate limiting — Server-side limits of 10 submissions per IP address per hour and 5 per email address per hour. Exceeding these limits returns a rate limit error.
What gets captured
Each form submission includes:
| Field | Description |
|---|---|
| Name | Submitter’s full name |
| Submitter’s email address | |
| Subject | Topic or title of the request |
| Message | Full message body (up to 5,000 characters on docs forms, 2,000 on embeddable widgets) |
| Screenshot | Screen capture attachment (embeddable widget only) |
| Metadata | Automatically collected: page URL, browser, OS, screen resolution, and any custom fields you pass via URL parameters |
Processing
Form submissions go through the same pipeline as emails:
- Issue/Discussion created with form data in the body
- AI analysis applied (Pro plan) — sentiment, category, summary
- Labels applied automatically
- Metrics tracked — counts toward
inbound_forms
You can reply to form submissions using the same /send command as emails.
Custom metadata
Pass additional metadata to the form via URL parameters:
<iframe
src="https://www.scitor.io/forms/abc123?metadata.page=/pricing&metadata.plan=pro"
...
></iframe>
Metadata fields appear in the issue body, helping you understand the context of each submission.
Tip
Use metadata to track which page the form was submitted from, the user’s plan, or any other contextual information that helps your team respond effectively.