Module 10 / Forms

Intake that routes itself.

Live Part of Atlas

Forms is conversational intake with branching logic and direct routing into Tasks, CRM, and Inbox. No code, no Zapier middle layer, no broken queues. Submissions land where the next action actually happens.

What it does

Five things, no plumbing.

Most form tools collect data. Forms collects data and starts the next step automatically. The intake queue is the work queue.

Branching with conditions

Conditions read previous answers, enriched fields, time, geo, and your own variables. No "if this then that" syntax. A natural-language editor compiles to a graph.

Enrichment on the fly

Email becomes company, role, headcount, region, tech stack. The form re-routes mid-flow based on enrichment. Powered by 8 enrichment providers, your keys.

Routes into the graph

A "sales" path opens a CRM lead. A "support" path opens a Tasks ticket. A "partner" path opens a Contracts NDA. The route is part of the form definition.

Conversational and classic

Same form renders as one-question-at-a-time conversational or as a classic multi-page form. The submitter chooses; you do not maintain two.

Built-in anti-abuse

Email validation, disposable-domain block, IP reputation, soft CAPTCHA fallback, per-field tarpitting. Catches the bulk of bot traffic without challenging real humans.

How it works

Three steps, no integrations.

Forms is part of the platform, so the moving parts other tools require become first-class objects in the work graph.

STEP 01describe"Intake for enterprisesales leads. Ask companysize, budget, timeline.Route >1000 to AE."form draft

Describe, do not configure

Type a paragraph describing what you want to collect and where it should land. The compiler produces a graph: questions, branches, validations, routing.

STEP 02What's your email?priya@helixrobotics.comenriched: Northwind Tradersheadcount: 1,840routing: enterprise AE

Enrich and branch

The form enriches as the submitter types. Branches react to enrichment. A small company sees three questions, an enterprise sees one form plus a calendar.

STEP 03submitCRM lead createdAE task scheduledwelcome email

Route on submit

Each branch lands somewhere real. CRM lead, Tasks ticket, Contracts NDA, a calendar booking, a Slack channel, or a webhook to your own system. All in the form definition.

Key features

Nine features, all included.

Each is in the base plan. None requires a separate plug-in or per-submission upcharge.

Conversational or classic

One render, two surfaces. The submitter switches; you maintain one source of truth.

11 languages live

Auto-translate at form load, source language preserved on hover. Locale-aware validation.

GDPR + CCPA

Consent strings, lawful basis, retention rules, right-to-delete plumbing. Per-form.

Encrypted submissions

TLS 1.3 in transit and encryption at rest on every submission. Sensitive fields can be masked before they reach a downstream record.

File upload + scan

Up to 100MB per upload, virus-scanned, optionally PII-redacted on landing before storage.

Funnel analytics

Drop-off per step, time per question, conditional branch take-rate. A/B test built in.

Auto-responder

Personalized reply drafted per submission. Drafts visible to the recipient before send.

Embed anywhere

iframe, web component, popover, full page. Inherit your site's theme tokens automatically.

Webhook reliability

At-least-once delivery, 30-day replay, idempotency keys, signed payloads. Real production-grade.

Connected

Submissions route everywhere.

A form is intake. The data should not pile up in a separate database. It should arrive where the next action happens.

Five surfaces accept submissions natively

A demo request creates a CRM lead and a Tasks follow-up. A support intake creates a P2 ticket. A vendor onboarding spawns a Contracts NDA. A career application lands in Inbox with a draft reply. An NPS survey rolls up to Analytics.

CRM → lead + AE assignTasks → P2 ticketInbox → drafted replyContracts → NDA spawnAnalytics → NPS rollup
API

Programmatic intake.

Create a form by declaration. Stream submissions. Sample TypeScript.

forms.ts
// Create a form, define routing, stream every submission.
import { Wrx } from "@wrxstack/sdk";

const wrx = new Wrx({ token: process.env.WRX_TOKEN });

const form = await wrx.forms.create({
  slug: "demo-request",
  describe: "Sales intake. Ask email, company, headcount, timeline. Enrich on email. Route >1000 headcount to enterprise AE, else to growth AE. Decline if disposable email.",
  on_submit: [
    { kind: "crm.lead", source: "form:demo-request" },
    { kind: "tasks.create", title: "Follow up: {{company}}", owner_by: "branch.ae_owner" },
    { kind: "inbox.draft", to: "{{email}}", template: "demo-reply" }
  ]
});

for await (const sub of wrx.forms.stream(form.id)) {
  console.log(sub.path, sub.routed_to);
  // path:"branch.enterprise", routed_to:["crm.lead/lead_xxx","tasks/ENG-2042","inbox/draft_8821"]
}
Comparison

Forms vs. Typeform.

Typeform makes a beautiful form. wrxstack Forms makes a beautiful form and then routes the data into the work graph.

wrxstack Forms vs. Typeform

CapabilityTypeformwrxstack Forms
Branching depthLogic Jumps, cappedUnlimited, condition-rich
EnrichmentAdd-on, low quality8 providers, your keys
Routing on submitWebhooks + ZapierNative to CRM / Tasks / Inbox
Anti-abuseManual reCAPTCHAIP + email + tarpit + soft
Locale / languageTranslate per formAuto + locale-aware validation
PricingTiered per submissionUnlimited submissions, free to start
Audit / complianceBasic exportGDPR, CCPA, retention rules
FAQ

Common questions.

Six things people ask before they ship a form.

Can I import a Typeform or Google Form?

Yes. Paste the URL or upload the JSON export. The importer preserves questions, branches, logic, validation rules, and translations. Custom theming carries over to the closest token set on your workspace.

How does the natural-language form builder handle complex logic?

The compiler turns your description into a graph and shows it. You can edit the graph or rewrite the description. Every branch and condition is named, so a future you can read it. The graph is the source of truth, not the prompt.

What enrichment providers do you support?

Clearbit, Apollo, ZoomInfo, Lusha, Hunter, Pipl, Cobalt, plus a fallback first-party provider. You bring your own keys and choose the order. Cost is passed through, not marked up. The form will gracefully degrade if a provider times out.

Can we run completely client-side?

Yes. The client-side mode validates and routes without any submission hitting our servers. It writes directly to your endpoints (or back to wrxstack via your own client key). Submissions are encrypted in transit with TLS 1.3 and encrypted at rest wherever they land.

How are submissions stored and retained?

Per-form retention policy with defaults of 90 days for sales intake, 180 days for support, and configurable for compliance. Right-to-delete propagates to all routed destinations. Legal hold is one click.

What about file uploads?

Up to 100MB per file, scanned on upload, optionally PII-redacted before storage. Files become first-class objects in Documents, indexed for Search, and viewable from the receiving record in CRM, Tasks, or wherever the form routes.

Related

Pairs well with.

Forms does the most work when CRM, Tasks, and Inbox are live to receive the routed submissions.

Honest limits

Who this is not for.

Forms turns intake into routed work. If you run large-scale market research or academic studies that need branching survey logic, response panels, quotas, and statistical export, a dedicated survey platform will fit better. Forms is built to collect and route, not to run research at survey-panel scale.

Get started

Ship a smarter intake form today.

Free to start, no credit card. Unlimited submissions. The first routed lead lands within an hour of ship.