[{"data":1,"prerenderedAt":502},["ShallowReactive",2],{"navigation":3,"\u002Fdocs\u002Fforms":180,"\u002Fdocs\u002Fforms-surround":497},[4,8,20,24,59,65,69,73,77,100,104,108,112,116,120,124,128,160,164,168,172,176],{"title":5,"path":6,"stem":7},"","\u002Fdocs","1.docs\u002Findex",{"title":9,"path":10,"stem":11,"children":12,"icon":19},"Getting Started","\u002Fdocs\u002Fgetting-started","1.docs\u002F01.getting-started\u002F1.index",[13,15],{"title":14,"path":10,"stem":11},"Bosca",{"title":16,"path":17,"stem":18},"Quickstart","\u002Fdocs\u002Fgetting-started\u002Fquickstart","1.docs\u002F01.getting-started\u002F2.quickstart",false,{"title":21,"path":22,"stem":23},"Kit","\u002Fdocs\u002Fkit","1.docs\u002F01.kit",{"title":25,"path":26,"stem":27,"children":28},"Content","\u002Fdocs\u002Fcontent","1.docs\u002F02.content\u002F1.index",[29,31,53],{"title":30,"path":26,"stem":27},"Content Strategy",{"title":32,"path":33,"stem":34,"children":35},"Metadata","\u002Fdocs\u002Fcontent\u002Fmetadata","1.docs\u002F02.content\u002F1.metadata\u002F1.index",[36,37,41,45,49],{"title":32,"path":33,"stem":34},{"title":38,"path":39,"stem":40},"Supplementary","\u002Fdocs\u002Fcontent\u002Fmetadata\u002Fsupplementary","1.docs\u002F02.content\u002F1.metadata\u002F2.supplementary",{"title":42,"path":43,"stem":44},"Documents","\u002Fdocs\u002Fcontent\u002Fmetadata\u002Fdocuments","1.docs\u002F02.content\u002F1.metadata\u002F3.documents",{"title":46,"path":47,"stem":48},"Guides","\u002Fdocs\u002Fcontent\u002Fmetadata\u002Fguides","1.docs\u002F02.content\u002F1.metadata\u002F4.guides",{"title":50,"path":51,"stem":52},"Bible","\u002Fdocs\u002Fcontent\u002Fmetadata\u002Fbible","1.docs\u002F02.content\u002F1.metadata\u002F5.bible",{"title":54,"path":55,"stem":56,"children":57},"Collections","\u002Fdocs\u002Fcontent\u002Fcollections","1.docs\u002F02.content\u002F2.collections\u002F1.index",[58],{"title":54,"path":55,"stem":56},{"title":60,"path":61,"stem":62,"children":63},"Workflows","\u002Fdocs\u002Fworkflows","1.docs\u002F03.workflows\u002F1.index",[64],{"title":60,"path":61,"stem":62},{"title":66,"path":67,"stem":68},"Search","\u002Fdocs\u002Fsearch","1.docs\u002F04.search",{"title":70,"path":71,"stem":72},"Profiles","\u002Fdocs\u002Fprofiles","1.docs\u002F05.profiles",{"title":74,"path":75,"stem":76},"Organizations","\u002Fdocs\u002Forganizations","1.docs\u002F06.organizations",{"title":78,"path":79,"stem":80,"children":81,"icon":99},"Engineering","\u002Fdocs\u002Fengineering","1.docs\u002F07.engineering\u002F1.index",[82,83,87,91,95],{"title":78,"path":79,"stem":80},{"title":84,"path":85,"stem":86},"Infrastructure","\u002Fdocs\u002Fengineering\u002Finfrastructure","1.docs\u002F07.engineering\u002F2.infrastructure",{"title":88,"path":89,"stem":90},"Backend Services","\u002Fdocs\u002Fengineering\u002Fservices","1.docs\u002F07.engineering\u002F3.services",{"title":92,"path":93,"stem":94},"Deployment","\u002Fdocs\u002Fengineering\u002Fdeployment","1.docs\u002F07.engineering\u002F4.deployment",{"title":96,"path":97,"stem":98},"Framework Modules","\u002Fdocs\u002Fengineering\u002Fframework","1.docs\u002F07.engineering\u002F5.framework","i-heroicons-wrench-screwdriver",{"title":101,"path":102,"stem":103},"Identity Management","\u002Fdocs\u002Fidentity","1.docs\u002F07.identity",{"title":105,"path":106,"stem":107},"Localization","\u002Fdocs\u002Flocalization","1.docs\u002F08.localization",{"title":109,"path":110,"stem":111},"Analytics","\u002Fdocs\u002Fanalytics","1.docs\u002F09.analytics",{"title":113,"path":114,"stem":115},"AI & Agents","\u002Fdocs\u002Fai","1.docs\u002F10.ai",{"title":117,"path":118,"stem":119},"Messaging & Email","\u002Fdocs\u002Fmessages","1.docs\u002F11.messages",{"title":121,"path":122,"stem":123},"Scheduler","\u002Fdocs\u002Fscheduler","1.docs\u002F12.scheduler",{"title":125,"path":126,"stem":127},"Backup & Restore","\u002Fdocs\u002Fbackup","1.docs\u002F13.backup",{"title":129,"path":130,"stem":131,"children":132},"Architecture","\u002Fdocs\u002Farchitecture","1.docs\u002F14.architecture\u002F1.index",[133,134,137,141,145,149,153,157],{"title":129,"path":130,"stem":131},{"title":92,"path":135,"stem":136},"\u002Fdocs\u002Farchitecture\u002Fdeployment","1.docs\u002F14.architecture\u002F2.deployment",{"title":138,"path":139,"stem":140},"Security","\u002Fdocs\u002Farchitecture\u002Fsecurity","1.docs\u002F14.architecture\u002F3.security",{"title":142,"path":143,"stem":144},"Telemetry","\u002Fdocs\u002Farchitecture\u002Ftelemetry","1.docs\u002F14.architecture\u002F4.telemetry",{"title":146,"path":147,"stem":148},"Administration","\u002Fdocs\u002Farchitecture\u002Fadministration","1.docs\u002F14.architecture\u002F5.administration",{"title":150,"path":151,"stem":152},"GraphQL Schema","\u002Fdocs\u002Farchitecture\u002Fgraphql","1.docs\u002F14.architecture\u002F6.graphql",{"title":154,"path":155,"stem":156},"Storage","\u002Fdocs\u002Farchitecture\u002Fstorage","1.docs\u002F14.architecture\u002F7.storage",{"title":105,"path":158,"stem":159},"\u002Fdocs\u002Farchitecture\u002Flocalization","1.docs\u002F14.architecture\u002F8.localization",{"title":161,"path":162,"stem":163},"Scripting","\u002Fdocs\u002Fscripting","1.docs\u002F15.scripting",{"title":165,"path":166,"stem":167},"Configuration","\u002Fdocs\u002Fconfiguration","1.docs\u002F16.configuration",{"title":169,"path":170,"stem":171},"Forms","\u002Fdocs\u002Fforms","1.docs\u002F17.forms",{"title":173,"path":174,"stem":175},"Segmentation & Campaigns","\u002Fdocs\u002Fsegmentation","1.docs\u002F18.segmentation",{"title":177,"path":178,"stem":179},"Devices & Push","\u002Fdocs\u002Fdevices","1.docs\u002F19.devices",{"id":181,"title":169,"body":182,"description":491,"extension":492,"meta":493,"navigation":494,"path":170,"seo":495,"stem":171,"__hash__":496},"docs\u002F1.docs\u002F17.forms.md",{"type":183,"value":184,"toc":478},"minimark",[185,189,194,223,227,232,239,264,268,274,293,297,300,370,374,392,395,398,401,427,431,434,454,457],[186,187,188],"p",{},"Bosca includes a form submission system for collecting structured data from users. Define form templates with custom fields, receive submissions, and track their lifecycle from pending through processing.",[190,191,193],"h2",{"id":192},"what-you-get","What you get",[195,196,197,205,211,217],"ul",{},[198,199,200,204],"li",{},[201,202,203],"strong",{},"Form Templates:"," Define reusable form schemas with custom attributes, field types, and validation requirements.",[198,206,207,210],{},[201,208,209],{},"Submissions:"," Collect user responses linked to profiles, with status tracking and review workflows.",[198,212,213,216],{},[201,214,215],{},"Notifications:"," Automatic notification events when submissions arrive, so your team never misses one.",[198,218,219,222],{},[201,220,221],{},"Administration:"," Manage templates and review submissions from the admin panel with permission-based access.",[190,224,226],{"id":225},"core-concepts","Core Concepts",[228,229,231],"h3",{"id":230},"form-templates","Form Templates",[186,233,234,235,238],{},"A ",[201,236,237],{},"FormTemplate"," defines the structure and behavior of a form. Each template includes:",[195,240,241,247,253,258],{},[198,242,243,246],{},[201,244,245],{},"Attributes"," — the fields your form collects, inherited from the content system's attribute model (labels, types, validation)",[198,248,249,252],{},[201,250,251],{},"Default Values"," — pre-filled attribute values applied when the form renders",[198,254,255,257],{},[201,256,165],{}," — notification recipients, rate limiting, and operational settings as JSON",[198,259,260,263],{},[201,261,262],{},"Versioning"," — templates track versions so you can evolve forms over time",[228,265,267],{"id":266},"form-submissions","Form Submissions",[186,269,234,270,273],{},[201,271,272],{},"FormSubmission"," records a completed form response. Each submission tracks:",[195,275,276,281,287],{},[198,277,278,280],{},[201,279,245],{}," — the submitted data as key-value pairs",[198,282,283,286],{},[201,284,285],{},"Profile"," — the submitter's profile (optional for anonymous submissions)",[198,288,289,292],{},[201,290,291],{},"Status"," — the current state in the review lifecycle",[228,294,296],{"id":295},"submission-status","Submission Status",[186,298,299],{},"Submissions follow a status lifecycle:",[301,302,303,315],"table",{},[304,305,306],"thead",{},[307,308,309,312],"tr",{},[310,311,291],"th",{},[310,313,314],{},"Description",[316,317,318,330,340,350,360],"tbody",{},[307,319,320,327],{},[321,322,323],"td",{},[324,325,326],"code",{},"PENDING",[321,328,329],{},"New submission awaiting review",[307,331,332,337],{},[321,333,334],{},[324,335,336],{},"PROCESSED",[321,338,339],{},"Reviewed and accepted",[307,341,342,347],{},[321,343,344],{},[324,345,346],{},"REJECTED",[321,348,349],{},"Reviewed and declined",[307,351,352,357],{},[321,353,354],{},[324,355,356],{},"SPAM",[321,358,359],{},"Flagged as spam",[307,361,362,367],{},[321,363,364],{},[324,365,366],{},"ARCHIVED",[321,368,369],{},"Moved to archive after processing",[190,371,373],{"id":372},"how-submissions-work","How Submissions Work",[375,376,377,380,386,389],"ol",{},[198,378,379],{},"A user submits a form by providing attribute values and an optional profile reference.",[198,381,382,383,385],{},"Bosca validates the submission against the template and stores it with a ",[324,384,326],{}," status.",[198,387,388],{},"A notification event fires automatically, alerting configured recipients.",[198,390,391],{},"Reviewers update the submission status as they process it.",[186,393,394],{},"Anonymous submissions are supported—if no profile is provided, one can optionally be created during submission.",[190,396,146],{"id":397},"administration",[186,399,400],{},"The Administration UI provides:",[195,402,403,409,415,421],{},[198,404,405,408],{},[201,406,407],{},"Template Editor"," — create and configure form templates in the settings panel",[198,410,411,414],{},[201,412,413],{},"Submissions Page"," — review, filter, and manage incoming submissions",[198,416,417,420],{},[201,418,419],{},"Status Management"," — update submission statuses individually or in bulk",[198,422,423,426],{},[201,424,425],{},"Permission Controls"," — restrict who can create templates and review submissions",[190,428,430],{"id":429},"for-developers","For developers",[186,432,433],{},"Related modules:",[195,435,436,442,448],{},[198,437,438,439],{},"Core interfaces: ",[324,440,441],{},"backend\u002Fframework\u002Fcore-forms",[198,443,444,445],{},"Implementation: ",[324,446,447],{},"backend\u002Fframework\u002Fforms",[198,449,450,451],{},"GraphQL schema: ",[324,452,453],{},"backend\u002Fframework\u002Fforms\u002Fsrc\u002Fmain\u002Fresources\u002Fgraphql\u002Fforms.graphqls",[186,455,456],{},"Related:",[195,458,459,466,472],{},[198,460,461,462],{},"Profiles: ",[463,464,465],"a",{"href":71},"User profiles",[198,467,468,469],{},"Notifications: ",[463,470,471],{"href":118},"Messaging",[198,473,474,475],{},"Workflows: ",[463,476,477],{"href":61},"Workflow automation",{"title":5,"searchDepth":479,"depth":479,"links":480},2,[481,482,488,489,490],{"id":192,"depth":479,"text":193},{"id":225,"depth":479,"text":226,"children":483},[484,486,487],{"id":230,"depth":485,"text":231},3,{"id":266,"depth":485,"text":267},{"id":295,"depth":485,"text":296},{"id":372,"depth":479,"text":373},{"id":397,"depth":479,"text":146},{"id":429,"depth":479,"text":430},"Collect structured data from users with customizable form templates, submission tracking, and automated notifications.","md",{},true,{"title":169,"description":491},"UXV-xQKdpRLqtLHdZx8h0_8CLFAWYrnvx-028-jNhDw",[498,500],{"title":165,"path":166,"stem":167,"description":499,"children":-1},"Manage platform settings with a centralized key-value configuration store.",{"title":173,"path":174,"stem":175,"description":501,"children":-1},"Build audience segments and deliver targeted campaigns across banner, email, and push channels.",1775411866387]