> Portal Navigation: > > - Append `.md` to any URL under `https://dev.wix.com/docs/` to get its markdown version. > - Pages are either content pages (article or reference text) or menu pages (a list of links to child pages). > - To get a menu page, truncate any URL to a parent path and append `.md` (e.g. `https://dev.wix.com/docs/sdk.md`, `https://dev.wix.com/docs/sdk/core-modules.md`). > - Top-level index of all portals: https://dev.wix.com/docs/llms.txt > - Full concatenated docs: https://dev.wix.com/docs/llms-full.txt ## Resource: Sample Flows ## Article: Sample Flows ## Article Link: https://dev.wix.com/docs/api-reference/crm/forms/other-services/intake-forms/sample-flows.md ## Article Content: # Intake Forms: Sample Flows This article presents possible use cases and corresponding sample flows that you can support. This can be a helpful jumping-off point as you plan your implementation. ## Send intake forms to customers who haven't completed them You can identify customers who haven't filled out required intake forms and send them submission links. This is useful for ensuring compliance before appointments or events. To send intake forms to customers who haven't completed them: 1. Call [Query Intake Forms](https://dev.wix.com/docs/api-reference/crm/forms/other-services/intake-forms/intake-forms/query-intake-forms.md) to get all existing forms on the site. 1. Call [Query Contacts](https://dev.wix.com/docs/api-reference/crm/members-contacts/contacts/contacts/contact-v4/query-contacts.md) with filters for the target customer group, such as by label or creation date. 1. Call [List Intake Form Data By Contacts](https://dev.wix.com/docs/api-reference/crm/forms/other-services/intake-forms/intake-form-submissions/list-intake-form-data-by-contacts.md) with the form IDs and contact IDs. 1. For each contact, check if `mostRecentSubmission` exists with `status` of `VALID`, `EXTENDED`, or `EXEMPT`. If not, the contact needs to complete the form. 1. For each intake form with contacts missing valid submissions, call [Create Customer Submission Link](https://dev.wix.com/docs/api-reference/crm/forms/other-services/intake-forms/intake-forms/create-customer-submission-link.md) with the intake form ID. 1. Share the generated link with the relevant customers via email or SMS. ## Approve all forms for a customer group You can automatically approve all intake forms for a specific customer group without requiring them to fill out forms. This is useful for VIP customers or special circumstances. To approve all forms for a customer group: 1. Call [Query Intake Forms](https://dev.wix.com/docs/api-reference/crm/forms/other-services/intake-forms/intake-forms/query-intake-forms.md) to get all existing forms. 1. Call [Query Contacts](https://dev.wix.com/docs/api-reference/crm/members-contacts/contacts/contacts/contact-v4/query-contacts.md) with filters for the target group. 1. Call [List Intake Form Data By Contacts](https://dev.wix.com/docs/api-reference/crm/forms/other-services/intake-forms/intake-form-submissions/list-intake-form-data-by-contacts.md) with form IDs and contact IDs. 1. For each contact, check the submission status: - If `mostRecentSubmission.status` is `VALID`, `EXTENDED`, or `EXEMPT`, no action is needed. - If `mostRecentSubmission.status` is `EXPIRED`, call [Extend Intake Form Submission](https://dev.wix.com/docs/api-reference/crm/forms/other-services/intake-forms/intake-form-submissions/extend-intake-form-submission.md) to revalidate. - If no `mostRecentSubmission` exists, call [Exempt Intake Form Submission](https://dev.wix.com/docs/api-reference/crm/forms/other-services/intake-forms/intake-form-submissions/exempt-intake-form-submission.md) to mark as exempt. ## Create a submission on behalf of a customer You can create an intake form submission programmatically when customers have completed forms offline, such as paper forms or phone calls. This is useful for importing existing waivers from another system. To create a submission on behalf of a customer: 1. Call [Query Intake Forms](https://dev.wix.com/docs/api-reference/crm/forms/other-services/intake-forms/intake-forms/query-intake-forms.md) to find the relevant intake form. For example, you could filter by form name. Save the intake form ID. 1. Call Wix Forms' [Get Form](https://dev.wix.com/docs/api-reference/crm/forms/form-schemas/get-form.md) with the intake form ID to retrieve the form schema. Review the returned `fields` to identify required field keys. 1. Call [Query Contacts](https://dev.wix.com/docs/api-reference/crm/members-contacts/contacts/contacts/contact-v4/query-contacts.md) to find the customer. Save their contact ID. 1. Optional: If the form requires a signature, obtain the customer's signature as a [data URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs). Convert the signature image to base64 format: `data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA...`. 1. Call Wix Forms' [Create Submission](https://dev.wix.com/docs/api-reference/crm/forms/form-submissions/create-submission.md) with: - `formId`: The intake form ID. - `submissions`: An object with field keys and values. Include at least `firstName` and `email`. Add `signature` if required. - `contactId`: The customer's contact ID. An intake form submission is automatically created. Its `signer` field is populated from the form submission's `firstName`, `lastName`, `email`, and `contactId`.