Sonor
PlatformDevelopersPricingDocsBlog
Book a DemoGet Started
Act — Running your business

Forms that go somewhere.

Build forms. Choose where submissions route — CRM, support tickets, newsletter, custom webhooks. Track every field, step, and abandonment.

Contact Us

Name

Sarah Johnson

Email

sarah@company.co

Message

Interested in…
Submit

New Lead

Score: 82

Sarah Johnson

sarah@company.co

SourceContact Form
PipelineNew Prospects
StageQualified

Without Sonor

Form submissions land in an inbox and die. No CRM routing, no analytics on abandonment, no context.

What you get.

Route submissions intelligently

Prospect → CRM pipeline. Support → ticket queue. Newsletter → subscriber list. You choose per form.

Track the full funnel

Form start → step progression → completion → abandonment. See exactly where people drop off.

Go headless with hooks

useForm() gives you state, validation, and submission. Bring your own UI.

Routing

Choose where submissions go.

Every form type routes to a different destination. One platform, zero manual sorting.

Form Submission

CRM Pipeline

Prospect forms create leads automatically

Support Queue

Support forms generate tickets

Subscriber List

Newsletter forms grow your email list

Custom Webhook

Any form posts to your API endpoint

Funnel Analytics

Track every step.

See exactly where people drop off. Optimize every field.

Form viewed

2,400
100%

Form started

1,200
50%

Step 2 reached

890
37%

Completed

650
27%

Abandoned

550
23%

Headless Mode

Bring your own UI.

Use the useForm() hook for full control. Your design, our backend.

ContactForm.tsx
import { useForm } from '@uptrade/site-kit'
 
const { fields, handleSubmit, status } = useForm('contact')
 
return (
<form onSubmit={handleSubmit}>
{fields.map(field => (
<YourCustomInput key={field.name} {...field} />
))}
<button type="submit">
{status === 'loading' ? 'Sending...' : 'Submit'}
</button>
</form>
)

Get in touch

We'd love to hear from you.

First name

Last name

Email address

Message

Powered by Sonor Forms — headless mode

For developers.

A few lines of code. That's it.

components/ContactForm.tsx
import { useForm } from '@sonor/site-kit/forms'
 
export function ContactForm() {
const { fields, handleSubmit, status } = useForm('contact')
return (
<form onSubmit={handleSubmit}>
{fields.map(f => <input key={f.name} {...f.props} />)}
<button type="submit">Send</button>
</form>
)
}

How it connects.

Forms works with these modules to give you the full picture.

Analytics
CRM
Echo
Engage

Ready to try Forms?

Start with Forms and the full Sonor platform — everything included from day one.

Get Started See Pricing

All Features

AnalyticsSEOReputationAEOCRMCommerceFormsBookingEchoEngageBlogBroadcast
Sonor

The intelligent backend for modern websites.

Product

  • Platform
  • Pricing
  • Changelog
  • Blog

Features

  • Analytics
  • SEO
  • Reputation
  • AEO
  • CRM
  • Commerce

More Features

  • Forms
  • Booking
  • Echo
  • Engage
  • Blog
  • Broadcast

Developers

  • Documentation
  • For Developers
  • For AI Builders
  • For Businesses

Company

  • About
  • Contact
  • Privacy
  • Terms

© 2026 Sonor. All rights reserved.

sonor.ioapp.sonor.iosonor.dev