Skip to content

Build professional intake forms

Intake forms let you collect information directly from your counterparties. Instead of chasing details over email, you send a link to a form you designed; when someone submits it, CryptoComply creates or updates a profile and screens it automatically.

This guide takes you from an empty form to a polished, branded questionnaire that's live and collecting responses. By the end you'll be able to add complex questions with conditional logic, collect wallets and related parties, brand the form and its emails, and choose how the form is delivered.

An intake form is a customer-specific questionnaire — an RFI (Request for Information). You'll reach for one whenever you need information straight from the source:

  • Onboarding a new counterparty and gathering their KYC (Know Your Customer) details.
  • Event due diligence — collecting information from attendees or participants.
  • Periodic reviews — refreshing what you hold on an existing counterparty.

Prefer to work through an AI assistant?

Every step below can also be driven from plain-language chat through the CryptoComply MCP — creating the form, adding questions and conditions, restyling it, rewriting the emails, and sending invitations. See Do it all faster with an AI assistant at the end.

Access is feature- and permission-gated

Intake forms are gated by feature flag and by RBAC permission (intake_form create/read/update/publish and intake_form_invitation create). If you don't see Intake Forms in the sidebar, or a button is missing, ask an organization admin to grant access.

How a form flows

  1. Create a form — choose whether it creates a profile or a blockchain address, and whether it's open or invitation-only.
  2. Build its questions from your group's field schema — rename them, organize pages, add conditions, sections, and content.
  3. Style it and customize the emails so everything matches your brand.
  4. Publish it, then share the link or send invitations.
  5. Collect submissions — each one populates a profile and kicks off screening.

Step 1 · Create the form

Open Intake Forms from the sidebar and click Create Intake Form.

The Create Intake Form dialog, showing the starting point, name, group, and advanced options

You make three decisions here — one of them is permanent, so it's worth understanding up front.

How do you want to start?

  • Profile form — the form creates (or updates) a profile: a person or company you run diligence on. This is the usual choice for onboarding and reviews. A group is required.
  • Address form — the form collects a blockchain address to screen. Use it when all you need is a wallet. An address form can run ungrouped.
  • Duplicate a form — start from an existing form of the same kind and tweak it.

