Custom Form
Custom Form is Sift's catch-all inbound channel: a hosted, configurable form that customers can submit from anywhere on the web. Each submission becomes a normalized action in Sift, just like a Discord message or App Store review, so it flows through the same triage, sentiment, and routing pipeline as every other source.
At a glance
| Inbound: Form submissions (text, email, textarea, select, checkbox, radio fields) | ✅ |
| Inbound: CSAT-style rating + feedback fields | ✅ for closed actions |
| Inbound: Conditional field logic | ✅ show field X if field Y is "Yes" |
| Hosted form URL (no install needed) | ✅ /f/<slug> |
| Optional KMS encryption on submissions | ✅ |
| Outbound: Reply by email when an email field is captured | ✅ |
| Multiple forms per workspace | ⚠️ one form per slug; talk to us about multi-form |
| File / image attachments | ✅ images, video, and audio, up to 20 MB per file |
| CAPTCHA | ❌ |
| Domain allowlist on embed | ❌ slug-based routing only |
| Auto-reply bots | ✅ |
Set it up

Custom Form lives under Settings → Content Management → Forms (/app/settings/forms), not Integrations. Click Create Form, then:
- Design your fields: pick field types, set labels, mark required, add conditional logic.
- (Optional) Mark email as required if you want to be able to reply by email.
- (Optional) Enable encryption for sensitive submissions.
- Customize the success message shown after submit.
- Grab the hosted URL (
/f/<slug>) - share it directly or embed via iframe.
Each form is scoped to your workspace and routed through its slug.
What you can do
Read every submission as an action - fields render alongside the message body. Reply by email when the form captured an email field; Sift sends from your configured email sender.
Trigger workflows off form fields - e.g. route "Bug report" form submissions to engineering, "Sales lead" submissions to RevOps. Apply auto-reply bots for acknowledgement or FAQ patterns.
What Sift ingests
Custom Forms are field-driven. You design the fields you want - name, email, message, plus any structured fields - and every submission lands in Sift as a fresh action with those fields populated as custom data on the action.
Two special field types exist for CSAT-style follow-ups on closed actions:
csat-rating: a star or numeric ratingcsat-feedback: a free-text follow-up
When a closed action sends a CSAT form link to a customer, their response on those fields updates the original action rather than creating a new one.
Optional KMS encryption on submissions is available for forms that capture sensitive data - the submission is encrypted at rest in Sift's storage.
Attachments work in both directions of a conversation. A form can include a file field (images, video, and audio, up to 5 files and 20 MB per file). When you reply by email and the customer answers with a screenshot or an attached image, the image lands on the same action next to their message. Files the inbox cannot show inline, such as PDFs, are not stored.
Not supported today
- CAPTCHA: not built in. If bot submissions become a problem on a public form, let us know.
- Domain allowlist on embeds: submissions are slug-routed; we don't restrict by referring domain today.
- Multiple distinct forms per workspace: the slug-per-form model is single-form-per-slug today. Most teams use one form with conditional logic to handle multiple intents. Talk to us if you need multi-form coverage.