Related Articles
Form Lead Sources
Overview
Form lead sources allow you to create customizable web forms that capture leads directly into brayv.ai. When someone submits a form, they're automatically added as a contact (or their existing contact record is updated) and can be enrolled in a journey for automated follow-up.
Forms are perfect for:
- Website contact forms
- Service request forms
- Quote request forms
- Newsletter signups with lead capture
- Landing page forms
Creating a Form
Step 1: Go to Settings > Lead Sources
Step 2: In the "Add New Source" section, click "Form"
Step 3: Enter a Name for your form (internal use only, not shown to users)
Step 4: Configure all settings (detailed below)
Step 5: Click "Create Form"
Form Configuration
Basic Settings
Name (Required)
- Internal name for the form
- Not visible to form visitors
- Example: "Website Contact Form", "Pool Quote Request"
Description (Optional)
- Internal notes about the form's purpose
- Helps your team understand what this form is for
CTA Text
- Call-to-action text displayed above the form
- Example: "Get a Free Quote!", "Request Service", "Contact Us"
- Leave blank if you don't want a CTA section
- Make sure if you don't put a CTA on your form, you have one on your website near the form 🙂
Submit Button Text
- Text shown on the submit button
- Default: "Submit"
- Customize: "Get My Quote", "Send Request", "Contact Me", etc.
Success Message
- Message shown after successful form submission
- Default: "Thank you for your submission!"
- Customize: "Thanks! We'll text you shortly.", "Your request has been received!"
Redirect URL (Optional)
- Redirect user to a specific URL after submission
- Example: Thank you page, confirmation page
- If provided, user is redirected to your thank you page instead of seeing success message
- Enables you to use tracking scripts on your site for form submissions
Active/Inactive Toggle
- Control whether the form accepts submissions
- Inactive forms show an error when someone tries to submit
- Useful for temporarily disabling forms
Form Fields
Forms collect contact information through configurable fields.
Standard Fields Available:
- first_name - First Name
- last_name - Last Name
- full_name - Full Name
- email - Email
- phone - Phone Number
- business_name - Business Name
- website - Website
- street_address - Street Address
- city - City
- state - State
- zip_code - ZIP Code
- country - Country
- birthday - Birthday
- timezone - Timezone
Custom Fields: Any custom fields you've created (Settings > Custom Fields) can also be added to forms.
Field Configuration: For each field you can set:
- Label - Text shown above/beside the field
- Placeholder - Example text shown inside the field
- Required - Whether the field must be filled out
- Field Order - Drag fields to reorder them
Managing Fields:
To Add a Field:
- Click "Add Field" button
- Select standard field or custom field
- Configure label, placeholder, and required status
To Remove a Field:
- Click the trash icon next to the field
To Reorder Fields:
- Drag the handle (six dots) icon to reorder
Recommended Minimum Fields:
- First Name (required)
- Phone Number (required) - Essential for contact matching
- One field describing their request (custom field or standard field like service_description)
Opt-In Settings
Opt-in checkboxes ensure compliance with A2P 10DLC and TCPA messaging regulations and build trust with your visitors.
Opt-In #1 (SMS/Text Messaging)
Enable Opt-In: Toggle to show/hide this opt-in checkbox
Required: Make the checkbox required (recommended for SMS compliance)
Opt-In Text: Default text (recommended):
By submitting my phone number I agree to receive calls and or text messages from (insert your business name). Carrier message and data rates may apply. Calls may include AI or machine generated voices. Message frequency varies. You can reply STOP at any time to opt-out of texting.
Why This Matters:
- Required for SMS compliance regulations
- Protects your business
- Sets proper expectations with leads
- Highly Recommended - Always use opt-ins for forms that collect phone numbers
Opt-In #2 (Email/Marketing)
Enable Opt-In 2: Toggle to show/hide second opt-in checkbox
Required: Make the checkbox required (optional)
Opt-In 2 Text: Default text:
I agree to receive email newsletters and promotional offers from this business. You can unsubscribe at any time.
Use For:
- Email newsletter signups
- Marketing email consent
- Separate consent for different communication types
- Not typically legally required (consult legal counsel, we're not your attorney), but still best practice
Bot Protection (Cloudflare Turnstile)
Enable Turnstile
- Toggle to enable Cloudflare Turnstile bot protection
- Adds an invisible or minimal challenge to prevent spam submissions
- Free protection from bots and automated submissions
- Similar to CAPTCHA but less intrusive and generally more effective
When to Use:
- Forms on public-facing websites
- High-traffic forms
- If you're experiencing spam submissions
When to Skip:
- Internal forms
- Forms with very low traffic
- Forms behind login/authentication
Setup: Enabling Turnstile requires Cloudflare Turnstile to be configured in your account settings (should be automatic). Contact support if you experience trouble with cloudflare turnstyle.
Visual Styling
Border Radius
- Controls how rounded form corners are
- Range: 0-20 pixels
- 0 = square corners, 20 = very rounded
Show Field Borders
- Toggle to show/hide borders around form fields
- Recommended: Keep enabled for clarity
Show Field Labels
- Toggle to show/hide labels above fields
- Recommended: Keep enabled unless you have very clear placeholders
Show Placeholders
- Toggle to show/hide placeholder text inside fields
- Recommended: Keep enabled for better user experience
CTA Color
- Color for Text in CTA
- Leave blank to use default
- Enter hex color code (e.g., #3B82F6) or click on the color to use color picker
Button Color
- Color of the submit button
- Leave blank to use default (blue)
- Enter hex color code (e.g., #10B981) or click on the color to use color picker
Dark Mode
- Toggle to enable dark mode styling
- Use if embedding on dark-themed websites
- Changes text colors and backgrounds appropriately
AI-Powered Styling
Custom CSS
- Advanced: Add custom CSS to further style your form
- For developers familiar with CSS
AI Styling Generation
- Describe how you want your form to look
- AI generates custom CSS for you
- Example: "Make the first name and last name field be in the same row"
To Use AI Styling:
- Enter a description in the AI Prompt field
- Click "Generate Styling"
- Review the generated CSS in the Custom CSS field
- Test in the preview
- Adjust prompt and regenerate if needed
Journey Enrollment Rules
Control which contacts get added to which journeys based on form data.
Basic Enrollment:
Add All Submissions to Journey:
- Enable "Add to Journey"
- Select the journey in the "Default Journey" dropdown
- All form submissions will be added to that journey
Conditional Enrollment (Rules):
- You must create the form first. After it is created, you can click the "View Details" button for it on the Lead Sources page.
- Then click the "Edit Form" button
- Scroll to the Customer Journey Settings section
Set up rules to add different contacts to different journeys based on their form submission data.
Example Use Case: If your form asks "What service are you interested in?", route HVAC requests to your HVAC Journey and Plumbing requests to your Plumbing Journey.
To Set Up Rules:
- Click "Add Rule" in the Journey Enrollment section
- Select which field to evaluate
- Choose the condition (equals, contains, etc.)
- Enter the value to match
- Select which journey to add matching contacts to
- Set rule priority order (rules are evaluated top-to-bottom)
- Example: If {contact.service_type} contains "electric" → Add to "Electric Leads Journey"
Rule Configuration:
- Field - Which contact field to check
- Condition - equals, not_equals, contains, starts_with, ends_with
- Value - The value to match against
- Journey - Which journey to enroll the contact in
- Order - Rules are evaluated in order, first match wins
Multiple Rules:
- Add multiple rules for different scenarios
- Drag to reorder rule priority
- First matching rule wins (no further rules are evaluated)
- If a submission comes in that doesn't match any of the rules, the opportunity will be created in the journey you selected as "Default Journey"
Contact Field Settings
Configure default values for contact fields from form submissions.
Friendly Source
- Human-readable description of where the contact came from
- Used by AI agents in conversation ("You reached out through {friendly_source}")
- Example: "our website", "Facebook ad about pool installations"
- Highly Recommended - Helps AI personalize conversations
Hook Mode Choose how to set the contact's "hook" (what they're interested in):
Don't Set Hook - Leave hook field blank (not recommended)
Static Text - Set the same hook for all submissions
- Example: "HVAC services", "pool installation"
- Use when all form submissions are about the same thing
From Field - Pull hook value from a form field
- Select which field contains the hook value
- Example: If form has "Service Interested In" field, use that
- Recommended - Most flexible option
Notification Settings
Get notified when forms are submitted.
Enable Notifications: Toggle to turn on notifications
Notify Users:
- Select which team members should be notified
- Can select multiple users
Notification Channels:
- Email - Send email notification
- In-App - Show in-app notification
What's Included in Notifications:
- Contact name
- Form name
- Key field values
- Link to contact record
- Whether or not they were added to a Journey
Embedding Your Form
After creating a form, you need to embed it on your website.
Embed Options
Option 1: iFrame Embed (Recommended)
Copy the provided embed code and paste it into your website's HTML before the closing </body> tag.
<!-- BRAYV Form -->
<iframe
id="brayv-form-[ID]"
src="[EMBED_URL]"
width="100%"
height="400"
frameborder="0"
style="border: none; display: block; max-width: 100%;"
></iframe>
<script>
(function() {
var iframe = document.getElementById('brayv-form-[ID]');
window.addEventListener('message', function(e) {
if (e.data && e.data.type === 'brayvFormResize') {
iframe.style.height = e.data.height + 'px';
}
});
})();
</script>
<!-- End BRAYV Form -->
Benefits:
- Auto-resizing to fit content
- No styling conflicts
- Works on any website platform
Option 2: Direct Link
Share the embed URL directly:
- As a standalone landing page
- In emails or social media
- For QR codes
Testing Your Form
Before Going Live:
- Use the Preview tab to see how your form looks
- Submit a test entry
- Verify:
- Contact was created/updated correctly
- Journey enrollment happened if configured
- Notifications were sent if configured
- Success message/redirect works correctly
- Check the contact record in brayv.ai
How Form Submissions Work
Contact Matching
When a form is submitted:
If phone number matches an existing contact:
- Existing contact is updated with new information
- Tags and custom fields are updated/added
- No duplicate contact is created
If phone number doesn't match:
- New contact is created
- All form fields are saved to contact record
Note: Matching is by phone number only. Email addresses are not used for matching.
Data Flow
- User submits form
- Bot protection verification (if enabled)
- Opt-in validation (if required opt-ins exist)
- Contact created or updated
- Custom fields saved
- Friendly source and hook applied
- Journey enrollment rules evaluated
- Contact added to journey (if applicable)
- Notifications sent (if enabled)
- Success message shown or redirect happens
Best Practices
Always Use Opt-Ins
For Forms Collecting Phone Numbers:
- Enable SMS opt-in
- Make it required
- Use the default compliant text
- This protects your business and ensures compliance
Configure Friendly Source and Hook
These fields significantly improve AI conversation quality:
- Friendly Source: "our website", "Facebook ad about kitchen remodeling"
- Hook: Use form field to capture what they're interested in
Start with Essential Fields Only
Recommended Minimum:
- First Name (required)
- Phone (required)
- Service/interest field (if form will be on a page where leads may be interested in various services)
Why Less is More:
- Higher conversion rates
- Less friction
- AI can ask follow-up questions
Use Journey Enrollment Rules
If your form can capture different types of leads:
- Set up conditional rules
- Route leads to appropriate journeys
- Ensure right AI agent handles each lead type
Test Bot Protection
If you enable Cloudflare Turnstile:
- Test the form yourself
- Make sure it doesn't create too much friction
- Monitor spam submission rates
Style for Your Brand
Minimum Styling:
- Set button color to match your brand
- Enable/disable dark mode based on your site
- Adjust border radius to match your site's style
Advanced Styling:
- Use AI styling generation
- Add custom CSS if needed
- Preview before publishing (put it on a test page on your website first)
Monitor Form Performance
In Lead Sources:
- Check submission count
- Review recent submissions
- Monitor for spam or issues
In Contacts:
- Track conversion rates
- Monitor journey enrollment success
- Review AI engagement with form leads
Troubleshooting
Problem: Form not submitting
Solution:
- Check that form is set to "Active"
- Verify required fields are filled out
- If using Turnstile, ensure Cloudflare is configured correctly
- Check browser console for errors
Problem: Contacts not being created
Solution:
- Verify account has contact creation permissions
- Check that phone number is properly formatted (10 digits, US/Canada)
- Review form submission history for errors
- Check for validation errors in form configuration
Problem: Contacts not being added to journey
Solution:
- Verify journey enrollment is enabled
- Check that journey rules are configured correctly
- Ensure selected journey exists and is active
- Review rule conditions and order
- Check contact record to see if they're already in the journey
- Ensure you have a default journey selected
Problem: Form looks wrong on my website
Solution:
- Adjust iframe width/height in embed code
- Enable/disable dark mode to match your site
- Adjust styling options (border radius, colors)
- Use custom CSS for advanced adjustments
- Ensure embed code is placed correctly in HTML
Problem: Getting spam submissions
Solution:
- Enable Cloudflare Turnstile bot protection
- Make opt-ins required (adds friction that bots often fail)
- Monitor submission patterns
Problem: Opt-in checkbox not showing
Solution:
- Ensure "Enable Opt-In" is toggled on
- Save form after enabling
- Clear browser cache and reload
- Check form preview to verify
Problem: Notifications not being sent
Solution:
- Verify notifications are enabled
- Check that users are selected
- Ensure desired notification channels (email/in-app) are selected
- Verify team members have valid email addresses
- Check spam folder for email notifications (if lands in spam, explicitly mark as NOT SPAM, so your email provider knows you want to receive these emails)
Related Features
- Customer Journeys - Automatically route form leads into journeys
- AI Text Agents - Follow up with form leads automatically
- Managing Contacts - View and manage contacts created from forms