Smart Forms
Create intelligent intake forms with conditional logic, automate delivery based on bookings, and collect customer or staff information.
Overview
Smart Forms is a powerful system service that allows you to create custom intake forms, health questionnaires, consent forms, and more. Forms can be automatically sent to customers or staff based on booking triggers, with intelligent conditional logic to show or hide fields based on previous answers.
Creating Form Templates
Form templates are reusable form structures that can be linked to service groups. Each template includes:
- Title: The name of the form (e.g., "Health Intake Form", "Consent Waiver")
- Description: Optional description explaining the form's purpose
- Fields: The questions and input fields that make up the form
- Recipient: Whether the form is for customers or staff members
Templates are managed in the Smart Forms section of the dashboard. You can create new templates, edit existing ones, preview them before sending, and delete templates you no longer need.
Available Field Types
Smart Forms supports 15 different field types to collect various types of information:
Text Input Fields
- Text: Single-line text input for short answers
- Textarea: Multi-line text input for longer responses
- Email: Email address with validation
- Phone: Phone number input
- URL: Website address with validation
- Number: Numeric input only
Date & Time Fields
- Date: Date picker
- Time: Time picker
- DateTime: Combined date and time picker
Selection Fields
- Dropdown: Single selection from a list of options
- Radio: Single selection displayed as radio buttons
- Checkbox Group: Multiple checkboxes for selecting multiple options
- Yes/No: Simple yes or no question
Special Fields
- Signature: Digital signature capture for consent forms and agreements
Each field can be marked as required or optional, and can include placeholder text, validation rules, and conditional display logic.
Conditional Logic
Smart Forms supports conditional logic, allowing fields to be shown or hidden based on answers to previous questions. This creates dynamic forms that adapt to each respondent.
How Conditional Logic Works
Each field can have one or more conditional rules that determine when it should be displayed. A conditional rule consists of:
- Depends On Field: The field that this field's visibility depends on
- Operator: The comparison operator to evaluate
- Values: The value(s) that trigger the field to be shown
Supported Operators
- Equals / Not Equals: Check if the answer matches or doesn't match a specific value
- In / Not In: Check if the answer is or isn't in a list of values
- Contains / Not Contains: Check if the answer contains or doesn't contain specific text
- Is Empty / Is Not Empty: Check if the field has been left blank or has any value
- Answered: Check if the field has been answered at all
Example Use Cases
- Show allergy details field only if customer answers "Yes" to "Do you have any allergies?"
- Display pregnancy-related questions only if customer selects "Female" for gender
- Show medication list field only if customer indicates they take regular medications
- Display additional consent fields based on the type of treatment selected
Automation Rules
Forms are automatically sent to recipients based on automation rules configured when linking forms to service groups. Each form link includes two key settings:
Send On (Timing)
Controls when the form is sent relative to the booking time. You can configure:
- Minutes before booking: Send X minutes before the appointment
- Hours before booking: Send X hours before the appointment
- Days before booking: Send X days before the appointment
If the calculated send time has already passed when the booking is created, the form is sent immediately instead.
Send When (Frequency)
Controls how often the form should be sent to the same customer:
- First Time Only: Send only to first-time customers who have never filled out this form
- Always: Send the form every time a booking is made
- Not Filled in Last N Months: Send only if the customer hasn't filled out this form in the specified number of months
Idempotency
The system prevents duplicate form sending. If a form submission already exists for a specific booking, template, and recipient combination, the form will not be sent again.
Recipient Types
Forms can be sent to two different recipient types:
Customer Forms
Forms sent to customers via email and SMS. These are typically used for:
- Health intake questionnaires
- Medical history forms
- Consent and waiver forms
- Pre-appointment questionnaires
- Allergy and medication information
Customers receive a unique link via email and SMS that allows them to fill out the form on any device. The link includes a secure hash that identifies the specific form submission.
Staff Forms
Forms sent to staff members. These can be used for:
- Internal checklists
- Treatment notes
- Post-appointment documentation
- Staff feedback forms
Staff forms are sent to the staff member assigned to the booking.
Form Delivery
When a form is scheduled to be sent, the system:
- Generates a unique hash for the form submission
- Creates a form submission record linked to the booking and customer
- Sends an email with a link to fill out the form
- Sends an SMS notification (optional, will not fail if SMS delivery fails)
Form Filling Experience
Recipients click the link in their email or SMS to access the form. The form is displayed in a web interface where they can:
- Fill out all required and optional fields
- See conditional fields appear based on their answers
- Save progress and return later (for customer forms)
- Submit the completed form
Preview and Testing
Before linking a form to service groups, you can generate a preview link to test the form. This allows you to:
- See how the form looks to recipients
- Test conditional logic
- Verify field validation
- Check the overall user experience
Resending Forms
If a customer doesn't receive or loses the form link, you can manually resend it from the dashboard. The same unique link will be sent again.
Viewing Submissions
All completed form submissions are stored and can be accessed in multiple ways:
By Booking
View all form submissions associated with a specific booking. This is useful when reviewing customer information before an appointment.
By Customer
View all form submissions from a specific customer across all their bookings. This provides a complete history of the customer's information over time.
All Submissions
Browse all form submissions in a table view with filtering and search capabilities.
PDF Export
Each form submission can be exported as a PDF for printing, archiving, or sharing. The PDF includes:
- Form title and description
- All submitted answers
- Digital signatures (if included)
- Submission date and time
- Customer information
