Lead Intake Integration
Connect any form or platform to automatically create leads in My Customers.
Webhook Endpoint
POST
https://energyiq.pro/functions/webhookLeadIntakeAlso 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/jsonwith 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
| Field | Required | Accepted Names |
|---|---|---|
| Name | Required | homeowner_name, full_name, name, firstName+lastName, first_name+last_name |
| Phone | Required | homeowner_phone, phone_number, phone, mobile, cell |
| Optional | homeowner_email, email, email_address | |
| Address | Optional | property_address, address, home_address, street_address |
| Products Interested | Optional | products_interested, interested_products, products, services |
| What Appeals Most | Optional | what_appeals, appeals_most, motivation, interest_reason |
| Avg Energy Bill | Optional | avg_energy_bill, average_energy_bill, monthly_bill, electric_bill, utility_bill |
| Credit Score | Optional | credit_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." }