Lead Intake Integration

Connect any form or platform to automatically create leads in My Customers.

Webhook Endpoint

POSThttps://energyiq.pro/functions/webhookLeadIntake

Also accepts GET for health checks / webhook verification challenges.

How it works

  • Point your third-party form (Typeform, Gravity Forms, Zapier, etc.) to POST to the URL above
  • Send Content-Type: application/json with the body below
  • Field name aliases are accepted — the system maps common naming conventions automatically
  • Duplicate phone numbers are detected and flagged automatically
  • Optional fields are stored as notes on the customer record
request-body.json — accepted field names
// POST https://energyiq.pro/functions/webhookLeadIntake
// Content-Type: application/json
{
  // Required
  "homeowner_name": "Jane Smith",      // or: full_name, name, firstName+lastName
  "homeowner_phone": "5551234567",     // or: phone_number, phone, mobile, cell

  // Optional
  "homeowner_email": "jane@email.com", // or: email, email_address
  "property_address": "123 Main St",   // or: address, home_address, street_address
  "products_interested": "Solar, HVAC",// or: interested_products, products, services
  "what_appeals": "Save money",        // or: appeals_most, motivation, interest_reason
  "avg_energy_bill": "180",            // or: average_energy_bill, monthly_bill, electric_bill
  "credit_score": "Good (700-749)"     // or: creditScore, credit
}
Field Reference
FieldRequiredAccepted Names
NameRequiredhomeowner_name, full_name, name, firstName+lastName, first_name+last_name
PhoneRequiredhomeowner_phone, phone_number, phone, mobile, cell
EmailOptionalhomeowner_email, email, email_address
AddressOptionalproperty_address, address, home_address, street_address
Products InterestedOptionalproducts_interested, interested_products, products, services
What Appeals MostOptionalwhat_appeals, appeals_most, motivation, interest_reason
Avg Energy BillOptionalavg_energy_bill, average_energy_bill, monthly_bill, electric_bill, utility_bill
Credit ScoreOptionalcredit_score, creditScore, credit

Response

// Success (new lead)
{ "success": true, "duplicate": false, "customer_id": "abc123" }

// Success (duplicate phone)
{ "success": true, "duplicate": true, "customer_id": "abc123" }

// Error
{ "success": false, "error": "Name and phone are required." }