Build reusable, structured forms that clients complete inside their portal, with optional mapping to Hudu and IT Glue
Onboarding Forms are reusable data-collection forms with typed fields, such as text, select, date, and email. You build a form once and attach it to onboarding tasks, so the answers you collect are clean and consistent. You can also map fields to Hudu or IT Glue so you can create or update documentation assets from the answers. This guide is for MSP staff. Clients who fill in a form should read Complete onboarding tasks and forms.
These steps use the unified Projects experience, where forms are under Settings > Projects > Templates > Forms. If your organization still uses the earlier experience, open Settings > Client Onboarding > Forms.
Forms replace linking a survey to a task. When a form task has a form attached, clients fill in the form. If no form is attached, the task falls back to the older inline survey.
You need onboarding read access to view forms and onboarding write access (write_settings_onboarding) to create, edit, and map them. Saving needs an active subscription.
To map fields or create a form from an asset, a Hudu or IT Glue integration must be connected and synced.
Creating assets from client answers also needs the company mapped to the Hudu or IT Glue company under Settings > Integrations > Companies.
The Forms workspace lists your forms on the left and the selected form’s details on the right.
1
Open the Forms section
Go to Settings > Projects > Templates > Forms.
2
Create the form
Select New Form. A draft named “New Form” is saved and selected right away. Closing the page does not undo it.
3
Set the form details
In Form Settings, set the Name and an optional Description. For Repeat Entries, choose + One More to let clients submit several entries, or Single for one.
4
Add fields
Select Add Field for each piece of information you want. Each click saves a new default field. Edit its label, type, and other settings.
5
Save
Select Save at the top of the form. It saves the form details, field edits, field order, and mapping edits. If it reports incomplete rows, complete them and save again.
6
Activate
Select Activate when the form is ready to attach to tasks. Save your edits first, because activation changes the status and reloads the stored form.
Editing form details, fields, order, or mapping targets
Waits for Save
Save
Saves valid edits. Incomplete rows are skipped with a warning
Activate, Revert to draft, Archive, Restore
Saves the status change right away
Deleting a field or mapping
Deletes that saved row right away
Save before you add or delete a row, change status, or switch forms, because those actions can reload the stored form. Save is not all-or-nothing. If it reports an error, check the reloaded fields and mappings to see what was kept, then fix the rest.To find archived forms, use Show archived. Restore returns a form to Draft, and you activate it again yourself. Archiving does not delete submitted entries. Check existing portal tasks before you change a form that is already in use.
Options are for select fields. Enter one option per line. Commas stay inside the option.
A Content Block field has its own settings instead.
Heading (optional) shows above the block. Leave it blank for no heading.
Content is written in a rich-text editor with bold, italics, colors, alignment, lists, and links. The client sees formatted, read-only text.
Require Acknowledgment adds a checkbox under the block. The client must tick it before the form can be saved.
Acknowledgment Text is the checkbox label. It shows only when acknowledgment is required. Leave it blank to use “I have read and agree”.
A content block stores no answer unless acknowledgment is required, and it cannot be mapped to Hudu or IT Glue. Switching an existing field to a content block removes its mappings.Field keys are made from labels. Give fields clear, different labels, and check existing submissions before you change the structure of a form that is in use.
Write labels and help text from the client’s point of view. “Microsoft 365 admin email” is clearer than “M365 UPN”.
Mapping lets a field’s answers fill a documentation asset. Each field has a Field Mappings section.
1
Add a mapping
Under a field, select Hudu or IT Glue. This saves a default mapping right away.
2
Choose the target
Select the Asset layout (Hudu) or Flexible asset type (IT Glue), then pick the Field Name to map to. The options come from your synced documentation data, so you pick from drop-downs and never type IDs.
3
Save
Select Save at the top of the form. An incomplete mapping is skipped with a warning, so choose both the asset format and the field.
Mapping needs synced documentation data. If you have not synced Hudu or IT Glue yet, MSPortal asks you to run the documentation integration sync first. Then return and map the fields.
Choose a synced Hudu asset layout or IT Glue flexible asset type. The dialog shows how many fields will be created and warns about unsupported fields, such as passwords, uploads, links, and lists.
3
Create the form
Select Create form. This makes a draft form with the supported fields, provider mappings, and an Asset name field. Review required settings and any fields that were left out before you activate it.
This creates a form definition only. It does not create an external asset or copy provider records.
Open the portal’s Project Plan > Tasks and open the form task. Select the saved entry.
2
Open the asset dialog
Select Create asset. If an asset already exists, select Assets to manage it.
3
Review the values
Check the provider, the asset format, the Asset name, and each field value. Edits here change only what is sent to the provider. They do not change the saved client entry.
4
Send it
Select Create in Hudu or Create in IT Glue. An asset that already exists offers Update in Hudu or Update in IT Glue.
Read the result and any warning about fields with no matching record. A Saved badge on the form does not mean an external asset exists. If the target is missing, check the integration, the company mapping, and the synced asset format. Re-syncing the provider and fixing a stale mapping may help. Before you try again, check whether the first attempt already worked.
Forms also work on regular projects that have no onboarding portal.
1
Open the form area
Open the project and go to Files & Forms > Forms.
2
Choose a form and fill it in
Pick an active form and complete its fields.
3
Save
Select Save progress to keep a draft, or Submit to finish. The Responses table shows the saved entry. Use Edit to correct a response while its form is active.
To let clients fill a form in, select it and turn on Share this form with clients. You need Share forms with clients permission. Clients with project access and form permissions then see only shared forms and their own responses. Internal staff responses stay private, including ones saved before you shared the form. Turn the switch off to remove access.Archived forms stay readable. View opens permitted responses read-only. Save progress, Submit, and new entries are unavailable. A project response is not sent to Hudu or IT Glue on its own. See Project forms for drafts, sharing, response links, and resuming an entry.
When a client opens a form task, the form shows inline with each field laid out by type. Required fields are marked.
Clients fill in the fields and select Save Form.
Content blocks show as formatted text across the full width. When a block requires acknowledgment, Save Form stays unavailable until the client ticks the checkbox. The entry records the acknowledgment as Yes.
Clients wait for the save result. A Saved badge can stay visible while they edit, so changed values need another Save Form.
If the form allows repeat entries, saved entries show as Entry badges and One More adds another.
{"docsConfig":{"theme":"aspen","$schema":"https://mintlify.com/docs.json","name":"MSPortal.ai Documentation","colors":{"primary":"#0C8376","light":"#15B79E","dark":"#107569"},"logo":{"light":"https://mintcdn.com/msportal/KnbwIXtZSTlVJTt6/logo/light.svg?fit=max\u0026auto=format\u0026n=KnbwIXtZSTlVJTt6\u0026q=85\u0026s=eb69f6d6bf16b2c401770aef19ade1d2","dark":"https://mintcdn.com/msportal/KnbwIXtZSTlVJTt6/logo/dark.svg?fit=max\u0026auto=format\u0026n=KnbwIXtZSTlVJTt6\u0026q=85\u0026s=03f8df7191e7a8ea7da084df57f6107f"},"favicon":"https://mintcdn.com/msportal/KjsKytvp08K0bejm/favicon-16x16.png?fit=max\u0026auto=format\u0026n=KjsKytvp08K0bejm\u0026q=85\u0026s=378df7f039bbff7885231fec799d29ac","navbar":{"links":[{"href":"/release-notes/roadmap","label":"Roadmap"},{"href":"mailto:support@msportal.ai","label":"Support"}],"primary":{"type":"button","label":"Dashboard","href":"https://app.msportal.ai"}},"footer":{"socials":{"linkedin":"https://linkedin.com/company/msportal"},"links":[{"header":"Resources","items":[{"label":"MSPortal.ai","href":"https://msportal.ai"},{"label":"Support","href":"mailto:support@msportal.ai"},{"label":"Status","href":"https://status.msportal.ai"}]}]},"fonts":{"family":"Inter"},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"msportal","hasAudioNarration":false,"actualSubdomain":"msportal","customDomains":["docs.msportal.ai"],"gitSource":{"type":"github","owner":"msportal-ai","repo":"mintlify-docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6adbc0cb861fe6ca60b39d0d","collectionId":"9484889b-0a5e-4fa0-87e7-01d6b3ec9626","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6adbc0cb861fe6ca60b39d0d"},"feedback":{"thumbs":true},"entitlements":{},"buildId":"6adbc0cb861fe6ca60b39d0d","clientVersion":"0.0.3962","searchFilterCounts":[{"language":"default","tag":"MSP Guides","count":455},{"language":"default","tag":"Operations","count":119},{"language":"default","tag":"API Reference","count":111},{"language":"default","tag":"Planning","count":101},{"language":"default","tag":"Integrations","count":88},{"language":"default","tag":"Protection","count":58},{"language":"default","tag":"Getting started","count":43},{"language":"default","tag":"Administration","count":39},{"language":"default","tag":"Settings","count":38},{"language":"default","tag":"Budgets","count":36}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"#page-title{font-size:1.75rem;line-height:2.125rem}#header .prose.text-lg{font-size:1rem;line-height:1.5rem;color:rgb(var(--gray-500))}#content-area .prose{font-size:.9375rem;line-height:1.6}#content-area .mdx-content{margin-top:1.5rem}#content-area .mdx-content h2{font-size:1.25rem;line-height:1.75rem;margin-top:2.25rem;margin-bottom:.75rem}#content-area .mdx-content h3{font-size:1.0625rem;line-height:1.5rem;margin-top:1.75rem;margin-bottom:.5rem}#content-area .mdx-content li{margin-top:.25em;margin-bottom:.25em}#content-area .steps{margin-top:1rem}#content-area .step{padding-bottom:.75rem}#content-area [data-component-part=step-title]{margin-top:.25rem;margin-bottom:.375rem}#sidebar-content li>a,#sidebar-content li>button{font-size:.875rem;line-height:1.25rem;padding-top:.3125rem;padding-bottom:.3125rem}#sidebar-content li>a span{hyphens:manual}#sidebar-content a.nav-anchor{margin-bottom:.25rem;font-size:.875rem}#sidebar-content ul:has(>li>a.nav-anchor){margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid rgb(var(--gray-100))}.dark #sidebar-content ul:has(>li>a.nav-anchor){border-bottom-color:rgb(255 255 255/.1)}#table-of-contents{font-size:.8125rem;line-height:1.25rem}#sidebar-content li>a>div:first-child:has(>svg,>img){display:none}:root{--sidebar-width:16rem}@media (min-width:1024px){#body-content,#navbar .max-w-8xl{max-width:none}#content-container{max-width:88rem;margin-left:0;padding-left:2.5rem;padding-right:2rem;column-gap:2.5rem;justify-content:space-between}}@media (min-width:1280px){#content-area{width:calc(100% - 16.5rem);max-width:52rem;margin-left:0}#navbar.is-wide~#body-content #content-container{max-width:none}#navbar.is-wide~#body-content #content-area{width:100%;max-width:none}#table-of-contents-layout{width:14rem;padding-left:0}#table-of-contents{width:14rem}}.roadmap-embed{display:block;border:0;background:0 0;color-scheme:light}.dark .roadmap-embed{color-scheme:dark}"}],"page":{"pagePath":"user-guides/client-onboarding/forms","slug":"/user-guides/client-onboarding/forms","pageMetadata":{"title":"Onboarding Forms","description":"Build reusable, structured forms that clients complete inside their portal, with optional mapping to Hudu and IT Glue","icon":"clipboard-list","href":"/user-guides/client-onboarding/forms"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Build reusable, structured forms that clients complete inside their portal, with optional mapping to Hudu and IT Glue\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Accordion,AccordionGroup,Card,CardGroup,Heading,Note,Step,Steps,Table,Tip}=_components;if(!Accordion)_missingMdxReference(`Accordion`,true);if(!AccordionGroup)_missingMdxReference(`AccordionGroup`,true);if(!Card)_missingMdxReference(`Card`,true);if(!CardGroup)_missingMdxReference(`CardGroup`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Tip)_missingMdxReference(`Tip`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Onboarding Forms are reusable data-collection forms with typed fields, such as text, select, date, and email. You build a form once and attach it to onboarding tasks, so the answers you collect are clean and consistent. You can also map fields to Hudu or IT Glue so you can create or update documentation assets from the answers. This guide is for MSP staff. Clients who fill in a form should read `,_jsx(_components.a,{href:`/user-guides/client-onboarding/complete-tasks-and-forms`,children:`Complete onboarding tasks and forms`}),`.`]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`These steps use the unified Projects experience, where forms are under `,_jsx(_components.strong,{children:`Settings > Projects > Templates > Forms`}),`. If your organization still uses the earlier experience, open `,_jsx(_components.strong,{children:`Settings > Client Onboarding > Forms`}),`.`]})}),`\n`,_jsx(Note,{children:_jsx(_components.p,{children:`Forms replace linking a survey to a task. When a form task has a form attached, clients fill in the form. If no form is attached, the task falls back to the older inline survey.`})}),`\n`,_jsx(Heading,{level:`2`,id:`before-you-start`,children:`Before you start`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`You need onboarding read access to view forms and onboarding write access (`,_jsx(_components.code,{children:`write_settings_onboarding`}),`) to create, edit, and map them. Saving needs an active subscription.`]}),`\n`,_jsx(_components.li,{children:`To map fields or create a form from an asset, a Hudu or IT Glue integration must be connected and synced.`}),`\n`,_jsxs(_components.li,{children:[`Creating assets from client answers also needs the company mapped to the Hudu or IT Glue company under `,_jsx(_components.strong,{children:`Settings > Integrations > Companies`}),`.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`build-a-form`,children:`Build a form`}),`\n`,_jsxs(_components.p,{children:[`The `,_jsx(_components.strong,{children:`Forms`}),` workspace lists your forms on the left and the selected form’s details on the right.`]}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Open the Forms section`,children:_jsxs(_components.p,{children:[`Go to `,_jsx(_components.strong,{children:`Settings > Projects > Templates > Forms`}),`.`]})}),_jsx(Step,{title:`Create the form`,children:_jsxs(_components.p,{children:[`Select `,_jsx(_components.strong,{children:`New Form`}),`. A draft named “New Form” is saved and selected right away. Closing the page does not undo it.`]})}),_jsx(Step,{title:`Set the form details`,children:_jsxs(_components.p,{children:[`In `,_jsx(_components.strong,{children:`Form Settings`}),`, set the `,_jsx(_components.strong,{children:`Name`}),` and an optional `,_jsx(_components.strong,{children:`Description`}),`. For `,_jsx(_components.strong,{children:`Repeat Entries`}),`, choose `,_jsx(_components.strong,{children:`+ One More`}),` to let clients submit several entries, or `,_jsx(_components.strong,{children:`Single`}),` for one.`]})}),_jsx(Step,{title:`Add fields`,children:_jsxs(_components.p,{children:[`Select `,_jsx(_components.strong,{children:`Add Field`}),` for each piece of information you want. Each click saves a new default field. Edit its label, type, and other settings.`]})}),_jsx(Step,{title:`Save`,children:_jsxs(_components.p,{children:[`Select `,_jsx(_components.strong,{children:`Save`}),` at the top of the form. It saves the form details, field edits, field order, and mapping edits. If it reports incomplete rows, complete them and save again.`]})}),_jsx(Step,{title:`Activate`,children:_jsxs(_components.p,{children:[`Select `,_jsx(_components.strong,{children:`Activate`}),` when the form is ready to attach to tasks. Save your edits first, because activation changes the status and reloads the stored form.`]})})]}),`\n`,_jsx(Heading,{level:`3`,id:`what-saves-and-when`,children:`What saves and when`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Action`}),_jsx(_components.th,{children:`What changes`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`New Form`})}),_jsx(_components.td,{children:`Creates a saved draft`})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Add Field`}),`, or adding a provider mapping`]}),_jsx(_components.td,{children:`Creates the default field or mapping right away`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Editing form details, fields, order, or mapping targets`}),_jsxs(_components.td,{children:[`Waits for `,_jsx(_components.strong,{children:`Save`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Save`})}),_jsx(_components.td,{children:`Saves valid edits. Incomplete rows are skipped with a warning`})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Activate`}),`, `,_jsx(_components.strong,{children:`Revert to draft`}),`, `,_jsx(_components.strong,{children:`Archive`}),`, `,_jsx(_components.strong,{children:`Restore`})]}),_jsx(_components.td,{children:`Saves the status change right away`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Deleting a field or mapping`}),_jsx(_components.td,{children:`Deletes that saved row right away`})]})]})]}),`\n`,_jsxs(_components.p,{children:[`Save before you add or delete a row, change status, or switch forms, because those actions can reload the stored form. `,_jsx(_components.strong,{children:`Save`}),` is not all-or-nothing. If it reports an error, check the reloaded fields and mappings to see what was kept, then fix the rest.`]}),`\n`,_jsxs(_components.p,{children:[`To find archived forms, use `,_jsx(_components.strong,{children:`Show archived`}),`. `,_jsx(_components.strong,{children:`Restore`}),` returns a form to `,_jsx(_components.strong,{children:`Draft`}),`, and you activate it again yourself. Archiving does not delete submitted entries. Check existing portal tasks before you change a form that is already in use.`]}),`\n`,_jsx(Heading,{level:`3`,id:`field-types`,children:`Field types`}),`\n`,_jsxs(_components.p,{children:[`Each field has a `,_jsx(_components.strong,{children:`Type`}),` that decides how clients answer it.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{children:`Use for`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Short Text`})}),_jsx(_components.td,{children:`Names, short identifiers`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Long Text`})}),_jsx(_components.td,{children:`Notes, descriptions`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Single Select`})}),_jsx(_components.td,{children:`One choice from a list`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Multi Select`})}),_jsx(_components.td,{children:`Several choices from a list`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Yes / No`})}),_jsx(_components.td,{children:`True or false answers`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Date`})}),_jsx(_components.td,{children:`Dates`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Email`})}),_jsx(_components.td,{children:`Email addresses`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Phone`})}),_jsx(_components.td,{children:`Phone numbers`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Number`})}),_jsx(_components.td,{children:`Numeric values`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`URL`})}),_jsx(_components.td,{children:`Web links`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Location`})}),_jsx(_components.td,{children:`Pick a location from the portal company`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Devices`})}),_jsx(_components.td,{children:`Pick devices from the portal company`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Contact`})}),_jsx(_components.td,{children:`Pick a contact from the portal company`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Content Block`})}),_jsx(_components.td,{children:`Read-only formatted text, such as instructions, terms, or a policy. Clients read it and answer nothing, unless you require acknowledgment`})]})]})]}),`\n`,_jsx(_components.p,{children:`Location, Devices, and Contact choices load from company data. You do not type their options. If a picker is empty, check the company and its records.`}),`\n`,_jsx(Heading,{level:`3`,id:`field-settings`,children:`Field settings`}),`\n`,_jsx(_components.p,{children:`Each field has these settings.`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Label`}),` is what the client sees.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Required`}),` makes an answer mandatory.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Placeholder`}),` is example text in the input.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Help Text`}),` is guidance under the field.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Options`}),` are for select fields. Enter one option per line. Commas stay inside the option.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`A `,_jsx(_components.strong,{children:`Content Block`}),` field has its own settings instead.`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Heading (optional)`}),` shows above the block. Leave it blank for no heading.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Content`}),` is written in a rich-text editor with bold, italics, colors, alignment, lists, and links. The client sees formatted, read-only text.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Require Acknowledgment`}),` adds a checkbox under the block. The client must tick it before the form can be saved.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Acknowledgment Text`}),` is the checkbox label. It shows only when acknowledgment is required. Leave it blank to use “I have read and agree”.`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`A content block stores no answer unless acknowledgment is required, and it cannot be mapped to Hudu or IT Glue. Switching an existing field to a content block removes its mappings.`}),`\n`,_jsx(_components.p,{children:`Field keys are made from labels. Give fields clear, different labels, and check existing submissions before you change the structure of a form that is in use.`}),`\n`,_jsx(Tip,{children:_jsx(_components.p,{children:`Write labels and help text from the client’s point of view. “Microsoft 365 admin email” is clearer than “M365 UPN”.`})}),`\n`,_jsx(Heading,{level:`2`,id:`mapping-fields-to-hudu-or-it-glue`,children:`Mapping Fields to Hudu or IT Glue`}),`\n`,_jsxs(_components.p,{children:[`Mapping lets a field’s answers fill a documentation asset. Each field has a `,_jsx(_components.strong,{children:`Field Mappings`}),` section.`]}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Add a mapping`,children:_jsxs(_components.p,{children:[`Under a field, select `,_jsx(_components.strong,{children:`Hudu`}),` or `,_jsx(_components.strong,{children:`IT Glue`}),`. This saves a default mapping right away.`]})}),_jsx(Step,{title:`Choose the target`,children:_jsxs(_components.p,{children:[`Select the `,_jsx(_components.strong,{children:`Asset layout`}),` (Hudu) or `,_jsx(_components.strong,{children:`Flexible asset type`}),` (IT Glue), then pick the `,_jsx(_components.strong,{children:`Field Name`}),` to map to. The options come from your synced documentation data, so you pick from drop-downs and never type IDs.`]})}),_jsx(Step,{title:`Save`,children:_jsxs(_components.p,{children:[`Select `,_jsx(_components.strong,{children:`Save`}),` at the top of the form. An incomplete mapping is skipped with a warning, so choose both the asset format and the field.`]})})]}),`\n`,_jsx(Note,{children:_jsx(_components.p,{children:`Mapping needs synced documentation data. If you have not synced Hudu or IT Glue yet, MSPortal asks you to run the documentation integration sync first. Then return and map the fields.`})}),`\n`,_jsx(Heading,{level:`2`,id:`create-a-form-from-an-asset-format`,children:`Create a form from an asset format`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Open From asset`,children:_jsxs(_components.p,{children:[`On the `,_jsx(_components.strong,{children:`Forms`}),` workspace, select `,_jsx(_components.strong,{children:`From asset`}),`.`]})}),_jsx(Step,{title:`Pick the asset format`,children:_jsx(_components.p,{children:`Choose a synced Hudu asset layout or IT Glue flexible asset type. The dialog shows how many fields will be created and warns about unsupported fields, such as passwords, uploads, links, and lists.`})}),_jsx(Step,{title:`Create the form`,children:_jsxs(_components.p,{children:[`Select `,_jsx(_components.strong,{children:`Create form`}),`. This makes a draft form with the supported fields, provider mappings, and an `,_jsx(_components.strong,{children:`Asset name`}),` field. Review required settings and any fields that were left out before you activate it.`]})})]}),`\n`,_jsx(_components.p,{children:`This creates a form definition only. It does not create an external asset or copy provider records.`}),`\n`,_jsx(Heading,{level:`2`,id:`attach-a-form-to-a-task`,children:`Attach a form to a task`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Open the task`,children:_jsxs(_components.p,{children:[`In the template builder, open an item and set its `,_jsx(_components.strong,{children:`Type`}),` to `,_jsx(_components.strong,{children:`Form / Questionnaire`}),`.`]})}),_jsx(Step,{title:`Choose the form`,children:_jsxs(_components.p,{children:[`Under `,_jsx(_components.strong,{children:`Reusable Form`}),`, select the form. Only forms you have activated appear.`]})})]}),`\n`,_jsxs(_components.p,{children:[`The form’s `,_jsx(_components.strong,{children:`Repeat Entries`}),` setting decides whether clients can add more entries. See `,_jsx(_components.a,{href:`/user-guides/client-onboarding/templates`,children:`Onboarding Templates`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`review-a-submitted-entry-before-creating-an-asset`,children:`Review a submitted entry before creating an asset`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Open the form task`,children:_jsxs(_components.p,{children:[`Open the portal’s `,_jsx(_components.strong,{children:`Project Plan > Tasks`}),` and open the form task. Select the saved entry.`]})}),_jsx(Step,{title:`Open the asset dialog`,children:_jsxs(_components.p,{children:[`Select `,_jsx(_components.strong,{children:`Create asset`}),`. If an asset already exists, select `,_jsx(_components.strong,{children:`Assets`}),` to manage it.`]})}),_jsx(Step,{title:`Review the values`,children:_jsxs(_components.p,{children:[`Check the provider, the asset format, the `,_jsx(_components.strong,{children:`Asset name`}),`, and each field value. Edits here change only what is sent to the provider. They do not change the saved client entry.`]})}),_jsx(Step,{title:`Send it`,children:_jsxs(_components.p,{children:[`Select `,_jsx(_components.strong,{children:`Create in Hudu`}),` or `,_jsx(_components.strong,{children:`Create in IT Glue`}),`. An asset that already exists offers `,_jsx(_components.strong,{children:`Update in Hudu`}),` or `,_jsx(_components.strong,{children:`Update in IT Glue`}),`.`]})})]}),`\n`,_jsxs(_components.p,{children:[`Read the result and any warning about fields with no matching record. A `,_jsx(_components.strong,{children:`Saved`}),` badge on the form does not mean an external asset exists. If the target is missing, check the integration, the company mapping, and the synced asset format. Re-syncing the provider and fixing a stale mapping may help. Before you try again, check whether the first attempt already worked.`]}),`\n`,_jsx(Heading,{level:`2`,id:`fill-in-forms-from-a-project`,children:`Fill in forms from a project`}),`\n`,_jsx(_components.p,{children:`Forms also work on regular projects that have no onboarding portal.`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Open the form area`,children:_jsxs(_components.p,{children:[`Open the project and go to `,_jsx(_components.strong,{children:`Files \u0026 Forms > Forms`}),`.`]})}),_jsx(Step,{title:`Choose a form and fill it in`,children:_jsx(_components.p,{children:`Pick an active form and complete its fields.`})}),_jsx(Step,{title:`Save`,children:_jsxs(_components.p,{children:[`Select `,_jsx(_components.strong,{children:`Save progress`}),` to keep a draft, or `,_jsx(_components.strong,{children:`Submit`}),` to finish. The `,_jsx(_components.strong,{children:`Responses`}),` table shows the saved entry. Use `,_jsx(_components.strong,{children:`Edit`}),` to correct a response while its form is active.`]})})]}),`\n`,_jsxs(_components.p,{children:[`To let clients fill a form in, select it and turn on `,_jsx(_components.strong,{children:`Share this form with clients`}),`. You need `,_jsx(_components.strong,{children:`Share forms with clients`}),` permission. Clients with project access and form permissions then see only shared forms and their own responses. Internal staff responses stay private, including ones saved before you shared the form. Turn the switch off to remove access.`]}),`\n`,_jsxs(_components.p,{children:[`Archived forms stay readable. `,_jsx(_components.strong,{children:`View`}),` opens permitted responses read-only. `,_jsx(_components.strong,{children:`Save progress`}),`, `,_jsx(_components.strong,{children:`Submit`}),`, and new entries are unavailable. A project response is not sent to Hudu or IT Glue on its own. See `,_jsx(_components.a,{href:`/user-guides/projects/forms`,children:`Project forms`}),` for drafts, sharing, response links, and resuming an entry.`]}),`\n`,_jsx(Heading,{level:`2`,id:`what-clients-see`,children:`What clients see`}),`\n`,_jsx(_components.p,{children:`When a client opens a form task, the form shows inline with each field laid out by type. Required fields are marked.`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Clients fill in the fields and select `,_jsx(_components.strong,{children:`Save Form`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Content blocks show as formatted text across the full width. When a block requires acknowledgment, `,_jsx(_components.strong,{children:`Save Form`}),` stays unavailable until the client ticks the checkbox. The entry records the acknowledgment as `,_jsx(_components.strong,{children:`Yes`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Clients wait for the save result. A `,_jsx(_components.strong,{children:`Saved`}),` badge can stay visible while they edit, so changed values need another `,_jsx(_components.strong,{children:`Save Form`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`If the form allows repeat entries, saved entries show as `,_jsx(_components.strong,{children:`Entry`}),` badges and `,_jsx(_components.strong,{children:`One More`}),` adds another.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`permissions`,children:`Permissions`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Permission`}),_jsx(_components.th,{children:`What it allows`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`read_settings_onboarding`})}),_jsx(_components.td,{children:`View forms`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`write_settings_onboarding`})}),_jsx(_components.td,{children:`Create, edit, and map forms`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`read_projects_forms`})}),_jsx(_components.td,{children:`View project forms and permitted responses`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`write_projects_forms`})}),_jsx(_components.td,{children:`Submit and edit project responses`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`write_projects_form_assignments`})}),_jsx(_components.td,{children:`Share or unshare forms with project clients`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`troubleshooting`,children:`Troubleshooting`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Problem`}),_jsx(_components.th,{children:`What to do`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Save`}),` reports that incomplete fields or mappings were skipped`]}),_jsx(_components.td,{children:`Open the reloaded form, complete the missing labels or mapping targets, and save again.`})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Activate`}),` is unavailable`]}),_jsx(_components.td,{children:`Enter a form name. Save your edits first.`})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[`A `,_jsx(_components.strong,{children:`Location`}),`, `,_jsx(_components.strong,{children:`Devices`}),`, or `,_jsx(_components.strong,{children:`Contact`}),` picker is empty for the client`]}),_jsx(_components.td,{children:`Check the portal company and its records. These pickers do not use options you type.`})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[`The `,_jsx(_components.strong,{children:`Hudu`}),` or `,_jsx(_components.strong,{children:`IT Glue`}),` target list is empty`]}),_jsx(_components.td,{children:`Run the documentation integration sync, then return to the mapping.`})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Create asset`}),` fails or finds no target`]}),_jsxs(_components.td,{children:[`Check the active integration, the company mapping under `,_jsx(_components.strong,{children:`Settings > Integrations > Companies`}),`, and the synced asset format.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`A client does not see a form on a project`}),_jsx(_components.td,{children:`Check that the form is shared, that the client has project access and form permissions, and that the project is visible to clients.`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`frequently-asked-questions`,children:`Frequently asked questions`}),`\n`,_jsxs(AccordionGroup,{children:[_jsx(Accordion,{title:`Does New Form only open an unsaved form?`,id:`does-new-form-only-open-an-unsaved-form`,children:_jsx(_components.p,{children:`No. It creates and selects a saved draft. Archive it if you made it by mistake.`})}),_jsx(Accordion,{title:`Do I need to save every field separately?`,id:`do-i-need-to-save-every-field-separately`,children:_jsxs(_components.p,{children:[`No. Use `,_jsx(_components.strong,{children:`Save`}),` at the top for form details, field edits, order, and mapping edits. Adding or deleting a field or mapping is its own immediate change.`]})}),_jsx(Accordion,{title:`Does Activate also save my edits?`,id:`does-activate-also-save-my-edits`,children:_jsxs(_components.p,{children:[`No. Save first. `,_jsx(_components.strong,{children:`Activate`}),` changes the status and reloads the stored form.`]})}),_jsx(Accordion,{title:`Does saving a client response create a Hudu or IT Glue asset?`,id:`does-saving-a-client-response-create-a-hudu-or-it-glue-asset`,children:_jsxs(_components.p,{children:[`No. Review the entry, select `,_jsx(_components.strong,{children:`Create asset`}),`, and choose the provider. Configured automation is a separate path.`]})}),_jsx(Accordion,{title:`Does From asset copy real client assets?`,id:`does-from-asset-copy-real-client-assets`,children:_jsx(_components.p,{children:`No. It creates a draft form from the synced asset format, with supported fields and mappings. It does not import records or create an asset.`})}),_jsx(Accordion,{title:`Does Restore make an archived form active?`,id:`does-restore-make-an-archived-form-active`,children:_jsxs(_components.p,{children:[`No. `,_jsx(_components.strong,{children:`Restore`}),` returns it to `,_jsx(_components.strong,{children:`Draft`}),`. Select `,_jsx(_components.strong,{children:`Activate`}),` when you are ready.`]})}),_jsx(Accordion,{title:`Does changing values in Create asset alter the client's answers?`,id:`does-changing-values-in-create-asset-alter-the-clients-answers`,children:_jsx(_components.p,{children:`No. Those edits change only what is sent to the provider.`})})]}),`\n`,_jsx(Heading,{level:`2`,id:`related-guides`,children:`Related guides`}),`\n`,_jsxs(CardGroup,{cols:2,children:[_jsx(Card,{title:`Onboarding Templates`,icon:`copy`,href:`/user-guides/client-onboarding/templates`,children:_jsx(_components.p,{children:`Attach forms to tasks in your templates`})}),_jsx(Card,{title:`What clients see`,icon:`browser`,href:`/user-guides/client-onboarding/client-portal`,children:_jsx(_components.p,{children:`How forms appear to your clients`})}),_jsx(Card,{title:`Project forms`,icon:`clipboard-check`,href:`/user-guides/projects/forms`,children:_jsx(_components.p,{children:`Use forms on projects without a portal`})})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Onboarding Forms","description":"Build reusable, structured forms that clients complete inside their portal, with optional mapping to Hudu and IT Glue","icon":"clipboard-list","href":"/user-guides/client-onboarding/forms"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Before you start","slug":"before-you-start","depth":2,"children":[]},{"title":"Build a form","slug":"build-a-form","depth":2,"children":[{"title":"What saves and when","slug":"what-saves-and-when","depth":3,"children":[]},{"title":"Field types","slug":"field-types","depth":3,"children":[]},{"title":"Field settings","slug":"field-settings","depth":3,"children":[]}]},{"title":"Mapping Fields to Hudu or IT Glue","slug":"mapping-fields-to-hudu-or-it-glue","depth":2,"children":[]},{"title":"Create a form from an asset format","slug":"create-a-form-from-an-asset-format","depth":2,"children":[]},{"title":"Attach a form to a task","slug":"attach-a-form-to-a-task","depth":2,"children":[]},{"title":"Review a submitted entry before creating an asset","slug":"review-a-submitted-entry-before-creating-an-asset","depth":2,"children":[]},{"title":"Fill in forms from a project","slug":"fill-in-forms-from-a-project","depth":2,"children":[]},{"title":"What clients see","slug":"what-clients-see","depth":2,"children":[]},{"title":"Permissions","slug":"permissions","depth":2,"children":[]},{"title":"Troubleshooting","slug":"troubleshooting","depth":2,"children":[]},{"title":"Frequently asked questions","slug":"frequently-asked-questions","depth":2,"children":[]},{"title":"Related guides","slug":"related-guides","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/msportal/d65dc731b8cde0aa/roadmap-embed.js"],"subdomain":"msportal","siteName":"MSPortal.ai Documentation","title":"Onboarding Forms - MSPortal.ai Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-01T23:11:11.471Z","originalFileLocation":"user-guides/client-onboarding/forms.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Build reusable, structured forms that clients complete inside their portal, with optional mapping to Hudu and IT Glue\">\u003cmeta data-mint-head name=\"application-name\" content=\"MSPortal.ai Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/msportal/MdEo74vho503Sp8Y/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/msportal/MdEo74vho503Sp8Y/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/msportal/MdEo74vho503Sp8Y/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/msportal/MdEo74vho503Sp8Y/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/msportal/MdEo74vho503Sp8Y/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/msportal/MdEo74vho503Sp8Y/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/msportal/MdEo74vho503Sp8Y/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/msportal/MdEo74vho503Sp8Y/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/msportal/MdEo74vho503Sp8Y/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Onboarding Forms - MSPortal.ai Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Build reusable, structured forms that clients complete inside their portal, with optional mapping to Hudu and IT Glue\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"MSPortal.ai Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.msportal.ai/user-guides/client-onboarding/forms\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://msportal.mintlify.app/_mintlify/api/og/v2?division=Client+Onboarding\u0026amp;title=Onboarding+Forms\u0026amp;description=Build+reusable%2C+structured+forms+that+clients+complete+inside+their+portal%2C+with+optional+mapping+to+Hudu+and+IT+Glue\u0026amp;theme=601404f1acc62abadd26bc13\u0026amp;signature=37fe78568221c945dd7642e3dfac72e85beedcb0993a7416a24287efe5f49e2b\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Onboarding Forms - MSPortal.ai Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Build reusable, structured forms that clients complete inside their portal, with optional mapping to Hudu and IT Glue\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://msportal.mintlify.app/_mintlify/api/og/v2?division=Client+Onboarding\u0026amp;title=Onboarding+Forms\u0026amp;description=Build+reusable%2C+structured+forms+that+clients+complete+inside+their+portal%2C+with+optional+mapping+to+Hudu+and+IT+Glue\u0026amp;theme=601404f1acc62abadd26bc13\u0026amp;signature=37fe78568221c945dd7642e3dfac72e85beedcb0993a7416a24287efe5f49e2b\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/msportal/MdEo74vho503Sp8Y/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"MSPortal.ai Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0C8376\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.msportal.ai/user-guides/client-onboarding/forms\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/user-guides/client-onboarding/forms.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.msportal.ai/#organization\",\"name\":\"MSPortal.ai Documentation\",\"url\":\"https://docs.msportal.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/msportal/KnbwIXtZSTlVJTt6/logo/light.svg?fit=max\u0026auto=format\u0026n=KnbwIXtZSTlVJTt6\u0026q=85\u0026s=eb69f6d6bf16b2c401770aef19ade1d2\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.msportal.ai#website\",\"name\":\"MSPortal.ai Documentation\",\"url\":\"https://docs.msportal.ai\",\"publisher\":{\"@id\":\"https://docs.msportal.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.msportal.ai/user-guides/client-onboarding/forms#webpage\",\"url\":\"https://docs.msportal.ai/user-guides/client-onboarding/forms\",\"name\":\"Onboarding Forms\",\"description\":\"Build reusable, structured forms that clients complete inside their portal, with optional mapping to Hudu and IT Glue\",\"dateModified\":\"2026-10-01T23:11:11.471Z\",\"isPartOf\":{\"@id\":\"https://docs.msportal.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.msportal.ai/user-guides/client-onboarding/forms#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.msportal.ai/user-guides/client-onboarding/forms#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Client Onboarding\",\"item\":\"https://docs.msportal.ai/user-guides/client-onboarding/index\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Onboarding Forms\",\"item\":\"https://docs.msportal.ai/user-guides/client-onboarding/forms\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.msportal.ai/user-guides/client-onboarding/forms#article\",\"headline\":\"Onboarding Forms\",\"name\":\"Onboarding Forms\",\"description\":\"Build reusable, structured forms that clients complete inside their portal, with optional mapping to Hudu and IT Glue\",\"url\":\"https://docs.msportal.ai/user-guides/client-onboarding/forms\",\"mainEntityOfPage\":{\"@id\":\"https://docs.msportal.ai/user-guides/client-onboarding/forms#webpage\"},\"dateModified\":\"2026-10-01T23:11:11.471Z\",\"publisher\":{\"@id\":\"https://docs.msportal.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.msportal.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"MSPortal.ai Documentation\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"MSPortal.ai Documentation","nav":{"global":null,"tabs":[{"tab":"Company Guides","pages":[{"title":"Company Guides","href":"/user-guides/account/manage-your-profile"}]},{"tab":"MSP Guides","anchors":[{"anchor":"Getting started","icon":"rocket","pages":[{"title":"Getting started","href":"/user-guides/getting-started"}]},{"anchor":"Planning","icon":"compass","pages":[{"title":"Planning","href":"/user-guides/company-overview"}]},{"anchor":"Operations","icon":"briefcase","groups":[{"group":"Client Onboarding","pages":[{"title":"Client Onboarding","icon":"clipboard-check","href":"/user-guides/client-onboarding"},{"title":"Open your onboarding portal","icon":"door-open","href":"/user-guides/client-onboarding/open-your-onboarding"},{"title":"Complete onboarding tasks and forms","icon":"list-check","href":"/user-guides/client-onboarding/complete-tasks-and-forms"},{"title":"Upload onboarding documents and secure files","icon":"file-arrow-up","href":"/user-guides/client-onboarding/upload-files"},{"title":"Hand over credentials during onboarding","icon":"key","href":"/user-guides/client-onboarding/hand-over-credentials"},{"title":"Review onboarding approvals and sign documents","icon":"signature","href":"/user-guides/client-onboarding/review-and-sign"},{"title":"Use onboarding meetings, training, surveys, and reference pages","icon":"clipboard-list","href":"/user-guides/client-onboarding/meetings-training-and-surveys"},{"title":"Quick Start","icon":"rocket","href":"/user-guides/client-onboarding/quick-start"},{"title":"Onboarding Templates","icon":"copy","href":"/user-guides/client-onboarding/templates"},{"title":"Client Pages","description":"Write reusable client-facing documentation pages once and surface them inside onboarding portals","icon":"book-open","href":"/user-guides/client-onboarding/pages"},{"title":"Onboarding Forms","icon":"clipboard-list","href":"/user-guides/client-onboarding/forms"},{"title":"Managing Portals","description":"Launch onboarding portals for clients, track progress, manage tasks, and communicate with contacts","icon":"bars-progress","href":"/user-guides/client-onboarding/managing-portals"},{"title":"Link an onboarding template task to a Standard","icon":"link","href":"/user-guides/client-onboarding/link-task-to-standard"},{"title":"Retrieve onboarding credentials and secure files","icon":"shield-halved","href":"/user-guides/client-onboarding/retrieve-secure-submissions"},{"title":"Custom Dates and Countdowns","icon":"stopwatch","href":"/user-guides/client-onboarding/custom-dates"},{"title":"Understand the client onboarding portal","icon":"browser","href":"/user-guides/client-onboarding/client-portal"}]},{"group":"Ticketing","pages":[{"title":"Tickets","icon":"ticket","href":"/user-guides/ticketing/index"},{"title":"How to open a ticket","icon":"ticket","href":"/msp-guides/ticketing/open-a-ticket"},{"title":"Find and follow up on a ticket","icon":"comments","href":"/msp-guides/ticketing/follow-up-on-a-ticket"},{"title":"Time ticket work with a timer","icon":"stopwatch","href":"/user-guides/ticketing/time-work-with-timers"},{"title":"How to Create a Ticket Template","icon":"file-lines","href":"/user-guides/ticketing/how-to-create-a-ticket-template"},{"title":"Create a ticket with AI assistance","icon":"wand-magic-sparkles","href":"/msp-guides/ticketing/open-a-ticket-with-ai"},{"title":"Change Management","icon":"shield-check","href":"/user-guides/ticketing/change-management"},{"title":"Ticket approval chains","icon":"list-check","href":"/user-guides/ticketing/ticket-approval-chains"},{"title":"Flow Webhook Recipient","icon":"webhook","href":"/user-guides/ticketing/flow-webhook-recipient"},{"title":"Understand your available request templates","icon":"file-lines","href":"/msp-guides/ticketing/understand-request-templates"},{"title":"Create and preview a ticket template","icon":"file-lines","href":"/user-guides/ticketing/create-and-preview-ticket-template"}]},{"group":"Training","pages":[{"title":"Training","icon":"graduation-cap","href":"/user-guides/training/index"},{"title":"Find and enroll in a training course","icon":"book-open","href":"/user-guides/training/find-and-enroll"},{"title":"Take a course and track progress","icon":"graduation-cap","href":"/user-guides/training/take-a-course"},{"title":"View and share a training certificate","icon":"award","href":"/user-guides/training/certificates"},{"title":"Enable training for companies and users","icon":"graduation-cap","href":"/user-guides/training/enabling-training"},{"title":"Manage learning paths","icon":"route","href":"/user-guides/training/learning-paths"},{"title":"Security awareness training","icon":"shield-check","href":"/user-guides/training/security-awareness"},{"title":"Read security awareness learner status","icon":"user-shield","href":"/user-guides/training/read-awareness-status"},{"title":"Read a Breach Secure Now learner's risk details","icon":"user-shield","href":"/user-guides/training/read-bsn-risk"},{"title":"Open your Huntress training","icon":"shield-check","href":"/user-guides/training/open-huntress-training"},{"title":"Find Huntress training assignments","icon":"graduation-cap","href":"/user-guides/training/read-huntress-assignments"},{"title":"Read a Huntress curriculum and preview episodes","icon":"book-open","href":"/user-guides/training/read-huntress-curriculum"}]},{"group":"Projects","pages":[{"title":"Projects","icon":"folder-open","href":"/user-guides/projects/index"},{"title":"Projects and Onboarding are coming together","icon":"diagram-project","href":"/user-guides/projects/upcoming-onboarding-changes"},{"title":"Find and open a project","icon":"folder-open","href":"/user-guides/projects/find-projects"},{"title":"Filter and sort projects","icon":"filter","href":"/user-guides/projects/filter-projects"},{"title":"Native Projects: Start to Finish","icon":"folder-open","href":"/user-guides/projects/native-projects"},{"title":"Project Templates","icon":"layer-group","href":"/user-guides/projects/templates"},{"title":"Project AI, MCP, and Client Reviews","icon":"sparkles","href":"/user-guides/projects/ai-and-client-reviews"},{"title":"Project Workspace","icon":"list-check","href":"/user-guides/projects/workspace"},{"title":"Read and filter project ticket Kanban","icon":"table-columns","href":"/user-guides/projects/read-ticket-kanban"},{"title":"Read a project schedule","icon":"calendar-days","href":"/user-guides/projects/read-project-schedule"},{"title":"Filter the project schedule","icon":"filter","href":"/user-guides/projects/filter-project-schedule"},{"title":"Dispatch project work","icon":"calendar-clock","href":"/user-guides/projects/dispatch-board"},{"title":"Read the project overview","icon":"file-lines","href":"/user-guides/projects/read-project-overview"},{"title":"Read project phases and tickets","icon":"layer-group","href":"/user-guides/projects/read-project-phases"},{"title":"Use phase and ticket action menus","icon":"ellipsis","href":"/user-guides/projects/use-phase-ticket-actions"},{"title":"Project Team and Onboarding Contacts","icon":"users","href":"/user-guides/projects/read-project-team"},{"title":"Edit the project goal and description","icon":"pen-to-square","href":"/user-guides/projects/edit-project-details"},{"title":"Manage project contacts and the client sponsor","icon":"address-book","href":"/user-guides/projects/manage-project-contacts"},{"title":"Read project updates","icon":"message","href":"/user-guides/projects/read-project-updates"},{"title":"Read project milestones","icon":"calendar","href":"/user-guides/projects/read-project-timeline"},{"title":"Read deliverables and download project files","icon":"file-arrow-down","href":"/user-guides/projects/read-project-deliverables"},{"title":"Create and manage project deliverables","icon":"list-check","href":"/user-guides/projects/manage-project-deliverables"},{"title":"Upload and share deliverable documents","icon":"file-arrow-up","href":"/user-guides/projects/manage-deliverable-documents"},{"title":"Write and share project updates","icon":"pen-to-square","href":"/user-guides/projects/write-project-updates"},{"title":"Create and manage project milestones","icon":"flag-checkered","href":"/user-guides/projects/manage-project-milestones"},{"title":"Project Calendar","icon":"calendar","href":"/user-guides/projects/calendar"},{"title":"Respond to project decisions and action items","icon":"list-check","href":"/user-guides/projects/respond-to-project-actions"},{"title":"Create and manage project decisions and action items","icon":"clipboard-list","href":"/user-guides/projects/manage-project-actions"},{"title":"Export a project to Excel","icon":"file-spreadsheet","href":"/user-guides/projects/export-project-to-excel"}]},{"group":"Compliance","pages":[{"title":"Compliance","icon":"shield-halved","href":"/user-guides/compliance/index"},{"title":"Find compliance checks and understand results","icon":"shield-halved","href":"/user-guides/compliance/find-and-read-checks"},{"title":"Read compliance guidance, evidence, and history","icon":"shield-halved","href":"/user-guides/compliance/read-evidence-and-history"},{"title":"Export the compliance check list","icon":"shield-halved","href":"/user-guides/compliance/export-checks"},{"title":"Compliance AI","icon":"sparkles","href":"/user-guides/compliance/compliance-ai"},{"title":"Risk Management","icon":"shield-halved","href":"/user-guides/compliance/risk-management"},{"title":"Liongard Compliance Metrics","icon":"gauge-high","href":"/user-guides/compliance/liongard-metrics"},{"title":"Adding CIS Benchmarks","icon":"book","href":"/user-guides/compliance/adding-cis-benchmarks"},{"title":"Add NIS2 playbooks","icon":"book","href":"/user-guides/compliance/adding-nis2-playbooks"},{"title":"Review completed compliance assessments","icon":"clock-rotate-left","href":"/user-guides/compliance/view-check-history"}]},{"group":"Documentation","pages":[{"title":"Documentation","icon":"book","href":"/user-guides/documentation/index"},{"title":"Find and read shared documents","icon":"file-lines","href":"/user-guides/documentation/find-shared-documents"},{"title":"Use the Documentation Hub","icon":"grid-2","href":"/user-guides/documentation/resource-hub"},{"title":"Use shared passwords","icon":"key","href":"/user-guides/documentation/shared-passwords"},{"title":"View shared IT records and procedures","icon":"server","href":"/user-guides/documentation/view-it-records"},{"title":"Create and maintain portal documents","icon":"file-pen","href":"/user-guides/documentation/create-portal-documents"},{"title":"Add files and links to the Documentation Hub","icon":"grid-2","href":"/user-guides/documentation/add-files-and-links-to-hub"},{"title":"Suggest related guides on new tickets","icon":"book-open","href":"/user-guides/documentation/related-guides"}]},{"group":"Invoices","pages":[{"title":"Invoices","icon":"file-invoice-dollar","href":"/user-guides/invoices/index"},{"title":"Find and review invoices","icon":"file-invoice","href":"/user-guides/invoices/view-invoices"},{"title":"Where invoice data comes from","icon":"file-invoice-dollar","href":"/msp-guides/invoices/invoice-data-sources"},{"title":"Download and export invoices","icon":"download","href":"/user-guides/invoices/download-invoices"},{"title":"Use an invoice payment link","icon":"credit-card","href":"/user-guides/invoices/pay-an-invoice"},{"title":"MSP: review Pax8 invoice charges","icon":"receipt","href":"/user-guides/invoices/view-pax8-invoices"}]},{"group":"Agreements and contracts","pages":[{"title":"Agreements and contracts","icon":"file-signature","href":"/user-guides/agreements/index"},{"title":"Find and review an agreement","icon":"file-contract","href":"/user-guides/agreements/view-agreements"},{"title":"Understand agreement balances","icon":"clock","href":"/user-guides/agreements/read-balances"},{"title":"Open an agreement PDF","icon":"file-pdf","href":"/user-guides/agreements/download-documents"},{"title":"Upload and manage agreement PDFs","icon":"file-arrow-up","href":"/user-guides/agreements/manage-documents"}]},{"group":"Storefront","pages":[{"title":"Storefront","icon":"store","href":"/user-guides/storefront/index"},{"title":"Review your subscriptions","icon":"layer-group","href":"/user-guides/storefront/view-subscriptions"},{"title":"Review Azure usage","icon":"cloud","href":"/user-guides/storefront/view-azure-usage"}]},{"group":"Quotes","pages":[{"title":"Quotes","icon":"file-contract","href":"/user-guides/quotes/index"},{"title":"Connect and manage Quoter","icon":"plug","href":"/user-guides/quotes/setup"},{"title":"Find and open a quote","icon":"file-contract","href":"/user-guides/quotes/view-quotes"},{"title":"Read a quote’s details","icon":"file-invoice-dollar","href":"/user-guides/quotes/read-quote-details"},{"title":"Download quote documents and export the list","icon":"file-arrow-down","href":"/user-guides/quotes/download-quotes"},{"title":"Control company quote access","icon":"user-shield","href":"/user-guides/quotes/manage-company-access"},{"title":"Troubleshoot missing Quoter quotes and company links","icon":"magnifying-glass","href":"/user-guides/quotes/troubleshoot-quoter-quotes"},{"title":"Troubleshoot QuoteWerks quotes and QuoteValet links","icon":"file-invoice-dollar","href":"/user-guides/quotes/troubleshoot-quotewerks-quotes"},{"title":"Troubleshoot Salesbuildr quotes and PDFs","icon":"file-invoice-dollar","href":"/user-guides/quotes/troubleshoot-salesbuildr-quotes"}]},{"group":"Reporting","pages":[{"title":"Reporting","icon":"chart-pie","href":"/user-guides/reporting/index"},{"title":"Design reporting blocks with AI","icon":"wand-magic-sparkles","href":"/user-guides/reporting/design-ai-blocks"},{"title":"Present reports as slides","icon":"presentation-screen","href":"/user-guides/reporting/present-reports"},{"title":"Design custom reporting blocks","icon":"chart-column","href":"/user-guides/reporting/custom-blocks"},{"title":"Edit a report presentation","icon":"presentation-screen","href":"/user-guides/reporting/edit-presentation"},{"title":"Reports Imports","icon":"inbox","href":"/user-guides/reporting/email-imports"},{"title":"Industry trends and software standardization","icon":"industry","href":"/user-guides/reporting/industry-insights"}]}]},{"anchor":"Protection","icon":"shield-halved","pages":[{"title":"Protection","href":"/user-guides/cloud"}]},{"anchor":"MSP Tools","icon":"toolbox","pages":[{"title":"MSP Tools","href":"/user-guides/msp-tools"}]},{"anchor":"Administration","icon":"gear","pages":[{"title":"Administration","href":"/user-guides/settings"}]},{"anchor":"Integrations","icon":"plug","pages":[{"title":"Integrations","href":"/user-guides/integrations"}]}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/api-reference/budgets/list-budgets"}]},{"tab":"Release Notes","pages":[{"title":"Release Notes","href":"/release-notes"}]}]},"title":"Onboarding Forms - MSPortal.ai Documentation","buildId":"dpl_7EGD3AHhNmnVNgQ8U7beMHiqTzw8","deploymentId":"dpl_7EGD3AHhNmnVNgQ8U7beMHiqTzw8","dynamics":[],"chunks":[]}