Web Forms
Create support forms for your website or documentation site. When a visitor submits a form, it creates a GitHub Issue or Discussion with all the form data β just like an email.
Embeddable widget
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>
Docs contact form
You can embed a contact form directly in your knowledge base site. Unlike the embeddable widget, the docs contact form is configured in scitor.yaml and automatically managed β no /create-form command needed.
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 |
| Screenshots | Optional screenshot attachment |
| Metadata | Custom fields passed 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.