Overview
Make (formerly Integromat) calls Propera's HTTP API with its built-in HTTP module, so there's no app to install on Propera's side. A free Make account supports multi-step scenarios and routers, so you can branch on success vs. failure without paying.
What you'll build
One scenario: CRM trigger → HTTP "Make a request" (Propera) → Router → CRM update (one route for success, one for failure).
Before you start
- A Propera account on the Pro or Business plan, and a Propera API key (Step 1).
- A Make account (the free tier works for moderate volume).
- Your CRM connected to Make.
Step 1 — Generate your Propera API key
In Propera, go to Account Settings → API Keys, click Generate API Key, name it (for example Make), and copy it. It's shown only once.
Step 2 — Add a trigger from your CRM
Start a new scenario and add your CRM as the first module (watch new/updated records), or a "Custom webhook" the CRM posts to. Use a deliberate "ready" signal (a status field set to Run ARV, or a filter that requires the key fields) so it doesn't run on half-entered leads.
Step 3 — Add the HTTP "Make a request" module
- URL:
https://getpropera.com/api/v1/arv - Method:
POST - Headers:
X-API-Key= your key, andContent-Type=application/json - Body type: Raw, content type JSON, with the lead's fields mapped in:
{
"address": "{{ lead address }}",
"property_type": "sfh",
"bedrooms": {{ beds }},
"bathrooms": {{ baths }},
"sqft": {{ sqft }},
"year_built": {{ year }},
"comp_radius": 5
}
Turn on Parse response so Propera's JSON fields become mappable in later modules.
(See Make's help docs for the HTTP module.)
Step 4 — Route the result back to your CRM
Add a Router after the HTTP module:
- Route A (filter
success = true): your CRM "Update a record", mappingarv,summary_text, andrun_url. - Route B (filter
success = false): your CRM "Update a record", writingerrorinto a notes/error field.
Request fields
| Field | Value | Required |
|---|---|---|
address | The lead's full address (street, city, state, ZIP) | Always |
property_type | sfh, condo, townhouse, manufactured, or land (case-insensitive) | Always |
bedrooms | Number of bedrooms | Residential |
bathrooms | Number of bathrooms | Residential |
sqft | Living area for residential, or lot size for land | Always |
year_built | Year the property was built | Residential |
comp_radius | Search radius in miles (residential up to 15, land up to 50) | Always |
lot_size_unit | sqft or acres | Land only |
Response fields
| Field | Description |
|---|---|
success | true on success, false on failure (branch on this) |
arv | The estimated ARV |
arv_confidence | high, medium, or low |
summary_text | One-line summary for a notes field |
comp_count | Number of comparables used |
comps_radius_miles | The search radius used, in miles |
price_per_sqft | Average price per square foot |
run_url | Link to view the full run in Propera |
comps | Array of comps (address, price, sqft, beds, baths, price_per_sqft, distance_mi, sold_date, zillow_url) |
error | On failure, a human-readable reason |
error_code | On failure, a machine-readable code (see Troubleshooting) |
Troubleshooting
| error_code | What it means | Fix |
|---|---|---|
INSUFFICIENT_COMPS | Not enough comps at that radius | Widen comp_radius (residential up to 15 mi, land up to 50 mi) |
NO_USABLE_COMPS | Comps were found but none passed the filters | Widen comp_radius (residential up to 15 mi, land up to 50 mi) |
ADDRESS_NOT_FOUND | The address could not be matched | Include a street number; for rural roads try an alternate name |
PLAN_NOT_ELIGIBLE | Your plan doesn't include API access | Upgrade to Pro or Business |
UNAUTHORIZED | The API key is missing, wrong, or revoked | Check the X-API-Key header |
Ready to auto-underwrite your pipeline?
Generate your API key and connect your CRM in minutes.
Get Started