Creating a Form
Describe it (optional)
Paste a description like “A contact form for prospects with name, email, company, and a free-text message” and click Build with AI. The schema builder drafts fields, types, and required flags for you. Or skip this and start from a blank form.
Refine fields
Add, remove, or rename fields. Each field has a type (text, long text, email, phone, number, select, multi-select), a required toggle, and an optional default value.
Pick the target entity
Choose what each submission creates: a Contact, Lead (contact with a specific stage), Account, or Case.
Set the Source and Tags
Stamp every submission with a Source value and any Tags so downstream Automations can pick them up.
Spam Protection
Every public form is protected with Cloudflare Turnstile (similar to reCAPTCHA but privacy-preserving). Genuine humans don’t notice it; bots hit a friction wall. If you want stricter validation on top, add:- Required email field — combined with email format validation, this filters out drive-by submissions.
- Hidden honeypot fields — automatically inserted by ParsaLink; bots that fill them are silently dropped.
- Rate limiting by IP — enforced at the gateway.
What Happens on Submission
- The form payload hits
/api/crm/forms/public/{'{'}tenant_slug{'}'}/{'{'}form_slug{'}'}/submit/. - Cloudflare Turnstile verifies the submission isn’t a bot.
- ParsaLink creates the configured entity (Contact / Account / Case / etc.) with the Source and Tags you set.
- Any matching
contact_created/contact_source_changed/tag_addedautomation rules fire.
data field, so even fields not mapped to a CRM column are preserved.
If the form creates a Contact and an
email field is filled in, ParsaLink checks for duplicates by email. The default behavior is to update the existing contact rather than create a duplicate — useful for “request a demo” forms where the same person might submit twice.Embedding the Form
You can:- Link to the hosted page (
/portal/{'{'}tenant{'}'}/forms/{'{'}slug{'}'}) - Embed the hosted page in an iframe
- Use the API directly — POST a JSON payload to the submit endpoint (handy if you want full design control on your own site)
cf_turnstile_token.
