Appearance
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
- Create a form — choose whether it creates a profile or a blockchain address, and whether it's open or invitation-only.
- Build its questions from your group's field schema — rename them, organize pages, add conditions, sections, and content.
- Style it and customize the emails so everything matches your brand.
- Publish it, then share the link or send invitations.
- 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.

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 type — Open (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.

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.

Fields carry a type that decides how respondents answer:
| Type | Answer control |
|---|---|
| Short text · Long text | Single- or multi-line text |
| Email · Phone · Number | Validated text / numeric input |
| Date | Date picker |
| Yes / No | Boolean toggle |
| Single choice · Multiple choice | Pick one / pick many |
| Country · Countries | Country selector(s) |
| Address | Structured postal address |
| File upload | Document 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 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.

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.
Collect wallets and related parties
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.

Consent and dual (individual + entity) forms
- 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.

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.

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.

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:

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.

- 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.
Open forms — share a link
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:

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.

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

- Bulk Send takes a pasted list of emails or a CSV (
emailrequired,nameoptional), 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.

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
| Open | Invitation only | |
|---|---|---|
| Who can submit | Anyone with the link | Only invited recipients |
| Link | One shared public URL | A unique, expiring link per person |
| Best for | Events, public campaigns, wide outreach | Named onboarding, sensitive reviews |
| Extra tools | Copy Link, Notify, Bulk Notify | Invitations tab, resend/revoke/remind, expiration, response stats |
| Profile form | Address form | |
|---|---|---|
| Creates | A profile (Individual or Entity) | A blockchain address |
| Group | Required | Optional (can run ungrouped) |
| Best for | KYC/KYB onboarding and reviews | Collecting 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?
- Manage profiles — where submitted information lands.
- Review alerts — act on the screening results a submission triggers.
- Connect an AI assistant — build and send forms in plain language.
Troubleshooting
| Problem | Fix |
|---|---|
| No Intake Forms in the sidebar | The feature or your role isn't enabled — ask an organization admin. |
| Can't Publish | You 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 picker | It 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 link | The live link serves the last published version — click Publish (Save Draft alone doesn't go live). |
| A recipient can't open the form | The form may be disabled, past its Closes at date, or (invitation-only) the invitation expired or was revoked — resend it. |
| The email looks unbranded | Blank 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. |