Client-side custom forms enable you to create dynamic, interactive forms that run directly in the user’s browser.
Custom forms are compatible with the Chat bubble, Help page, and Center Stage channels only. Every other channel is incompatible and can’t be selected. See Channels for what configured, unconfigured, and incompatible mean.
Server-side custom form configuration is not currently available. All custom forms must be configured using client-side JavaScript.
A website with the Chatbase embed script already installed and working.
New to Chatbase? Check out Your First AI Agent to get started with the embed script first.
Set up the form configuration in your Chatbase dashboard:
Navigate to Build > Actions → Create action → Custom form
Creating a new custom form action in the dashboard
Enter a unique name for your form.
Configure the form when to use.
Click on the Save and Continue button.
Enable the action.
Configuring the form name and when to use
Environment Limitations: Client-side custom forms will not function in:
Chatbase Playground environment
Action Preview mode
Compare features
Testing this action should be done in your actual website environment. Embed the JavaScript script in your website and test the action.
2
Register your form schema
On your website, register your form schema by calling the registerFormSchema method anywhere in your JavaScript code, with the name of the action you created in the dashboard.
Register the form in a root page of your website, or in a component that is loaded on every page.
window.chatbase.registerFormSchema({"learn_more_form": async (args, user) => { return { fields: [ { name: "name", label: "Full Name", type: "text", placeholder: "Enter your full name", validation: { required: { value: true, message: "Name is required" } } }, { name: "email", label: "Email Address", type: "email", placeholder: "Enter your email", validation: { required: { value: true, message: "Email is required" } } }, { name: "message", label: "Message", type: "textarea", placeholder: "How can we help you?", validation: { required: { value: true, message: "Please enter your message" } } } ], submitButtonText: "Send Message", successMessage: "Thank you! We'll get back to you soon.", errorMessage: "Failed to send message. Please try again." };}});
Multiple Registration Override: Calling registerFormSchema multiple times will completely replace all previously registered forms. Always include all your forms in a single registration call.
Your custom form is now ready to use! The AI agent will automatically display your form when the corresponding action is triggered.
3
Webhooks (Optional)
You can also configure webhooks to receive real-time notifications when users submit your custom forms. For detailed configuration instructions, see Webhooks Integration.
Contains all the arguments defined in your custom form configuration. These are the values the ai agent generated and passed from the AI action when the form is triggered.
Custom user data passed during the identify call (e.g., name, email, company). This field is only present if metadata was provided during identification.
Show When identity verification is not properly configured
Custom user data passed during any identify calls. This field is only present if metadata was provided during identification.
The anonymous IDs (anon_user_id and chatbase_anon_id) are internal identifiers used by Chatbase and can be safely ignored in your custom form implementations.
Configure webhooks to receive real-time notifications when users submit your custom forms:
1
Access action settings
In the action settings, click on the Webhooks tab.
Write the webhook URL and click on the Create Webhook button.
2
Configure webhook endpoint
Set up your webhook endpoint to receive form submission data:
webhook-handler.js
// Example webhook handler (Node.js/Express)app.post('/form-webhook', (req, res) => { const { eventType, chatbotId, payload } = req.body; const { conversationId, data, error } = payload; // Process the form submission console.log('Form submitted:', eventType, conversationId, data); // Respond with success res.status(200).json({ success: true });});
The request body is the standard webhook payload. eventType is {action name}_custom_form.submit, payload.conversationId is the conversation the form was submitted in, payload.data holds the submitted fields keyed by field name, and payload.error is set when an attachment upload failed.
Learn to listen for and respond to chat events in real-time
Custom Initial Messages
Create dynamic, personalized initial messages for users
Floating Initial Messages
Display floating messages over the chat bubble
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Chatbase","colors":{"primary":"#18181b","light":"#f4f4f5","dark":"#18181b"},"logo":{"light":"https://mintcdn.com/chatbase/pJU9vM3D9oN_YQME/logo/light.svg?fit=max\u0026auto=format\u0026n=pJU9vM3D9oN_YQME\u0026q=85\u0026s=a45a73af7ac778cd0920dbb6ad1aaa93","dark":"https://mintcdn.com/chatbase/8k6_6eFSz4sj8EO0/logo/dark.svg?fit=max\u0026auto=format\u0026n=8k6_6eFSz4sj8EO0\u0026q=85\u0026s=c0c106d2f92f6a87f872a2be66706041","href":"https://chatbase.co"},"favicon":"https://mintcdn.com/chatbase/NsUPSmNqecm03uiz/favicon.ico?fit=max\u0026auto=format\u0026n=NsUPSmNqecm03uiz\u0026q=85\u0026s=b37388fc54cd76cfaf3efcb8ab4a4dc8","appearance":{},"navbar":{"links":[{"href":"https://chatbase.co/help","label":"Support"}],"primary":{"type":"button","label":"Dashboard","href":"https://www.chatbase.co/dashboard"}},"footer":{"socials":{"x":"https://x.com/chatbase_co","linkedin":"https://linkedin.com/company/chatbase-co","youtube":"https://www.youtube.com/@chatbase_"}},"seo":{"metatags":{"canonical":"https://www.chatbase.co/docs"}},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"header"},"metadata":{"timestamp":false},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"chatbase","hasAudioNarration":false,"actualSubdomain":"chatbase","customDomains":["chatbase.co"],"gitSource":{"type":"github","owner":"chatbase-co","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6adfc4860dc90c8878d8293c","collectionId":"3b898cb5-5f1e-488d-9b52-faa82fa0ec60","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6adfc4860dc90c8878d8293c"},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6adfc6a09b9230fa127ba040","clientVersion":"0.0.3971","searchFilterCounts":[{"language":"default","tag":"User Guide","count":100},{"language":"default","tag":"API Reference","count":76},{"language":"default","tag":"Endpoints","count":62},{"language":"default","tag":"API v2","count":55},{"language":"default","tag":"Integrations","count":34},{"language":"default","tag":"Developer Guide","count":30},{"language":"default","tag":"AI Agent Management","count":30},{"language":"default","tag":"SDKs","count":26},{"language":"default","tag":"Help Desk","count":22},{"language":"default","tag":"API v1","count":21}]},"assistantConfig":{},"basePath":"/docs","hasChatPermissions":false,"hasWebMcpPermissions":true,"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":"workos-sso-scim","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},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":".nav-dropdown-trigger{border-color:transparent!important;border-bottom-color:rgb(var(--gray-500)/.2)!important;border-radius:0!important;padding:.5rem .875rem .875rem 1rem!important}.nav-dropdown-trigger .nav-dropdown-item-icon{display:none!important}.nav-dropdown-trigger .nav-dropdown-item-text-container{padding-left:0!important}.nav-dropdown-trigger .nav-dropdown-item-title{font-weight:600!important}.nav-dropdown-item-title::after{display:inline-block;margin-left:.5rem;padding:.125rem .5rem;border-radius:.375rem;font-size:.7rem;font-weight:600;line-height:1.2;vertical-align:middle}:is(.nav-dropdown-trigger, .nav-dropdown-item):has([style*=\"/code.svg\"]) .nav-dropdown-item-title::after{content:\"Current\";color:rgb(22 163 74);background:rgb(22 163 74/.12)}:is(.nav-dropdown-trigger, .nav-dropdown-item):has([style*=\"/box-archive.svg\"]) .nav-dropdown-item-title::after{content:\"Deprecated\";color:rgb(217 119 6);background:rgb(217 119 6/.12)}"}],"page":{"pagePath":"developer-guides/website-integration/client-side-custom-forms","slug":"/developer-guides/website-integration/client-side-custom-forms","pageMetadata":{"title":"Client-Side Custom Forms","description":"Create dynamic, interactive forms in your AI agent using client-side JavaScript configuration","icon":"rectangle-list","href":"/developer-guides/website-integration/client-side-custom-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: \"Create dynamic, interactive forms in your AI agent using client-side JavaScript configuration\"\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`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Accordion,AccordionGroup,Card,CardGroup,Check,CodeBlock,Expandable,Frame,Heading,Info,Note,OptimizedImage,ParamField,ResponseField,Step,Steps,Tip,Warning}=_components;if(!Accordion)_missingMdxReference(`Accordion`,true);if(!AccordionGroup)_missingMdxReference(`AccordionGroup`,true);if(!Card)_missingMdxReference(`Card`,true);if(!CardGroup)_missingMdxReference(`CardGroup`,true);if(!Check)_missingMdxReference(`Check`,true);if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Expandable)_missingMdxReference(`Expandable`,true);if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Info)_missingMdxReference(`Info`,true);if(!Note)_missingMdxReference(`Note`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!ParamField)_missingMdxReference(`ParamField`,true);if(!ResponseField)_missingMdxReference(`ResponseField`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);if(!Tip)_missingMdxReference(`Tip`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`overview`,children:`Overview`}),`\n`,_jsx(_components.p,{children:`Client-side custom forms enable you to create dynamic, interactive forms that run directly in the user’s browser.`}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`Custom forms are compatible with the `,_jsx(_components.strong,{children:`Chat bubble`}),`, `,_jsx(_components.strong,{children:`Help page`}),`, and `,_jsx(_components.strong,{children:`Center Stage`}),` channels only. Every other channel is incompatible and can’t be selected. See `,_jsx(_components.a,{href:`/user-guides/chatbot/actions/actions-overview#channels`,children:`Channels`}),` for what configured, unconfigured, and incompatible mean.`]})}),`\n`,_jsx(Info,{children:_jsx(_components.p,{children:`Server-side custom form configuration is not currently available. All custom forms must be configured using client-side JavaScript.`})}),`\n`,_jsx(Heading,{level:`3`,id:`key-benefits`,children:`Key Benefits`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Real-time validation`}),`: Instant feedback as users fill out forms`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Enhanced UX`}),`: Smooth interactions without server round trips`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Full customization`}),`: Complete control over form appearance and behavior`]}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`prerequisites`,children:`Prerequisites`}),`\n`,_jsx(Info,{children:_jsxs(_components.p,{children:[`A website with the Chatbase embed script already installed and working.\nNew to Chatbase? Check out `,_jsx(_components.a,{href:`/user-guides/quick-start/your-first-agent`,children:`Your First AI Agent`}),` to get started with the embed script first.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`setup-guide`,children:`Setup Guide`}),`\n`,_jsxs(Steps,{children:[_jsxs(Step,{title:`Create your custom form action`,children:[_jsx(_components.p,{children:`Set up the form configuration in your Chatbase dashboard:`}),_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Navigate to `,_jsx(_components.strong,{children:`Build > Actions`}),` → `,_jsx(_components.strong,{children:`Create action`}),` → `,_jsx(_components.strong,{children:`Custom form`})]}),`\n`]}),_jsx(Frame,{caption:`Creating a new custom form action in the dashboard`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/chatbase/-HHbinxDlwZUQ3Jt/developer-guides/images/client-side-custom-forms/custom-form-action.png?fit=max\u0026auto=format\u0026n=-HHbinxDlwZUQ3Jt\u0026q=85\u0026s=e14c0193c1c00fbd2ee9d9338e537360`,alt:`Custom form creation interface`,\"data-og-width\":`2940`,width:`2940`,\"data-og-height\":`1598`,height:`1598`,\"data-path\":`developer-guides/images/client-side-custom-forms/custom-form-action.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/chatbase/-HHbinxDlwZUQ3Jt/developer-guides/images/client-side-custom-forms/custom-form-action.png?w=280\u0026fit=max\u0026auto=format\u0026n=-HHbinxDlwZUQ3Jt\u0026q=85\u0026s=9d0cf6c2441b4d7ae0be52882dc0a992 280w, https://mintcdn.com/chatbase/-HHbinxDlwZUQ3Jt/developer-guides/images/client-side-custom-forms/custom-form-action.png?w=560\u0026fit=max\u0026auto=format\u0026n=-HHbinxDlwZUQ3Jt\u0026q=85\u0026s=3b9453fe50a6b27da55276ab5b166f04 560w, https://mintcdn.com/chatbase/-HHbinxDlwZUQ3Jt/developer-guides/images/client-side-custom-forms/custom-form-action.png?w=840\u0026fit=max\u0026auto=format\u0026n=-HHbinxDlwZUQ3Jt\u0026q=85\u0026s=ad419e35f94ab39305f010501a470780 840w, https://mintcdn.com/chatbase/-HHbinxDlwZUQ3Jt/developer-guides/images/client-side-custom-forms/custom-form-action.png?w=1100\u0026fit=max\u0026auto=format\u0026n=-HHbinxDlwZUQ3Jt\u0026q=85\u0026s=5626ca56821e29cb33c38cdf0e2f7c80 1100w, https://mintcdn.com/chatbase/-HHbinxDlwZUQ3Jt/developer-guides/images/client-side-custom-forms/custom-form-action.png?w=1650\u0026fit=max\u0026auto=format\u0026n=-HHbinxDlwZUQ3Jt\u0026q=85\u0026s=f1392cee608b3fb4fc96d63cd8135c84 1650w, https://mintcdn.com/chatbase/-HHbinxDlwZUQ3Jt/developer-guides/images/client-side-custom-forms/custom-form-action.png?w=2500\u0026fit=max\u0026auto=format\u0026n=-HHbinxDlwZUQ3Jt\u0026q=85\u0026s=a351fb694c15908486732f4fd996678a 2500w`})}),_jsxs(_components.ol,{start:`2`,children:[`\n`,_jsx(_components.li,{children:`Enter a unique name for your form.`}),`\n`,_jsx(_components.li,{children:`Configure the form when to use.`}),`\n`,_jsxs(_components.li,{children:[`Click on the `,_jsx(_components.strong,{children:`Save and Continue`}),` button.`]}),`\n`,_jsx(_components.li,{children:`Enable the action.`}),`\n`]}),_jsx(Frame,{caption:`Configuring the form name and when to use`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/chatbase/-HHbinxDlwZUQ3Jt/developer-guides/images/client-side-custom-forms/custom-form-configuration-name-instructions.png?fit=max\u0026auto=format\u0026n=-HHbinxDlwZUQ3Jt\u0026q=85\u0026s=d30d56462ad304c04c90080235ff587a`,alt:`Custom form when to use interface`,\"data-og-width\":`2938`,width:`2938`,\"data-og-height\":`1596`,height:`1596`,\"data-path\":`developer-guides/images/client-side-custom-forms/custom-form-configuration-name-instructions.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/chatbase/-HHbinxDlwZUQ3Jt/developer-guides/images/client-side-custom-forms/custom-form-configuration-name-instructions.png?w=280\u0026fit=max\u0026auto=format\u0026n=-HHbinxDlwZUQ3Jt\u0026q=85\u0026s=826b270da5f117caec9a6d180b404c4b 280w, https://mintcdn.com/chatbase/-HHbinxDlwZUQ3Jt/developer-guides/images/client-side-custom-forms/custom-form-configuration-name-instructions.png?w=560\u0026fit=max\u0026auto=format\u0026n=-HHbinxDlwZUQ3Jt\u0026q=85\u0026s=6493964c2f2187f38c68265ae3cd8441 560w, https://mintcdn.com/chatbase/-HHbinxDlwZUQ3Jt/developer-guides/images/client-side-custom-forms/custom-form-configuration-name-instructions.png?w=840\u0026fit=max\u0026auto=format\u0026n=-HHbinxDlwZUQ3Jt\u0026q=85\u0026s=4a53c03986919cf877d965af491dbd52 840w, https://mintcdn.com/chatbase/-HHbinxDlwZUQ3Jt/developer-guides/images/client-side-custom-forms/custom-form-configuration-name-instructions.png?w=1100\u0026fit=max\u0026auto=format\u0026n=-HHbinxDlwZUQ3Jt\u0026q=85\u0026s=d6f76ac450739f34a02f313795f77762 1100w, https://mintcdn.com/chatbase/-HHbinxDlwZUQ3Jt/developer-guides/images/client-side-custom-forms/custom-form-configuration-name-instructions.png?w=1650\u0026fit=max\u0026auto=format\u0026n=-HHbinxDlwZUQ3Jt\u0026q=85\u0026s=65d856b4610a36528245c4c1b27dc804 1650w, https://mintcdn.com/chatbase/-HHbinxDlwZUQ3Jt/developer-guides/images/client-side-custom-forms/custom-form-configuration-name-instructions.png?w=2500\u0026fit=max\u0026auto=format\u0026n=-HHbinxDlwZUQ3Jt\u0026q=85\u0026s=88111e1405da726d09b220459d03de29 2500w`})}),_jsxs(Warning,{children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Environment Limitations`}),`: Client-side custom forms will not function in:`]}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Chatbase Playground environment`}),`\n`,_jsx(_components.li,{children:`Action Preview mode`}),`\n`,_jsx(_components.li,{children:`Compare features`}),`\n`]}),_jsxs(_components.p,{children:[`Testing this action should be done in your actual website environment. Embed the `,_jsx(_components.a,{href:`/developer-guides/website-integration/chat-bubble`,children:`JavaScript script`}),` in your website and test the action.`]})]})]}),_jsxs(Step,{title:`Register your form schema`,children:[_jsxs(_components.p,{children:[`On your website, register your form schema by calling the `,_jsx(_components.code,{children:`registerFormSchema`}),` method anywhere in your JavaScript code, with the name of the action you created in the dashboard.`]}),_jsx(Tip,{children:_jsx(_components.p,{children:`Register the form in a root page of your website, or in a component that is loaded on every page.`})}),_jsx(CodeBlock,{filename:``,numberOfLines:`47`,language:`javascript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`javascript`,children:_jsxs(_components.code,{language:`javascript`,numberOfLines:`47`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`window`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`chatbase`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`registerFormSchema`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`({`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"learn_more_form\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`:`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` async`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`args`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`user`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`=>`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` return`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` fields:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` name:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` label:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Full Name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` type:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"text\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` placeholder:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Enter your full name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` validation:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` required:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` value:`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` message:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Name is required\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` name:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"email\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` label:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Email Address\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` type:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"email\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` placeholder:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Enter your email\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` validation:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` required:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` value:`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` message:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Email is required\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` name:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"message\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` label:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Message\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` type:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"textarea\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` placeholder:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"How can we help you?\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` validation:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` required:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` value:`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` message:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Please enter your message\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ],`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` submitButtonText:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Send Message\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` successMessage:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Thank you! We'll get back to you soon.\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` errorMessage:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Failed to send message. Please try again.\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` };`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`});`})}),`\n`]})})}),_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Multiple Registration Override`}),`: Calling `,_jsx(_components.code,{children:`registerFormSchema`}),` multiple times will completely replace all previously registered forms. Always include all your forms in a single registration call.`]})}),_jsx(Frame,{children:_jsx(`video`,{controls:true,className:`mint-w-full mint-aspect-video mint-rounded-xl`,src:`https://mintcdn.com/chatbase/-HHbinxDlwZUQ3Jt/developer-guides/images/client-side-custom-forms/custom-form-demo.mp4?fit=max\u0026auto=format\u0026n=-HHbinxDlwZUQ3Jt\u0026q=85\u0026s=5ec1f1efb91fe7cd10e06082598345e3`,\"data-path\":`developer-guides/images/client-side-custom-forms/custom-form-demo.mp4`})}),_jsx(Check,{children:_jsx(_components.p,{children:`Your custom form is now ready to use! The AI agent will automatically display your form when the corresponding action is triggered.`})})]}),_jsxs(Step,{title:`Webhooks (Optional)`,children:[_jsxs(_components.p,{children:[`You can also configure webhooks to receive real-time notifications when users submit your custom forms. For detailed configuration instructions, see `,_jsx(_components.a,{href:`#webhooks-integration`,children:`Webhooks Integration`}),`.`]}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/chatbase/-HHbinxDlwZUQ3Jt/developer-guides/images/client-side-custom-forms/custom-form-webhook.png?fit=max\u0026auto=format\u0026n=-HHbinxDlwZUQ3Jt\u0026q=85\u0026s=e1e3ffe25da6d1cb0d8ad0d65a27a1eb`,alt:`Webhook configuration interface`,\"data-og-width\":`1475`,width:`1475`,\"data-og-height\":`798`,height:`798`,\"data-path\":`developer-guides/images/client-side-custom-forms/custom-form-webhook.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/chatbase/-HHbinxDlwZUQ3Jt/developer-guides/images/client-side-custom-forms/custom-form-webhook.png?w=280\u0026fit=max\u0026auto=format\u0026n=-HHbinxDlwZUQ3Jt\u0026q=85\u0026s=b34a73a386669a16bf56b669520a809b 280w, https://mintcdn.com/chatbase/-HHbinxDlwZUQ3Jt/developer-guides/images/client-side-custom-forms/custom-form-webhook.png?w=560\u0026fit=max\u0026auto=format\u0026n=-HHbinxDlwZUQ3Jt\u0026q=85\u0026s=f3a2646e546bfff9d5a836337fe4a912 560w, https://mintcdn.com/chatbase/-HHbinxDlwZUQ3Jt/developer-guides/images/client-side-custom-forms/custom-form-webhook.png?w=840\u0026fit=max\u0026auto=format\u0026n=-HHbinxDlwZUQ3Jt\u0026q=85\u0026s=a7b09e4eb9c8f6c10375fef4a21682d1 840w, https://mintcdn.com/chatbase/-HHbinxDlwZUQ3Jt/developer-guides/images/client-side-custom-forms/custom-form-webhook.png?w=1100\u0026fit=max\u0026auto=format\u0026n=-HHbinxDlwZUQ3Jt\u0026q=85\u0026s=30ec360346265876dade1cec0f2771ce 1100w, https://mintcdn.com/chatbase/-HHbinxDlwZUQ3Jt/developer-guides/images/client-side-custom-forms/custom-form-webhook.png?w=1650\u0026fit=max\u0026auto=format\u0026n=-HHbinxDlwZUQ3Jt\u0026q=85\u0026s=24513c02109458d794ea0b8e8eeeac62 1650w, https://mintcdn.com/chatbase/-HHbinxDlwZUQ3Jt/developer-guides/images/client-side-custom-forms/custom-form-webhook.png?w=2500\u0026fit=max\u0026auto=format\u0026n=-HHbinxDlwZUQ3Jt\u0026q=85\u0026s=f971e0f1fad1209818327e05162520bd 2500w`})})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`function-parameters`,children:`Function Parameters`}),`\n`,_jsx(_components.p,{children:`Each custom form function receives two parameters that provide context and data:`}),`\n`,_jsxs(ParamField,{path:`args`,type:`object`,required:true,id:`param-args`,children:[_jsx(_components.p,{children:`Contains all the arguments defined in your custom form configuration. These are the values the ai agent generated and passed from the AI action when the form is triggered.`}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/chatbase/-HHbinxDlwZUQ3Jt/developer-guides/images/client-side-custom-forms/custom-form-inputs.png?fit=max\u0026auto=format\u0026n=-HHbinxDlwZUQ3Jt\u0026q=85\u0026s=742e4e9d54dfe2a6ef712311075b14e9`,alt:`Custom form args interface`,\"data-og-width\":`2938`,width:`2938`,\"data-og-height\":`1594`,height:`1594`,\"data-path\":`developer-guides/images/client-side-custom-forms/custom-form-inputs.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/chatbase/-HHbinxDlwZUQ3Jt/developer-guides/images/client-side-custom-forms/custom-form-inputs.png?w=280\u0026fit=max\u0026auto=format\u0026n=-HHbinxDlwZUQ3Jt\u0026q=85\u0026s=d8f49c890bbc42d292fed97de366b161 280w, https://mintcdn.com/chatbase/-HHbinxDlwZUQ3Jt/developer-guides/images/client-side-custom-forms/custom-form-inputs.png?w=560\u0026fit=max\u0026auto=format\u0026n=-HHbinxDlwZUQ3Jt\u0026q=85\u0026s=927a8a93eb87c983524ffc9fac758bc9 560w, https://mintcdn.com/chatbase/-HHbinxDlwZUQ3Jt/developer-guides/images/client-side-custom-forms/custom-form-inputs.png?w=840\u0026fit=max\u0026auto=format\u0026n=-HHbinxDlwZUQ3Jt\u0026q=85\u0026s=ad6fda9686d3ba99613b7fe9c55baa31 840w, https://mintcdn.com/chatbase/-HHbinxDlwZUQ3Jt/developer-guides/images/client-side-custom-forms/custom-form-inputs.png?w=1100\u0026fit=max\u0026auto=format\u0026n=-HHbinxDlwZUQ3Jt\u0026q=85\u0026s=4a51ad0f43b419c09bda49d197302136 1100w, https://mintcdn.com/chatbase/-HHbinxDlwZUQ3Jt/developer-guides/images/client-side-custom-forms/custom-form-inputs.png?w=1650\u0026fit=max\u0026auto=format\u0026n=-HHbinxDlwZUQ3Jt\u0026q=85\u0026s=792127251e4ac3c0e4dcde86b1fe6864 1650w, https://mintcdn.com/chatbase/-HHbinxDlwZUQ3Jt/developer-guides/images/client-side-custom-forms/custom-form-inputs.png?w=2500\u0026fit=max\u0026auto=format\u0026n=-HHbinxDlwZUQ3Jt\u0026q=85\u0026s=46ec824ea6b9747d484844203e2e5e50 2500w`})})]}),`\n`,_jsxs(ParamField,{path:`user`,type:`object`,id:`param-user`,children:[_jsx(_components.p,{children:`Contains user information that varies depending on your identity verification setup.`}),_jsxs(Expandable,{title:`When identity verification is properly configured`,children:[_jsx(ResponseField,{name:`user_id`,type:`string`,id:`param-user-id`,children:_jsx(_components.p,{children:`Unique identifier for the authenticated user as provided during the identify call.`})}),_jsx(ResponseField,{name:`user_hash`,type:`string`,id:`param-user-hash`,children:_jsx(_components.p,{children:`Hash of the user_id used for verification (generated server-side).`})}),_jsx(ResponseField,{name:`anon_user_id`,type:`string`,id:`param-anon-user-id`,children:_jsx(_components.p,{children:`Internal anonymous user identifier. You can ignore this field.`})}),_jsx(ResponseField,{name:`chatbase_anon_id`,type:`string`,id:`param-chatbase-anon-id`,children:_jsx(_components.p,{children:`Internal Chatbase anonymous identifier. You can ignore this field.`})}),_jsx(ResponseField,{name:`user_metadata`,type:`object`,id:`param-user-metadata`,children:_jsx(_components.p,{children:`Custom user data passed during the identify call (e.g., name, email, company). This field is only present if metadata was provided during identification.`})})]}),_jsxs(Expandable,{title:`When identity verification is not properly configured`,children:[_jsx(ResponseField,{name:`anon_user_id`,type:`string`,id:`param-anon-user-id-1`,children:_jsx(_components.p,{children:`Internal anonymous user identifier. You can ignore this field.`})}),_jsx(ResponseField,{name:`chatbase_anon_id`,type:`string`,id:`param-chatbase-anon-id-1`,children:_jsx(_components.p,{children:`Internal Chatbase anonymous identifier. You can ignore this field.`})}),_jsx(ResponseField,{name:`user_metadata`,type:`object`,id:`param-user-metadata-1`,children:_jsx(_components.p,{children:`Custom user data passed during any identify calls. This field is only present if metadata was provided during identification.`})})]}),_jsx(Note,{children:_jsxs(_components.p,{children:[`The anonymous IDs (`,_jsx(_components.code,{children:`anon_user_id`}),` and `,_jsx(_components.code,{children:`chatbase_anon_id`}),`) are internal identifiers used by Chatbase and can be safely ignored in your custom form implementations.`]})})]}),`\n`,_jsx(Heading,{level:`2`,id:`complete-example`,children:`Complete Example`}),`\n`,_jsx(_components.p,{children:`Here’s a comprehensive example showing a user profile form with various field types and validation rules:`}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`The function name in your JavaScript code (e.g., `,_jsx(_components.code,{children:`userProfileForm`}),`) must exactly match the name you assign to your AI Action in the Chatbase dashboard.`]})}),`\n`,_jsx(CodeBlock,{filename:`userProfileForm.js`,numberOfLines:`110`,language:`javascript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`javascript`,children:_jsxs(_components.code,{language:`javascript`,numberOfLines:`110`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`window`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`chatbase`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`registerFormSchema`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`({`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` userProfileForm`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`:`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` async`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`args`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`user`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`=>`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // Pre-populate form with user data if available`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` defaultName`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` user`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`?.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`user_metadata`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`?.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`name`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` ||`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` args`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`name`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` ||`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` ''`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` defaultEmail`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` user`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`?.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`user_metadata`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`?.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`email`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` ||`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` ''`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` `})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` return`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` fields:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` name:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` label:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"First Name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` type:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"text\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` defaultValue:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` defaultName`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` placeholder:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Enter your first name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` validation:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` required:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` value:`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` message:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Name is required\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` minLength:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` value:`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 2`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` message:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Name must be at least 2 characters\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` maxLength:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` value:`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 50`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` message:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Name cannot exceed 50 characters\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` name:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"email\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` label:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Email Address\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` type:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"email\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` defaultValue:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` defaultEmail`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` validation:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` required:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` value:`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` message:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Email is required\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` pattern:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` value:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"^[^`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:`\\\\s`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`@]+@[^`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:`\\\\s`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`@]+`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:`\\\\.`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`[^`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:`\\\\s`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`@]+$\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` message:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Please enter a valid email address\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` name:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"officeLocation\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` type:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"groupselect\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` label:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Office Location\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` options:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"North America\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` [`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`value:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"nyc\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`label:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"New York City\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`value:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"sf\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`label:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"San Francisco\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`value:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"toronto\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`label:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Toronto\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ],`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Europe\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` [`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`value:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"london\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`label:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"London\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`value:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"berlin\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`label:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Berlin\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`value:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"paris\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`label:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Paris\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ],`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Asia Pacific\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` [`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`value:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"tokyo\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`label:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Tokyo\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`value:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"singapore\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`label:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Singapore\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` validation:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` required:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` value:`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` message:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Please select your office location\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` name:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"skills\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` type:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"multiselect\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` label:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Technical Skills\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` options:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` [`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`value:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"javascript\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`label:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"JavaScript\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`value:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"python\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`label:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Python\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`value:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"react\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`label:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"React\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`value:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"nodejs\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`label:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Node.js\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`value:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"sql\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`label:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"SQL\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` name:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"bio\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` label:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Bio\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` type:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"textarea\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` placeholder:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Tell us about yourself...\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` validation:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` maxLength:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` value:`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 500`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` message:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Bio cannot exceed 500 characters\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` name:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"profileImage\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` label:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Profile Image\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` type:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"image\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` placeholder:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Click or drop your profile image here\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ],`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` submitButtonText:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Update Profile\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` showLabels:`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` successMessage:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Profile updated successfully!\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` errorMessage:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Failed to update profile. Please try again.\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` };`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`});`})}),`\n`]})})}),`\n`,_jsx(Frame,{caption:`Example of how the form appears to users`,children:_jsx(OptimizedImage,{width:`500`,height:`500`,src:`https://mintcdn.com/chatbase/-HHbinxDlwZUQ3Jt/developer-guides/images/client-side-custom-forms/custom-form-complete-example.png?fit=max\u0026auto=format\u0026n=-HHbinxDlwZUQ3Jt\u0026q=85\u0026s=1281cab0c46f1bb535c126a08f881438`,alt:`Example custom form in AI agent interface`,\"data-og-width\":`824`,\"data-og-height\":`1488`,\"data-path\":`developer-guides/images/client-side-custom-forms/custom-form-complete-example.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/chatbase/-HHbinxDlwZUQ3Jt/developer-guides/images/client-side-custom-forms/custom-form-complete-example.png?w=280\u0026fit=max\u0026auto=format\u0026n=-HHbinxDlwZUQ3Jt\u0026q=85\u0026s=9ff3dc99d8edcc84f6757b0299323e57 280w, https://mintcdn.com/chatbase/-HHbinxDlwZUQ3Jt/developer-guides/images/client-side-custom-forms/custom-form-complete-example.png?w=560\u0026fit=max\u0026auto=format\u0026n=-HHbinxDlwZUQ3Jt\u0026q=85\u0026s=7c2b6411a766b993ff4527798b02a57a 560w, https://mintcdn.com/chatbase/-HHbinxDlwZUQ3Jt/developer-guides/images/client-side-custom-forms/custom-form-complete-example.png?w=840\u0026fit=max\u0026auto=format\u0026n=-HHbinxDlwZUQ3Jt\u0026q=85\u0026s=f9a4e97ee736acbc4c9e65c4043359ff 840w, https://mintcdn.com/chatbase/-HHbinxDlwZUQ3Jt/developer-guides/images/client-side-custom-forms/custom-form-complete-example.png?w=1100\u0026fit=max\u0026auto=format\u0026n=-HHbinxDlwZUQ3Jt\u0026q=85\u0026s=d690312d3a2c7561939f6eb3cdea1f63 1100w, https://mintcdn.com/chatbase/-HHbinxDlwZUQ3Jt/developer-guides/images/client-side-custom-forms/custom-form-complete-example.png?w=1650\u0026fit=max\u0026auto=format\u0026n=-HHbinxDlwZUQ3Jt\u0026q=85\u0026s=389df43294cec00534053181a34ba074 1650w, https://mintcdn.com/chatbase/-HHbinxDlwZUQ3Jt/developer-guides/images/client-side-custom-forms/custom-form-complete-example.png?w=2500\u0026fit=max\u0026auto=format\u0026n=-HHbinxDlwZUQ3Jt\u0026q=85\u0026s=b3b6347aa806bc3818556153a5c24ac4 2500w`})}),`\n`,_jsx(Heading,{level:`2`,id:`api-reference`,children:`API Reference`}),`\n`,_jsx(Heading,{level:`3`,id:`form-schema`,children:`Form Schema`}),`\n`,_jsxs(_components.p,{children:[`The `,_jsx(_components.code,{children:`registerFormSchema`}),` function returns a schema object that defines your form’s structure and behavior:`]}),`\n`,_jsx(ResponseField,{name:`fields`,type:`array`,required:true,id:`param-fields`,children:_jsx(_components.p,{children:`Array of form field definitions. Each field must conform to the Field Schema specifications below.`})}),`\n`,_jsx(ResponseField,{name:`submitButtonText`,type:`string`,default:`Submit`,id:`param-submit-button-text`,children:_jsx(_components.p,{children:`Text displayed on the form’s submit button.`})}),`\n`,_jsx(ResponseField,{name:`showLabels`,type:`boolean`,default:`false`,id:`param-show-labels`,children:_jsx(_components.p,{children:`Controls whether field labels are displayed above form inputs.`})}),`\n`,_jsx(ResponseField,{name:`successMessage`,type:`string`,default:`Form submitted successfully`,id:`param-success-message`,children:_jsx(_components.p,{children:`Message shown to users when the form is successfully submitted.`})}),`\n`,_jsx(ResponseField,{name:`errorMessage`,type:`string`,default:`Error submitting form`,id:`param-error-message`,children:_jsx(_components.p,{children:`Message displayed when form submission fails.`})}),`\n`,_jsx(Heading,{level:`3`,id:`field-schema`,children:`Field Schema`}),`\n`,_jsxs(_components.p,{children:[`Each field in the `,_jsx(_components.code,{children:`fields`}),` array supports the following properties:`]}),`\n`,_jsx(ResponseField,{name:`name`,type:`string`,required:true,id:`param-name`,children:_jsx(_components.p,{children:`Unique identifier for the form field. This name is used to reference the field’s value in form submissions.`})}),`\n`,_jsx(ResponseField,{name:`type`,type:`string`,required:true,id:`param-type`,children:_jsx(_components.p,{children:`Specifies the input type. Must be one of the supported field types listed below.`})}),`\n`,_jsx(ResponseField,{name:`label`,type:`string`,required:true,id:`param-label`,children:_jsx(_components.p,{children:`Display text shown to users for this field.`})}),`\n`,_jsx(ResponseField,{name:`placeholder`,type:`string`,id:`param-placeholder`,children:_jsx(_components.p,{children:`Placeholder text displayed inside the input field. If not provided, the label text is used as placeholder.`})}),`\n`,_jsx(ResponseField,{name:`defaultValue`,type:`any`,id:`param-default-value`,children:_jsx(_components.p,{children:`Pre-filled value for the field. Type depends on the field type (string for text, number for numeric fields, etc.).`})}),`\n`,_jsx(ResponseField,{name:`disabled`,type:`boolean`,default:`false`,id:`param-disabled`,children:_jsx(_components.p,{children:`Whether the field should be read-only and non-interactive.`})}),`\n`,_jsx(ResponseField,{name:`validation`,type:`object`,id:`param-validation`,children:_jsx(_components.p,{children:`Validation rules for the field. See Validation Rules section below for detailed specifications.`})}),`\n`,_jsxs(ResponseField,{name:`options`,type:`array | object`,id:`param-options`,children:[_jsxs(_components.p,{children:[`Required for selection fields (`,_jsx(_components.code,{children:`select`}),`, `,_jsx(_components.code,{children:`multiselect`}),`, `,_jsx(_components.code,{children:`groupselect`}),`, `,_jsx(_components.code,{children:`groupmultiselect`}),`).`]}),_jsxs(Expandable,{title:`Options format by field type`,children:[_jsxs(_components.p,{children:[_jsxs(_components.strong,{children:[`For `,_jsx(_components.code,{children:`select`}),` and `,_jsx(_components.code,{children:`multiselect`})]}),`: Array of objects with `,_jsx(_components.code,{children:`label`}),` and `,_jsx(_components.code,{children:`value`}),` properties:`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`4`,language:`javascript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`javascript`,children:_jsxs(_components.code,{language:`javascript`,numberOfLines:`4`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#C8C8C8`},children:`options`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`value:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"option1\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`label:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Option 1\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`value:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"option2\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`label:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Option 2\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`]`})}),`\n`]})})}),_jsxs(_components.p,{children:[_jsxs(_components.strong,{children:[`For `,_jsx(_components.code,{children:`groupselect`}),` and `,_jsx(_components.code,{children:`groupmultiselect`})]}),`: Object where keys are group names and values are arrays of options:`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`9`,language:`javascript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`javascript`,children:_jsxs(_components.code,{language:`javascript`,numberOfLines:`9`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#C8C8C8`},children:`options`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Group 1\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`value:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"item1\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`label:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Item 1\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`value:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"item2\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`label:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Item 2\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ],`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Group 2\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`value:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"item3\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`label:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Item 3\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})})]})]}),`\n`,_jsx(Heading,{level:`3`,id:`field-types`,children:`Field Types`}),`\n`,_jsxs(AccordionGroup,{children:[_jsxs(Accordion,{title:`Text Input Fields`,id:`text-input-fields`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:_jsx(_components.code,{children:`text`})}),` - Single-line text input`]}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Supports: `,_jsx(_components.code,{children:`required`}),`, `,_jsx(_components.code,{children:`minLength`}),`, `,_jsx(_components.code,{children:`maxLength`}),`, `,_jsx(_components.code,{children:`pattern`}),` validation`]}),`\n`,_jsx(_components.li,{children:`Best for: Names, titles, short descriptions`}),`\n`]}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:_jsx(_components.code,{children:`textarea`})}),` - Multi-line text input`]}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Supports: `,_jsx(_components.code,{children:`required`}),`, `,_jsx(_components.code,{children:`minLength`}),`, `,_jsx(_components.code,{children:`maxLength`}),` validation`]}),`\n`,_jsx(_components.li,{children:`Best for: Comments, descriptions, long-form text`}),`\n`]}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:_jsx(_components.code,{children:`email`})}),` - Email address input with built-in format validation`]}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Supports: `,_jsx(_components.code,{children:`required`}),`, `,_jsx(_components.code,{children:`pattern`}),` validation`]}),`\n`,_jsx(_components.li,{children:`Automatically validates email format`}),`\n`]}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:_jsx(_components.code,{children:`phone`})}),` - Phone number input`]}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Must follow format: `,_jsx(_components.code,{children:`+[country code][number]`}),` (e.g., +1234567890)`]}),`\n`,_jsxs(_components.li,{children:[`Supports: `,_jsx(_components.code,{children:`required`}),`, `,_jsx(_components.code,{children:`pattern`}),` validation`]}),`\n`,_jsx(_components.li,{children:`Built-in international format validation`}),`\n`]})]}),_jsxs(Accordion,{title:`Numeric Fields`,id:`numeric-fields`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:_jsx(_components.code,{children:`number`})}),` - Numeric input`]}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Supports: `,_jsx(_components.code,{children:`required`}),`, `,_jsx(_components.code,{children:`min`}),`, `,_jsx(_components.code,{children:`max`}),` validation`]}),`\n`,_jsx(_components.li,{children:`Only accepts numeric values`}),`\n`,_jsx(_components.li,{children:`Best for: Ages, quantities, prices`}),`\n`]})]}),_jsxs(Accordion,{title:`Selection Fields`,id:`selection-fields`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:_jsx(_components.code,{children:`select`})}),` - Single selection dropdown`]}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Requires: `,_jsx(_components.code,{children:`options`}),` array with `,_jsx(_components.code,{children:`{ value, label }`}),` objects`]}),`\n`,_jsxs(_components.li,{children:[`Supports: `,_jsx(_components.code,{children:`required`}),` validation`]}),`\n`,_jsx(_components.li,{children:`Best for: Categories, single choice selections`}),`\n`]}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:_jsx(_components.code,{children:`multiselect`})}),` - Multiple selection dropdown`]}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Requires: `,_jsx(_components.code,{children:`options`}),` array with `,_jsx(_components.code,{children:`{ value, label }`}),` objects`]}),`\n`,_jsxs(_components.li,{children:[`Supports: `,_jsx(_components.code,{children:`required`}),` validation`]}),`\n`,_jsx(_components.li,{children:`Best for: Tags, multiple choice selections`}),`\n`]}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:_jsx(_components.code,{children:`groupselect`})}),` - Grouped single selection dropdown`]}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Requires: `,_jsx(_components.code,{children:`options`}),` object with group names as keys`]}),`\n`,_jsxs(_components.li,{children:[`Each group contains array of `,_jsx(_components.code,{children:`{ value, label }`}),` objects`]}),`\n`,_jsxs(_components.li,{children:[`Supports: `,_jsx(_components.code,{children:`required`}),` validation`]}),`\n`,_jsx(_components.li,{children:`Best for: Categorized options (e.g., locations by region)`}),`\n`]}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:_jsx(_components.code,{children:`groupmultiselect`})}),` - Grouped multiple selection dropdown`]}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Requires: `,_jsx(_components.code,{children:`options`}),` object with group names as keys`]}),`\n`,_jsxs(_components.li,{children:[`Each group contains array of `,_jsx(_components.code,{children:`{ value, label }`}),` objects`]}),`\n`,_jsxs(_components.li,{children:[`Supports: `,_jsx(_components.code,{children:`required`}),` validation`]}),`\n`,_jsx(_components.li,{children:`Best for: Multiple selections from categorized options`}),`\n`]})]}),_jsxs(Accordion,{title:`File Upload Fields`,id:`file-upload-fields`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:_jsx(_components.code,{children:`image`})}),` - Image file upload with drag \u0026 drop`]}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Accepts: JPEG, JPG, PNG, GIF, WebP formats`}),`\n`,_jsx(_components.li,{children:`Maximum size: 2MB per file`}),`\n`,_jsxs(_components.li,{children:[`Supports: `,_jsx(_components.code,{children:`required`}),` validation`]}),`\n`,_jsx(_components.li,{children:`Features: Drag \u0026 drop, preview, format validation`}),`\n`]})]})]}),`\n`,_jsx(Heading,{level:`3`,id:`validation-rules`,children:`Validation Rules`}),`\n`,_jsxs(_components.p,{children:[`Each validation rule is defined as an object with `,_jsx(_components.code,{children:`value`}),` and `,_jsx(_components.code,{children:`message`}),` properties:`]}),`\n`,_jsxs(AccordionGroup,{children:[_jsxs(Accordion,{title:`Basic Validation`,id:`basic-validation`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:_jsx(_components.code,{children:`required`})}),` - Makes field mandatory`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`6`,language:`javascript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`javascript`,children:_jsxs(_components.code,{language:`javascript`,numberOfLines:`6`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#C8C8C8`},children:`validation`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#C8C8C8`},children:` required`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#C8C8C8`},children:` value`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#C8C8C8`},children:` message`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"This field is required\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:_jsx(_components.code,{children:`pattern`})}),` - Regex pattern validation`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`6`,language:`javascript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`javascript`,children:_jsxs(_components.code,{language:`javascript`,numberOfLines:`6`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#C8C8C8`},children:`validation`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#C8C8C8`},children:` pattern`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#C8C8C8`},children:` value`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"^[A-Za-z]+$\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Only letters`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#C8C8C8`},children:` message`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Only letters are allowed\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})})]}),_jsxs(Accordion,{title:`Length Validation`,id:`length-validation`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:_jsx(_components.code,{children:`minLength`})}),` - Minimum character count`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`6`,language:`javascript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`javascript`,children:_jsxs(_components.code,{language:`javascript`,numberOfLines:`6`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#C8C8C8`},children:`validation`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#C8C8C8`},children:` minLength`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#C8C8C8`},children:` value`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`3`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#C8C8C8`},children:` message`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Must be at least 3 characters\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:_jsx(_components.code,{children:`maxLength`})}),` - Maximum character count`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`6`,language:`javascript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`javascript`,children:_jsxs(_components.code,{language:`javascript`,numberOfLines:`6`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#C8C8C8`},children:`validation`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#C8C8C8`},children:` maxLength`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#C8C8C8`},children:` value`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`100`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#C8C8C8`},children:` message`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Cannot exceed 100 characters\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})})]}),_jsxs(Accordion,{title:`Numeric Validation`,id:`numeric-validation`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:_jsx(_components.code,{children:`min`})}),` - Minimum numeric value`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`6`,language:`javascript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`javascript`,children:_jsxs(_components.code,{language:`javascript`,numberOfLines:`6`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#C8C8C8`},children:`validation`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#C8C8C8`},children:` min`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#C8C8C8`},children:` value`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`18`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#C8C8C8`},children:` message`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Must be at least 18\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:_jsx(_components.code,{children:`max`})}),` - Maximum numeric value`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`6`,language:`javascript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`javascript`,children:_jsxs(_components.code,{language:`javascript`,numberOfLines:`6`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#C8C8C8`},children:`validation`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#C8C8C8`},children:` max`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#C8C8C8`},children:` value`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`120`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#C8C8C8`},children:` message`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Cannot exceed 120\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})})]}),_jsxs(Accordion,{title:`Error Handling`,id:`error-handling`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:_jsx(_components.code,{children:`defaultErrorMessage`})}),` - Fallback error message`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`4`,language:`javascript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`javascript`,children:_jsxs(_components.code,{language:`javascript`,numberOfLines:`4`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#C8C8C8`},children:`validation`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#C8C8C8`},children:` min`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: { `}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#C8C8C8`},children:`value`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`18`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// No custom message`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#C8C8C8`},children:` defaultErrorMessage`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Please enter a valid value\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),_jsx(_components.p,{children:`This message is shown when validation fails but no specific message is provided for the failed rule.`})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`advanced-configuration`,children:`Advanced Configuration`}),`\n`,_jsx(Heading,{level:`3`,id:`webhooks-integration`,children:`Webhooks Integration`}),`\n`,_jsx(_components.p,{children:`Configure webhooks to receive real-time notifications when users submit your custom forms:`}),`\n`,_jsxs(Steps,{children:[_jsxs(Step,{title:`Access action settings`,children:[_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`In the action settings, click on the `,_jsx(_components.strong,{children:`Webhooks`}),` tab.`]}),`\n`,_jsxs(_components.li,{children:[`Write the webhook URL and click on the `,_jsx(_components.strong,{children:`Create Webhook`}),` button.`]}),`\n`]}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/chatbase/-HHbinxDlwZUQ3Jt/developer-guides/images/client-side-custom-forms/create-form-webhook.png?fit=max\u0026auto=format\u0026n=-HHbinxDlwZUQ3Jt\u0026q=85\u0026s=3d43b2c09b4c052fc8806bb04fad9daf`,alt:`Webhook configuration interface`,\"data-og-width\":`2940`,width:`2940`,\"data-og-height\":`1600`,height:`1600`,\"data-path\":`developer-guides/images/client-side-custom-forms/create-form-webhook.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/chatbase/-HHbinxDlwZUQ3Jt/developer-guides/images/client-side-custom-forms/create-form-webhook.png?w=280\u0026fit=max\u0026auto=format\u0026n=-HHbinxDlwZUQ3Jt\u0026q=85\u0026s=4765ef849cccb9ee397336bfae97d738 280w, https://mintcdn.com/chatbase/-HHbinxDlwZUQ3Jt/developer-guides/images/client-side-custom-forms/create-form-webhook.png?w=560\u0026fit=max\u0026auto=format\u0026n=-HHbinxDlwZUQ3Jt\u0026q=85\u0026s=3aefd87ba84f0dcb48e9a41bfed8f36e 560w, https://mintcdn.com/chatbase/-HHbinxDlwZUQ3Jt/developer-guides/images/client-side-custom-forms/create-form-webhook.png?w=840\u0026fit=max\u0026auto=format\u0026n=-HHbinxDlwZUQ3Jt\u0026q=85\u0026s=6ce3ca6cb023cfd85909d756e38f42c1 840w, https://mintcdn.com/chatbase/-HHbinxDlwZUQ3Jt/developer-guides/images/client-side-custom-forms/create-form-webhook.png?w=1100\u0026fit=max\u0026auto=format\u0026n=-HHbinxDlwZUQ3Jt\u0026q=85\u0026s=fc87810d51c7fc0c71ba20084f4469a0 1100w, https://mintcdn.com/chatbase/-HHbinxDlwZUQ3Jt/developer-guides/images/client-side-custom-forms/create-form-webhook.png?w=1650\u0026fit=max\u0026auto=format\u0026n=-HHbinxDlwZUQ3Jt\u0026q=85\u0026s=4ed5f10d963a8d053686465724693e2d 1650w, https://mintcdn.com/chatbase/-HHbinxDlwZUQ3Jt/developer-guides/images/client-side-custom-forms/create-form-webhook.png?w=2500\u0026fit=max\u0026auto=format\u0026n=-HHbinxDlwZUQ3Jt\u0026q=85\u0026s=741e81000fe0db75e3fa932d264a9e9a 2500w`})})]}),_jsxs(Step,{title:`Configure webhook endpoint`,children:[_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/chatbase/-HHbinxDlwZUQ3Jt/developer-guides/images/client-side-custom-forms/create-form-webhook-2.png?fit=max\u0026auto=format\u0026n=-HHbinxDlwZUQ3Jt\u0026q=85\u0026s=d99acc67ef15f2c0508d04b1b9c51480`,alt:`Webhook configuration interface`,\"data-og-width\":`1471`,width:`1471`,\"data-og-height\":`796`,height:`796`,\"data-path\":`developer-guides/images/client-side-custom-forms/create-form-webhook-2.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/chatbase/-HHbinxDlwZUQ3Jt/developer-guides/images/client-side-custom-forms/create-form-webhook-2.png?w=280\u0026fit=max\u0026auto=format\u0026n=-HHbinxDlwZUQ3Jt\u0026q=85\u0026s=29f78d9310fffcf67c0940d933b19a7f 280w, https://mintcdn.com/chatbase/-HHbinxDlwZUQ3Jt/developer-guides/images/client-side-custom-forms/create-form-webhook-2.png?w=560\u0026fit=max\u0026auto=format\u0026n=-HHbinxDlwZUQ3Jt\u0026q=85\u0026s=04c672cdb3f9d67225ebdf73d01cd806 560w, https://mintcdn.com/chatbase/-HHbinxDlwZUQ3Jt/developer-guides/images/client-side-custom-forms/create-form-webhook-2.png?w=840\u0026fit=max\u0026auto=format\u0026n=-HHbinxDlwZUQ3Jt\u0026q=85\u0026s=e19f595ccbf5b4e4365e74a7fa20bdd0 840w, https://mintcdn.com/chatbase/-HHbinxDlwZUQ3Jt/developer-guides/images/client-side-custom-forms/create-form-webhook-2.png?w=1100\u0026fit=max\u0026auto=format\u0026n=-HHbinxDlwZUQ3Jt\u0026q=85\u0026s=1585196b08adf0195a6b0461399027a7 1100w, https://mintcdn.com/chatbase/-HHbinxDlwZUQ3Jt/developer-guides/images/client-side-custom-forms/create-form-webhook-2.png?w=1650\u0026fit=max\u0026auto=format\u0026n=-HHbinxDlwZUQ3Jt\u0026q=85\u0026s=1464020167bcd1e64b2925b86d0c4f8f 1650w, https://mintcdn.com/chatbase/-HHbinxDlwZUQ3Jt/developer-guides/images/client-side-custom-forms/create-form-webhook-2.png?w=2500\u0026fit=max\u0026auto=format\u0026n=-HHbinxDlwZUQ3Jt\u0026q=85\u0026s=50a9304973f2cca0095e0b6b7d70344b 2500w`})}),_jsx(_components.p,{children:`Set up your webhook endpoint to receive form submission data:`}),_jsx(CodeBlock,{filename:`webhook-handler.js`,numberOfLines:`11`,language:`javascript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`javascript`,children:_jsxs(_components.code,{language:`javascript`,numberOfLines:`11`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Example webhook handler (Node.js/Express)`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`app`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`post`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'/form-webhook'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, (`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`req`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`res`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`=>`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` const`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:`eventType`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:`chatbotId`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:`payload`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` } `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` req`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`body`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` const`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:`conversationId`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:`data`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:`error`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` } `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` payload`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // Process the form submission`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` console`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`log`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'Form submitted:'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`eventType`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`conversationId`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`data`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // Respond with success`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` res`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`status`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`200`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`).`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`json`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`({ `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`success:`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` });`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`});`})}),`\n`]})})}),_jsxs(_components.p,{children:[`The request body is the standard `,_jsx(_components.a,{href:`/developer-guides/webhooks#event-payload`,children:`webhook payload`}),`. `,_jsx(_components.code,{children:`eventType`}),` is `,_jsx(_components.code,{children:`{action name}_custom_form.submit`}),`, `,_jsx(_components.code,{children:`payload.conversationId`}),` is the conversation the form was submitted in, `,_jsx(_components.code,{children:`payload.data`}),` holds the submitted fields keyed by field name, and `,_jsx(_components.code,{children:`payload.error`}),` is set when an attachment upload failed.`]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`troubleshooting`,children:`Troubleshooting`}),`\n`,_jsxs(AccordionGroup,{children:[_jsxs(Accordion,{title:`Form not appearing in AI agent`,id:`form-not-appearing-in-ai-agent`,children:[_jsx(_components.p,{children:_jsx(_components.strong,{children:`Possible causes:`})}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Function name mismatch between dashboard and code`}),`\n`,_jsxs(_components.li,{children:[`Chatbase script not loaded before `,_jsx(_components.code,{children:`registerFormSchema`}),` call`]}),`\n`,_jsx(_components.li,{children:`JavaScript errors preventing form registration`}),`\n`]}),_jsx(_components.p,{children:_jsx(_components.strong,{children:`Solutions:`})}),_jsxs(_components.ol,{children:[`\n`,_jsx(_components.li,{children:`Verify the function name matches exactly (case-sensitive)`}),`\n`,_jsx(_components.li,{children:`Ensure proper script loading order`}),`\n`,_jsx(_components.li,{children:`Check browser console for JavaScript errors`}),`\n`]})]}),_jsxs(Accordion,{title:`Validation not working properly`,id:`validation-not-working-properly`,children:[_jsx(_components.p,{children:_jsx(_components.strong,{children:`Possible causes:`})}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Incorrect validation rule syntax`}),`\n`,_jsx(_components.li,{children:`Missing required properties in validation objects`}),`\n`]}),_jsx(_components.p,{children:_jsx(_components.strong,{children:`Solutions:`})}),_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Ensure validation rules have both `,_jsx(_components.code,{children:`value`}),` and `,_jsx(_components.code,{children:`message`}),` properties`]}),`\n`,_jsx(_components.li,{children:`Check field type compatibility with validation rules`}),`\n`,_jsx(_components.li,{children:`Verify regex patterns are valid JavaScript regex strings`}),`\n`]})]}),_jsxs(Accordion,{title:`Options not displaying for select fields`,id:`options-not-displaying-for-select-fields`,children:[_jsx(_components.p,{children:_jsx(_components.strong,{children:`Possible causes:`})}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Incorrect options format`}),`\n`,_jsxs(_components.li,{children:[`Missing `,_jsx(_components.code,{children:`options`}),` property`]}),`\n`]}),_jsx(_components.p,{children:_jsx(_components.strong,{children:`Solutions:`})}),_jsxs(_components.ol,{children:[`\n`,_jsx(_components.li,{children:`Ensure options follow the correct format for your field type`}),`\n`,_jsxs(_components.li,{children:[`Verify all option objects have both `,_jsx(_components.code,{children:`value`}),` and `,_jsx(_components.code,{children:`label`}),` properties`]}),`\n`,_jsx(_components.li,{children:`For grouped selections, check the nested object structure`}),`\n`]})]})]}),`\n`,_jsxs(Tip,{children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Best Practices`}),`:`]}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Test your forms thoroughly in your actual website environment`}),`\n`,_jsx(_components.li,{children:`Keep form schemas simple and focused on specific use cases`}),`\n`,_jsx(_components.li,{children:`Use clear, descriptive field names and validation messages`}),`\n`,_jsx(_components.li,{children:`Implement proper error handling for form submissions`}),`\n`]})]}),`\n`,_jsx(Heading,{level:`2`,id:`next-steps`,children:`Next Steps`}),`\n`,_jsxs(CardGroup,{cols:2,children:[_jsx(Card,{title:`Widget Control`,icon:`sliders`,href:`/developer-guides/website-integration/chat-interface-control`,children:_jsx(_components.p,{children:`Programmatically control the chat interface`})}),_jsx(Card,{title:`Event Listeners`,icon:`ear`,href:`/developer-guides/website-integration/chatbot-event-listeners`,children:_jsx(_components.p,{children:`Learn to listen for and respond to chat events in real-time`})}),_jsx(Card,{title:`Custom Initial Messages`,icon:`message`,href:`/developer-guides/website-integration/custom-initial-messages`,children:_jsx(_components.p,{children:`Create dynamic, personalized initial messages for users`})}),_jsx(Card,{title:`Floating Initial Messages`,icon:`bullhorn`,href:`/developer-guides/website-integration/floating-initial-messages`,children:_jsx(_components.p,{children:`Display floating messages over the chat bubble`})})]})]})}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":"Client-Side Custom Forms","description":"Create dynamic, interactive forms in your AI agent using client-side JavaScript configuration","icon":"rectangle-list","href":"/developer-guides/website-integration/client-side-custom-forms"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Overview","slug":"overview","depth":2,"children":[{"title":"Key Benefits","slug":"key-benefits","depth":3,"children":[]},{"title":"Prerequisites","slug":"prerequisites","depth":3,"children":[]}]},{"title":"Setup Guide","slug":"setup-guide","depth":2,"children":[]},{"title":"Function Parameters","slug":"function-parameters","depth":2,"children":[]},{"title":"Complete Example","slug":"complete-example","depth":2,"children":[]},{"title":"API Reference","slug":"api-reference","depth":2,"children":[{"title":"Form Schema","slug":"form-schema","depth":3,"children":[]},{"title":"Field Schema","slug":"field-schema","depth":3,"children":[]},{"title":"Field Types","slug":"field-types","depth":3,"children":[]},{"title":"Validation Rules","slug":"validation-rules","depth":3,"children":[]}]},{"title":"Advanced Configuration","slug":"advanced-configuration","depth":2,"children":[{"title":"Webhooks Integration","slug":"webhooks-integration","depth":3,"children":[]}]},{"title":"Troubleshooting","slug":"troubleshooting","depth":2,"children":[]},{"title":"Next Steps","slug":"next-steps","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"dynamicCss":".mint-aspect-video {\n aspect-ratio: 16 / 9\n}\n.mint-w-full {\n width: 100%\n}\n.mint-rounded-xl {\n border-radius: 0.75rem\n}","subdomain":"chatbase","siteName":"Chatbase","title":"Client-Side Custom Forms - Chatbase","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-15T12:59:33.798Z","originalFileLocation":"developer-guides/website-integration/client-side-custom-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=\"Create dynamic, interactive forms in your AI agent using client-side JavaScript configuration\">\u003cmeta data-mint-head name=\"application-name\" content=\"Chatbase\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/chatbase/sZYcuOsK-Dv6V9lc/_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=\"/docs/mintlify-assets/_mintlify/favicons/chatbase/sZYcuOsK-Dv6V9lc/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/chatbase/sZYcuOsK-Dv6V9lc/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/chatbase/sZYcuOsK-Dv6V9lc/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/chatbase/sZYcuOsK-Dv6V9lc/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/chatbase/sZYcuOsK-Dv6V9lc/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/chatbase/sZYcuOsK-Dv6V9lc/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/chatbase/sZYcuOsK-Dv6V9lc/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/chatbase/sZYcuOsK-Dv6V9lc/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Client-Side Custom Forms - Chatbase\">\u003cmeta data-mint-head property=\"og:description\" content=\"Create dynamic, interactive forms in your AI agent using client-side JavaScript configuration\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Chatbase\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://www.chatbase.co/docs/developer-guides/website-integration/client-side-custom-forms\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://chatbase.mintlify.app/_mintlify/api/og/v2?division=Features\u0026amp;title=Client-Side+Custom+Forms\u0026amp;description=Create+dynamic%2C+interactive+forms+in+your+AI+agent+using+client-side+JavaScript+configuration\u0026amp;theme=8967705c05e833213354143b\u0026amp;signature=132c323fc4e8e70146d6b3e3a5313eb73d31923b6d35331bdb39d4b3ef87e127\">\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=\"Client-Side Custom Forms - Chatbase\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Create dynamic, interactive forms in your AI agent using client-side JavaScript configuration\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://chatbase.mintlify.app/_mintlify/api/og/v2?division=Features\u0026amp;title=Client-Side+Custom+Forms\u0026amp;description=Create+dynamic%2C+interactive+forms+in+your+AI+agent+using+client-side+JavaScript+configuration\u0026amp;theme=8967705c05e833213354143b\u0026amp;signature=132c323fc4e8e70146d6b3e3a5313eb73d31923b6d35331bdb39d4b3ef87e127\">\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=\"/docs/mintlify-assets/_mintlify/favicons/chatbase/sZYcuOsK-Dv6V9lc/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Chatbase\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#18181b\">\u003clink data-mint-head rel=\"canonical\" href=\"https://www.chatbase.co/docs/developer-guides/website-integration/client-side-custom-forms\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/developer-guides/website-integration/client-side-custom-forms.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://www.chatbase.co/#organization\",\"name\":\"Chatbase\",\"url\":\"https://www.chatbase.co\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/chatbase/pJU9vM3D9oN_YQME/logo/light.svg?fit=max\u0026auto=format\u0026n=pJU9vM3D9oN_YQME\u0026q=85\u0026s=a45a73af7ac778cd0920dbb6ad1aaa93\"}},{\"@type\":\"WebSite\",\"@id\":\"https://www.chatbase.co/docs#website\",\"name\":\"Chatbase\",\"url\":\"https://www.chatbase.co/docs\",\"publisher\":{\"@id\":\"https://www.chatbase.co/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://www.chatbase.co/docs/developer-guides/website-integration/client-side-custom-forms#webpage\",\"url\":\"https://www.chatbase.co/docs/developer-guides/website-integration/client-side-custom-forms\",\"name\":\"Client-Side Custom Forms\",\"description\":\"Create dynamic, interactive forms in your AI agent using client-side JavaScript configuration\",\"dateModified\":\"2026-10-15T12:59:33.798Z\",\"isPartOf\":{\"@id\":\"https://www.chatbase.co/docs#website\"},\"breadcrumb\":{\"@id\":\"https://www.chatbase.co/docs/developer-guides/website-integration/client-side-custom-forms#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://www.chatbase.co/docs/developer-guides/website-integration/client-side-custom-forms#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Website Integration\",\"item\":\"https://www.chatbase.co/docs/developer-guides/website-integration/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Features\",\"item\":\"https://www.chatbase.co/docs/developer-guides/website-integration/identity-verification\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Client-Side Custom Forms\",\"item\":\"https://www.chatbase.co/docs/developer-guides/website-integration/client-side-custom-forms\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://www.chatbase.co/docs/developer-guides/website-integration/client-side-custom-forms#article\",\"headline\":\"Client-Side Custom Forms\",\"name\":\"Client-Side Custom Forms\",\"description\":\"Create dynamic, interactive forms in your AI agent using client-side JavaScript configuration\",\"url\":\"https://www.chatbase.co/docs/developer-guides/website-integration/client-side-custom-forms\",\"mainEntityOfPage\":{\"@id\":\"https://www.chatbase.co/docs/developer-guides/website-integration/client-side-custom-forms#webpage\"},\"dateModified\":\"2026-10-15T12:59:33.798Z\",\"publisher\":{\"@id\":\"https://www.chatbase.co/#organization\"},\"isPartOf\":{\"@id\":\"https://www.chatbase.co/docs#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Chatbase\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Chatbase","nav":{"global":null,"tabs":[{"tab":"User Guide","pages":[{"title":"User Guide","href":"/user-guides/quick-start/introduction"}]},{"tab":"Developer Guide","groups":[{"group":"Getting Started","pages":[{"title":"Developer Overview","icon":"compass","href":"/developer-guides/overview"},{"title":"REST API Integration","icon":"terminal","href":"/developer-guides/api-integration"}]},{"group":"Website Integration","pages":[{"group":"Getting Started","expanded":true,"pages":[{"title":"Website Integration Overview","sidebarTitle":"Overview","icon":"globe","href":"/developer-guides/website-integration/overview"},{"title":"Chat Bubble Installation","icon":"comment","href":"/developer-guides/website-integration/chat-bubble"},{"title":"Iframe Developer Guide","sidebarTitle":"Iframe","icon":"code","href":"/developer-guides/website-integration/iframe"}]},{"group":"Features","expanded":true,"pages":[{"title":"Identity Verification","icon":"shield-check","href":"/developer-guides/website-integration/identity-verification"},{"title":"UTM Tracking","icon":"link","href":"/developer-guides/website-integration/utm-tracking"},{"title":"Client-Side Custom Actions","description":"Execute custom actions directly in your user's browser with full control and seamless integration","icon":"wand-magic-sparkles","href":"/developer-guides/website-integration/client-side-custom-actions"},{"title":"Client-Side Custom Forms","icon":"rectangle-list","href":"/developer-guides/website-integration/client-side-custom-forms"},{"title":"Chat Interface Control","description":"Programmatically control your website chat interface with JavaScript methods to open, close, reset conversations, and override configured options at runtime.","icon":"sliders","href":"/developer-guides/website-integration/chat-interface-control"},{"title":"Event Listeners","icon":"ear-listen","href":"/developer-guides/website-integration/chatbot-event-listeners"},{"title":"Custom Initial Messages","icon":"message","href":"/developer-guides/website-integration/custom-initial-messages"},{"title":"Floating Initial Messages","icon":"bullhorn","href":"/developer-guides/website-integration/floating-initial-messages"}]}]},{"group":"Advanced Integration","pages":[{"title":"MCP Server","icon":"plug","href":"/developer-guides/mcp"},{"group":"Webhooks","expanded":true,"pages":[{"title":"Webhook API Guide","icon":"webhook","href":"/developer-guides/webhooks"},{"title":"HIPAA Conversation Webhook","icon":"shield-check","href":"/developer-guides/hipaa-webhooks"}]},{"title":"Help Page Proxy","icon":"link","href":"/developer-guides/help-page-proxy"},{"title":"Custom Domains","icon":"globe","href":"/developer-guides/custom-domains"}]},{"group":"Widgets","pages":[{"title":"Widgets Overview","icon":"puzzle-piece","href":"/developer-guides/widgets/overview"},{"title":"AI Widget Builder","icon":"wand-magic-sparkles","href":"/developer-guides/widgets/ai-widget-builder"},{"title":"Code Editor","icon":"code","href":"/developer-guides/widgets/code-editor"},{"title":"Functions","icon":"bolt","href":"/developer-guides/widgets/functions"},{"title":"States","icon":"eye","href":"/developer-guides/widgets/states"},{"title":"File Uploads","icon":"cloud-arrow-up","href":"/developer-guides/widgets/file-uploads"},{"group":"Components","icon":"cube","pages":[{"title":"Layout","icon":"table-layout","href":"/developer-guides/widgets/components/layout"},{"title":"Text","icon":"text","href":"/developer-guides/widgets/components/text"},{"title":"Media \u0026 Visual","icon":"image","href":"/developer-guides/widgets/components/media"},{"title":"Form Inputs","icon":"input-text","href":"/developer-guides/widgets/components/form-inputs"},{"title":"Data Display","icon":"chart-bar","href":"/developer-guides/widgets/components/data-display"},{"title":"Interactive","icon":"hand-pointer","href":"/developer-guides/widgets/components/interactive"}]}]}]},{"tab":"API Reference","dropdowns":[{"dropdown":"API v2","icon":"code","groups":[{"group":"Getting Started","pages":[{"title":"API v2 Overview","sidebarTitle":"Overview","href":"/api-reference/v2/overview"},{"title":"Authentication","href":"/api-reference/v2/authentication"},{"title":"Streaming","href":"/api-reference/v2/streaming"},{"title":"Error Handling","href":"/api-reference/v2/error-handling"},{"title":"Pagination","href":"/api-reference/v2/pagination"}]},{"group":"Guides","pages":[{"title":"Agents","href":"/api-reference/v2/agents"},{"title":"User Conversations","href":"/api-reference/v2/user-conversations"},{"title":"Conversation Search","href":"/api-reference/v2/conversation-search"},{"title":"Sources","href":"/api-reference/v2/sources"},{"title":"Helpdesk","href":"/api-reference/v2/helpdesk"},{"title":"WhatsApp","href":"/api-reference/v2/whatsapp"},{"title":"Voice Sessions","href":"/api-reference/v2/voice"},{"title":"Client Actions","href":"/api-reference/v2/client-actions"}]},{"group":"Endpoints","pages":[{"group":"Health","pages":[{"title":"Health check","deprecated":null,"version":null,"openapi":"/api-v2-openapi.json get /health","href":"/api-reference/v2/health/health-check"}]},{"group":"Agents","pages":[{"title":"List agents","deprecated":null,"version":null,"openapi":"/api-v2-openapi.json get /agents","href":"/api-reference/v2/agents/list-agents"},{"title":"Create agent","deprecated":null,"version":null,"openapi":"/api-v2-openapi.json post /agents","href":"/api-reference/v2/agents/create-agent"},{"title":"Get agent","deprecated":null,"version":null,"openapi":"/api-v2-openapi.json get /agents/{agentId}","href":"/api-reference/v2/agents/get-agent"},{"title":"Update agent","deprecated":null,"version":null,"openapi":"/api-v2-openapi.json put /agents/{agentId}","href":"/api-reference/v2/agents/update-agent"},{"title":"Delete agent","deprecated":null,"version":null,"openapi":"/api-v2-openapi.json delete /agents/{agentId}","href":"/api-reference/v2/agents/delete-agent"},{"title":"Update agent styles","deprecated":null,"version":null,"openapi":"/api-v2-openapi.json put /agents/{agentId}/styles","href":"/api-reference/v2/agents/update-agent-styles"},{"title":"Toggle auto-retrain","deprecated":null,"version":null,"openapi":"/api-v2-openapi.json put /agents/{agentId}/auto-retrain","href":"/api-reference/v2/agents/toggle-auto-retrain"},{"title":"Clone agent","deprecated":null,"version":null,"openapi":"/api-v2-openapi.json post /agents/{agentId}/clone","href":"/api-reference/v2/agents/clone-agent"},{"title":"Train agent (deprecated)","deprecated":true,"version":null,"openapi":"/api-v2-openapi.json post /agents/{agentId}/train","href":"/api-reference/v2/agents/train-agent-deprecated"},{"title":"Chat with an agent","deprecated":null,"version":null,"openapi":"/api-v2-openapi.json post /agents/{agentId}/chat","href":"/api-reference/v2/agents/chat-with-an-agent"},{"title":"Retry a message","deprecated":null,"version":null,"openapi":"/api-v2-openapi.json post /agents/{agentId}/conversations/{conversationId}/retry","href":"/api-reference/v2/agents/retry-a-message"},{"title":"Start a voice session","deprecated":null,"version":null,"openapi":"/api-v2-openapi.json post /agents/{agentId}/voice/sessions","href":"/api-reference/v2/agents/start-a-voice-session"},{"title":"Submit a tool result","deprecated":null,"version":null,"openapi":"/api-v2-openapi.json post /agents/{agentId}/conversations/{conversationId}/tool-result","href":"/api-reference/v2/agents/submit-a-tool-result"}]},{"group":"Conversations","pages":[{"title":"List conversations","deprecated":null,"version":null,"openapi":"/api-v2-openapi.json get /agents/{agentId}/conversations","href":"/api-reference/v2/conversations/list-conversations"},{"title":"Export conversations","deprecated":null,"version":null,"openapi":"/api-v2-openapi.json get /agents/{agentId}/conversations/export","href":"/api-reference/v2/conversations/export-conversations"},{"title":"Search conversations","deprecated":null,"version":null,"openapi":"/api-v2-openapi.json get /agents/{agentId}/conversations/search","href":"/api-reference/v2/conversations/search-conversations"},{"title":"Get a conversation","deprecated":null,"version":null,"openapi":"/api-v2-openapi.json get /agents/{agentId}/conversations/{conversationId}","href":"/api-reference/v2/conversations/get-a-conversation"},{"title":"Update conversation status","deprecated":null,"version":null,"openapi":"/api-v2-openapi.json patch /agents/{agentId}/conversations/{conversationId}","href":"/api-reference/v2/conversations/update-conversation-status"},{"title":"List conversation messages","deprecated":null,"version":null,"openapi":"/api-v2-openapi.json get /agents/{agentId}/conversations/{conversationId}/messages","href":"/api-reference/v2/conversations/list-conversation-messages"},{"title":"List conversations for a user","deprecated":null,"version":null,"openapi":"/api-v2-openapi.json get /agents/{agentId}/users/{userId}/conversations","href":"/api-reference/v2/conversations/list-conversations-for-a-user"},{"title":"Update message feedback","deprecated":null,"version":null,"openapi":"/api-v2-openapi.json patch /agents/{agentId}/conversations/{conversationId}/messages/{messageId}/feedback","href":"/api-reference/v2/conversations/update-message-feedback"}]},{"group":"Sources","pages":[{"title":"Get sources summary","deprecated":null,"version":null,"openapi":"/api-v2-openapi.json get /agents/{agentId}/sources/summary","href":"/api-reference/v2/sources/get-sources-summary"},{"title":"List sources","deprecated":null,"version":null,"openapi":"/api-v2-openapi.json get /agents/{agentId}/sources","href":"/api-reference/v2/sources/list-sources"},{"title":"Create source","deprecated":null,"version":null,"openapi":"/api-v2-openapi.json post /agents/{agentId}/sources","href":"/api-reference/v2/sources/create-source"},{"title":"Get source","deprecated":null,"version":null,"openapi":"/api-v2-openapi.json get /agents/{agentId}/sources/{sourceId}","href":"/api-reference/v2/sources/get-source"},{"title":"Update source","deprecated":null,"version":null,"openapi":"/api-v2-openapi.json put /agents/{agentId}/sources/{sourceId}","href":"/api-reference/v2/sources/update-source"},{"title":"Delete source","deprecated":null,"version":null,"openapi":"/api-v2-openapi.json delete /agents/{agentId}/sources/{sourceId}","href":"/api-reference/v2/sources/delete-source"},{"title":"Restore source (deprecated)","deprecated":true,"version":null,"openapi":"/api-v2-openapi.json post /agents/{agentId}/sources/{sourceId}/restore","href":"/api-reference/v2/sources/restore-source-deprecated"},{"title":"Create file source","deprecated":null,"version":null,"openapi":"/api-v2-openapi.json post /api/v2/agents/{agentId}/sources","href":"/api-reference/v2/sources/create-file-source"},{"title":"Update file source","deprecated":null,"version":null,"openapi":"/api-v2-openapi.json put /api/v2/agents/{agentId}/sources/{sourceId}","href":"/api-reference/v2/sources/update-file-source"}]},{"group":"WhatsApp","pages":[{"title":"List WhatsApp templates","deprecated":null,"version":null,"openapi":"/api-v2-openapi.json get /agents/{agentId}/whatsapp/templates","href":"/api-reference/v2/whatsapp/list-whatsapp-templates"},{"title":"Send a WhatsApp template message","deprecated":null,"version":null,"openapi":"/api-v2-openapi.json post /agents/{agentId}/whatsapp/messages/template","href":"/api-reference/v2/whatsapp/send-a-whatsapp-template-message"}]},{"group":"Helpdesk","pages":[{"title":"List ticket statuses","deprecated":null,"version":null,"openapi":"/api-v2-openapi.json get /agents/{agentId}/helpdesk/ticket-statuses","href":"/api-reference/v2/helpdesk/list-ticket-statuses"},{"title":"List teams","deprecated":null,"version":null,"openapi":"/api-v2-openapi.json get /agents/{agentId}/helpdesk/teams","href":"/api-reference/v2/helpdesk/list-teams"},{"title":"List tickets","deprecated":null,"version":null,"openapi":"/api-v2-openapi.json get /agents/{agentId}/helpdesk/tickets","href":"/api-reference/v2/helpdesk/list-tickets"},{"title":"Create a ticket","deprecated":null,"version":null,"openapi":"/api-v2-openapi.json post /agents/{agentId}/helpdesk/tickets","href":"/api-reference/v2/helpdesk/create-a-ticket"},{"title":"Search tickets","deprecated":null,"version":null,"openapi":"/api-v2-openapi.json post /agents/{agentId}/helpdesk/tickets/search","href":"/api-reference/v2/helpdesk/search-tickets"},{"title":"Get a ticket","deprecated":null,"version":null,"openapi":"/api-v2-openapi.json get /agents/{agentId}/helpdesk/tickets/{ticketNumber}","href":"/api-reference/v2/helpdesk/get-a-ticket"},{"title":"Update a ticket","deprecated":null,"version":null,"openapi":"/api-v2-openapi.json patch /agents/{agentId}/helpdesk/tickets/{ticketNumber}","href":"/api-reference/v2/helpdesk/update-a-ticket"},{"title":"List ticket messages","deprecated":null,"version":null,"openapi":"/api-v2-openapi.json get /agents/{agentId}/helpdesk/tickets/{ticketNumber}/messages","href":"/api-reference/v2/helpdesk/list-ticket-messages"},{"title":"Add a message to a ticket","deprecated":null,"version":null,"openapi":"/api-v2-openapi.json post /agents/{agentId}/helpdesk/tickets/{ticketNumber}/messages","href":"/api-reference/v2/helpdesk/add-a-message-to-a-ticket"}]}]}]},{"dropdown":"API v1","icon":"box-archive","groups":[{"group":"Getting Started","pages":[{"title":"API v1 Overview","sidebarTitle":"Overview","href":"/api-reference/v1/overview"}]},{"group":"Endpoints","pages":[{"group":"Chat","pages":[{"title":"Chat with a chatbot","deprecated":null,"version":null,"openapi":"/openapi.yaml post /chat","href":"/api-reference/v1/chat/chat-with-a-chatbot"}]},{"group":"Chatbots","pages":[{"title":"Create a new chatbot","deprecated":null,"version":null,"openapi":"/openapi.yaml post /create-chatbot","href":"/api-reference/v1/chatbots/create-a-new-chatbot"},{"title":"Get all chatbots","deprecated":null,"version":null,"openapi":"/openapi.yaml get /get-chatbots","href":"/api-reference/v1/chatbots/get-all-chatbots"},{"title":"Delete a chatbot","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /delete-chatbot","href":"/api-reference/v1/chatbots/delete-a-chatbot"},{"title":"Update a chatbot","deprecated":null,"version":null,"openapi":"/openapi.yaml post /update-chatbot-data","href":"/api-reference/v1/chatbots/update-a-chatbot"},{"title":"Update chatbot settings","deprecated":null,"version":null,"openapi":"/openapi.yaml post /update-chatbot-settings","href":"/api-reference/v1/chatbots/update-chatbot-settings"}]},{"group":"Conversations","pages":[{"title":"Get conversations for a chatbot","deprecated":null,"version":null,"openapi":"/openapi.yaml get /get-conversations","href":"/api-reference/v1/conversations/get-conversations-for-a-chatbot"}]},{"group":"Leads","pages":[{"title":"Get leads for a chatbot","deprecated":null,"version":null,"openapi":"/openapi.yaml get /get-leads","href":"/api-reference/v1/leads/get-leads-for-a-chatbot"}]},{"group":"Assets","pages":[{"title":"Upload chatbot icon","deprecated":null,"version":null,"openapi":"/openapi.yaml post /upload-chatbot-icon","href":"/api-reference/v1/assets/upload-chatbot-icon"},{"title":"Upload chatbot profile picture","deprecated":null,"version":null,"openapi":"/openapi.yaml post /upload-chatbot-profile-picture","href":"/api-reference/v1/assets/upload-chatbot-profile-picture"},{"title":"Delete chatbot icon","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /delete-chatbot-icon","href":"/api-reference/v1/assets/delete-chatbot-icon"},{"title":"Delete chatbot profile picture","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /delete-chatbot-profile-picture","href":"/api-reference/v1/assets/delete-chatbot-profile-picture"}]},{"group":"Contacts","pages":[{"title":"Get contacts for a chatbot","deprecated":null,"version":null,"openapi":"/openapi.yaml get /chatbots/{chatbotId}/contacts","href":"/api-reference/v1/contacts/get-contacts-for-a-chatbot"},{"title":"Create contacts for a chatbot","deprecated":null,"version":null,"openapi":"/openapi.yaml post /chatbots/{chatbotId}/contacts","href":"/api-reference/v1/contacts/create-contacts-for-a-chatbot"},{"title":"Get a specific contact","deprecated":null,"version":null,"openapi":"/openapi.yaml get /chatbots/{chatbotId}/contacts/{contactId}","href":"/api-reference/v1/contacts/get-a-specific-contact"},{"title":"Delete a contact","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /chatbots/{chatbotId}/contacts/{contactId}","href":"/api-reference/v1/contacts/delete-a-contact"},{"title":"Update a contact","deprecated":null,"version":null,"openapi":"/openapi.yaml patch /chatbots/{chatbotId}/contacts/{contactId}","href":"/api-reference/v1/contacts/update-a-contact"},{"title":"Get custom attributes schema","deprecated":null,"version":null,"openapi":"/openapi.yaml get /chatbots/{chatbotId}/custom-attributes","href":"/api-reference/v1/contacts/get-custom-attributes-schema"},{"title":"Create custom attribute","deprecated":null,"version":null,"openapi":"/openapi.yaml post /chatbots/{chatbotId}/custom-attributes","href":"/api-reference/v1/contacts/create-custom-attribute"},{"title":"Update custom attribute","deprecated":null,"version":null,"openapi":"/openapi.yaml put /chatbots/{chatbotId}/custom-attributes/{name}","href":"/api-reference/v1/contacts/update-custom-attribute"}]}]}]}]},{"tab":"CLI","pages":[{"title":"CLI","href":"/cli/overview"}]},{"tab":"SDKs","pages":[{"title":"SDKs","href":"/sdks/overview"}]},{"tab":"Help \u0026 Support","pages":[{"title":"Help \u0026 Support","href":"/faq/faq"}]}]},"title":"Client-Side Custom Forms - Chatbase","buildId":"dpl_GvhK4qVXq51DpfYJLCtPpYNN4YHN","deploymentId":"dpl_GvhK4qVXq51DpfYJLCtPpYNN4YHN","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-5VlDM5Io.js","DynamicMarkdown-DO1Fz7ar.js","zoom-image-lightbox-uyuQJRFs.js","lightbox-handle-r17bVUz3.js"]}