Embedding Request Forms

Overview

BluePro Embeddable Forms allow you to add customizable contact/request forms to any website that automatically create contacts and service requests in your BluePro workspace. This powerful feature enables you to capture leads directly from your website while maintaining your existing workflow.

Key Features

Getting Started

Step 1: Access the Embed Form Generator

  1. Log into your BluePro dashboard
  2. Navigate to IntegrationsEmbed Form
  3. You’ll see the Embed Form Generator

Step 2: Configure Your Form

Basic Settings

Include Property/Address Fields

Thank You Message

Theme Customization

Primary Color

Border Radius

Font Family

Step 3: Generate API Key

Before you can use the embed code, you need to create an API key:

  1. In the Form Code section, enter a descriptive name for your form
  2. Click Create Form
  3. Your API key will be generated and automatically included in all code snippets
  4. Important: API keys are shown only once for security. Save it if needed for manual use.

Step 4: Get Your Embed Code

Choose the integration method that best fits your website:

HTML/JavaScript (Universal)

Perfect for any website or CMS. Simply copy and paste the provided code where you want the form to appear.

Next.js/React

Optimized for React applications with proper cleanup and TypeScript support.

WordPress

Includes a custom shortcode for easy integration. Add the code to your theme’s functions.php file, then use [bluepro_form] anywhere in your content.

Form Fields Explained

Required Fields

Optional Property Fields (when enabled)

Additional Features

What Happens When Someone Submits Your Form

  1. Contact Creation:
  1. Property Creation (if address provided):
  1. Request Creation:
  1. Notifications:

Troubleshooting

Form Not Appearing

  1. Check Container Element: Ensure the target element exists (e.g., #bluepro-form-container)
  2. Verify API Key: Make sure your API key is valid and not revoked
  3. Check Browser Console: Look for JavaScript errors
  4. Test Network: Ensure your website can reach BluePro servers

Submissions Not Creating Records

  1. Check Required Fields: All required fields must be completed
  2. Validate Data Format: Email and phone must be in correct format
  3. Review Rate Limits: Check if you’ve exceeded submission limits

Styling Issues

  1. CSS Conflicts: Your website’s CSS might override form styles. This may be intended to keep your website’s style uniform.
  2. Theme Settings: Adjust colors and fonts in the Form Configuration panel
  3. Responsive Design: Test on different screen sizes
  4. Browser Compatibility: Ensure your target browsers are supported

Best Practices

Form Placement

Customization

Data Management

Performance

API Reference

JavaScript SDK

// Create and render a form
const form = window.BluePro.createForm({
  target: '#bluepro-form-container',
  apiKey: 'your-api-key',
  workspaceId: 123,
  config: {
    includePropertyFields: true,
    thankYouMessage: 'Thank you! We will contact you soon.',
    theme: {
      primaryColor: '#0070f3',
      borderRadius: '8px',
      fontFamily: 'sans-serif'
    }
  }
});

form.render();

// Programmatic methods
form.validate();           // Validate current form data
form.getFormData();       // Get current form values
form.setFormData(data);   // Pre-populate form fields
form.destroy();           // Remove form from DOM

Configuration Options

interface EmbedConfig {
  target: string;                    // CSS selector for container
  apiKey: string;                   // Your workspace API key
  workspaceId: number;              // Your workspace ID
  apiUrl?: string;                  // API endpoint (usually auto-detected)
  config?: {
    includePropertyFields?: boolean; // Show address fields
    thankYouMessage?: string;       // Success message
    submitButtonText?: string;      // Button text
    theme?: {
      primaryColor?: string;        // Hex color code
      borderRadius?: string;        // CSS border-radius value
      fontFamily?: string;          // CSS font-family value
    };
    customFields?: string[];        // Custom field IDs
  };
}