Name and Group. Give the form a clear internal name (respondents don't see it) and pick the profile group it feeds. The group determines which fields are available — see the next step.

Advanced exposes the rest:

  • Profile type — seed the form for an Individual or an Entity.
  • Default blockchain — the chain wallets default to.
  • Starter template — begin from Full KYC, Standard KYC, KYC with wallets, or the full group layout.
  • Form typeOpen (anyone with the link) or Invitation only. See Choosing a form type.

The kind and the form type are permanent

Whether a form creates a profile or an address, and whether it's open or invitation-only, are fixed at creation. Everything else — questions, styling, emails, settings — you can change any time. If you need a different kind, create a new form (or duplicate this one).

Click Create and you land in the builder.

Step 2 · Build the questions

The builder has three panes: Pages on the left, the page canvas in the middle, and an inspector on the right that changes depending on what you've selected.

The intake-form builder with the pages rail, question list, and form-header inspector

Questions aren't free-text — they come from your group's field schema, so every answer maps to a real profile field and screening picks it up automatically. Your group's layout is loaded for you as a set of pages (for example Primary Party Information, Expected Transaction Activity, PEP Information, Blockchain Addresses, and Consent). From here you shape it.

At the bottom of each page you have five tools:

  • Add Question — add a field from the catalog.
  • Add Panel — group related questions under a heading.
  • Add Section — add a repeatable section (wallets or related parties).
  • Add Content — add read-only text or HTML.
  • Add Field — add a form-only field that lives on the submission but isn't mapped to a profile.

Pick questions from the catalog

Add Question opens the field picker: a searchable list of everything your group's schema offers, grouped by section and tagged with each field's type.

The field picker, listing catalog fields by type with a custom-field badge

Fields carry a type that decides how respondents answer:

TypeAnswer control
Short text · Long textSingle- or multi-line text
Email · Phone · NumberValidated text / numeric input
DateDate picker
Yes / NoBoolean toggle
Single choice · Multiple choicePick one / pick many
Country · CountriesCountry selector(s)
AddressStructured postal address
File uploadDocument upload

Fields tagged custom (purple badge) are your organization's own fields. You can't create custom fields inside the form builder — they're added to the group's schema first (typically through the MCP), after which they appear here like any other field.

Rename, describe, and require

Select any question to open Question settings. This is where a form stops looking like a database dump and starts reading like a conversation.

Question settings: title override, description, required and multi-line toggles, and conditional visibility

  • Question Title — rewrite the field's label into a real question ("What is your full legal name?"). Leave it blank to use the field's canonical label.
  • Description — optional helper text shown under the question.
  • Required — the submitter must answer before continuing.
  • Multi-line — show a larger text box for free-text answers.

Show questions only when they're relevant

A professional form doesn't ask everyone everything. Under Show this element when, add a condition so a question only appears when an earlier answer calls for it.

Conditional logic: show the driver's-license number only when the applicant says they have one

Each condition reads question → operator → value — for example, Has Driver's License equals Yes. Operators adapt to the source field: equality (equals / does not equal), membership (is any of / includes all of / includes), and presence (is empty / is not empty). Add several conditions and choose whether the question appears when all of them match or any of them do.

Under Advanced rules you'll find a matching Require an answer when builder — make a question mandatory only in the situations where it actually applies.

What just happened?

Conditional questions keep your form short for the people it doesn't apply to, while still capturing the depth you need from the people it does — without a wall of "N/A" answers.

Some things repeat — a counterparty might have several wallets, or several beneficial owners. Add Section inserts a repeatable section for exactly this:

  • Blockchain addresses — respondents add one or more wallets, which are screened on submission.
  • Related parties — respondents add related profiles (beneficial owners, directors, signers). Depending on the section, the relationship is either fixed or chosen per row.

Select the section to set whether it's required and the minimum/maximum number of rows.

Add instructions and rich content

Add Content inserts a read-only block that captures nothing — perfect for instructions, disclosures, or a checklist. It accepts plain text or HTML, so you can use headings, bold, lists, and links.

The content block editor accepting HTML markup

  • Mark a page as a consent page (or add a required consent checkbox) to capture explicit agreement. A published form must contain exactly one consent element.
  • Add Identification Page turns the form into a dual form that can intake both individuals and entities — it seeds the required profile-type and group selectors, and an Applies to control lets you show pages or questions only for one profile type.

Step 3 · Style it to your brand

Open the Style tab. A control panel on the left drives a live preview on the right, so you see every change immediately.

The Style tab: typography, colors, accent, and layout controls beside a live preview

You can set:

  • Typography — font family, base font size, and title size.
  • Colors — text, page background, card background, form title, an optional header band behind the title, and question titles.
  • Accent — the color of buttons, selected options, focus rings, and links, plus the text color on top of the accent.
  • Layout — corner radius and border color.

Your logo, form title, and introduction live on the Builder tab, in the Form header inspector (select nothing, and the inspector shows it). Paste a public https:// image URL or upload a small image. Click Save Style — the public form uses it right away.

Step 4 · Customize the emails

Open the Email tab. Everything a recipient sees in their inbox is editable here, with a live preview beside the editor.

The Email tab: subject, heading, colors, and body blocks with a live email preview

Depending on the form type you'll edit one or two emails, switched with the toggle at the top:

  • Invitation — the email that carries the form link.
  • Reminder — a nudge for people who haven't responded (invitation-only forms).

For each you can set the Subject and Heading, tune the colors (background, card, header band, footer, accent, button text), and replace the body with your own ordered blocks — Paragraph, Callout, or Rich text. Any field you leave blank inherits your organization's default, then CryptoComply's built-in template.

Personalize with merge tags. Use Insert variable to drop in values that are filled in per recipient.

The merge-tag menu with recipient name, form name, organization name, invitation link, and support email

Available tags include recipient_name, form_name, organization_name, invitation_link, and support_email (plus expires_at on invitation and reminder emails). The reminder is its own email, so you can strike a different tone:

The reminder email preview — a friendly nudge with the recipient's unique link

Click Send test email to send yourself a live copy, and Save Email — new invitations use it immediately.

Step 5 · Configure settings

The Settings tab holds the operational controls.

The Settings tab: enabled state, defaults, close date, and CC recipients

  • Enabled — turn acceptance on or off. A disabled form stops accepting responses immediately.
  • Default profile type / blockchain / group — the values a submission falls back to.
  • Creates — a read-only reminder of what the form produces (a profile or a blockchain address).
  • Invitation expiration (days) — how long an invitation link stays valid (invitation-only forms).
  • Closes at — an optional hard deadline after which the form stops accepting responses.
  • CC recipients — addresses copied on the form's emails.
  • Advanced → Link (custom URL) — a friendly slug for the public link (/forms/your-slug).

Step 6 · Preview, test, and publish

Work in the builder is a draft until you publish it — the live link keeps serving the last published version, so you can edit safely.

  • Preview renders the form exactly as respondents will see it.
  • Actions → Test runs a dry run against the current draft and shows what a real submission would create — profile type, primary fields, related parties, wallets, attachments — plus any blocking issues. Nothing is saved.
  • Publish makes your changes live. Save Draft keeps them without publishing; Discard draft rolls back to the last published version.

What just happened?

Because publishing is explicit, you can keep a form live and collecting responses while you redesign it in the draft — respondents never see half-finished changes.

Step 7 · Share and collect responses

How you distribute the form depends on its type.

An open form is served at a public URL that anyone can open and submit. Use Actions → Copy Link, or set a friendly slug in Settings. This is what a respondent sees:

The public hosted form as a respondent sees it

From the form's detail page you can Copy Link, Notify one person, Bulk Notify, send a test email, or jump back to the editor.

An open form's detail page and Actions menu

Invitation-only forms — send invitations

Invitation-only forms are reached only through a personal, expiring link. Send one from Actions → Send Invitation:

The Send Invitation dialog

  • Bulk Send takes a pasted list of emails or a CSV (email required, name optional), up to 1,000 at a time, with a validation preview before anything goes out.
  • Send Reminders nudges everyone who hasn't responded.

The Invitations tab tracks every recipient — status, when it was sent, reminders, whether it was accessed or submitted, and when it expires — with response, access, and delivery stats across the top. Each row can be Resent or Revoked.

The Invitations tab tracking recipients and delivery stats

Invitation statuses move through Pending → Sent → Accessed → Submitted, with Delivery failed, Revoked, and Expired as off-ramps.

Track submissions

On either form type, the Submissions tab lists every response with its processing status and links to the profile it created. Success and failure counts sit at the top so you can spot anything that needs attention.

Choosing a form type

OpenInvitation only
Who can submitAnyone with the linkOnly invited recipients
LinkOne shared public URLA unique, expiring link per person
Best forEvents, public campaigns, wide outreachNamed onboarding, sensitive reviews
Extra toolsCopy Link, Notify, Bulk NotifyInvitations tab, resend/revoke/remind, expiration, response stats
Profile formAddress form
CreatesA profile (Individual or Entity)A blockchain address
GroupRequiredOptional (can run ungrouped)
Best forKYC/KYB onboarding and reviewsCollecting and screening wallets

Do it all faster with an AI assistant (MCP)

Everything in this guide is also available as tools over the CryptoComply MCP. Connect an AI assistant (such as Claude) to your organization and you can build and run forms in plain language — often faster than clicking, and with the assistant handling the repetitive parts.

The assistant can:

  • Create and duplicate forms, list the field catalog, and apply a template.
  • Edit the draft — add and reorder questions, set conditions and required rules, add wallet and related-party sections, and add content — then publish it.
  • Create custom fields in the group schema (custom_field_create) so they become available to every form.
  • Restyle the form and rewrite the invitation and reminder emails, preview them, and send a test.
  • Send, resend, revoke, and remind invitations — including bulk — and list submissions.
  • Dry-run a form to see exactly what a submission would create before you publish.

Because the assistant can read your existing forms and your field schema, it's especially good at "clone our onboarding form, make it invitation-only, add a wallet section, and rewrite the reminder to be friendlier" — the kind of multi-step change that's tedious by hand. See the MCP documentation to connect one.

What's next?

Troubleshooting

ProblemFix
No Intake Forms in the sidebarThe feature or your role isn't enabled — ask an organization admin.
Can't PublishYou need the publish permission, and the form must have exactly one consent element and a full-legal-name question. Run Test to see blocking issues.
A field I want isn't in the pickerIt isn't in the group's schema. Add it as a custom field (via the MCP or your admin), then it appears in the picker.
Edits aren't showing on the live linkThe live link serves the last published version — click Publish (Save Draft alone doesn't go live).
A recipient can't open the formThe form may be disabled, past its Closes at date, or (invitation-only) the invitation expired or was revoked — resend it.
The email looks unbrandedBlank email fields fall back to your org default, then the built-in template. Set the subject, heading, colors, and body on the Email tab, and a logo in the Form header.