Overview
Podio Workflow Automation (still widely known as GlobiFlow) includes a Remote HTTP Call action that can POST to Propera's API and read the JSON response back into your Podio fields. That means a fully native Podio integration with no extra subscription beyond Podio Premium.
What you'll build
One GlobiFlow flow: trigger on item create or update → Remote HTTP Call (Propera) → parse the response → Update Item.
Before you start
- A Propera account on the Pro or Business plan, and a Propera API key (Step 1).
- Podio with Workflow Automation (GlobiFlow) enabled (included with Podio Premium).
- A Podio app/item with fields for the address, property type, beds, baths, sqft, year, comp radius, and a status field plus result fields (ARV, summary, notes).
Step 1 — Generate your Propera API key
In Propera, go to Account Settings → API Keys, click Generate API Key, name it (for example Podio), and copy it. It's shown only once.
Step 2 — Create a flow with a "ready" trigger
In GlobiFlow, create a flow on your leads app triggered when an item is created or updated. Add a filter so it only runs when a status field equals something like Run ARV, that way the analysis runs only when you say the lead is ready.
Step 3 — Add a Remote HTTP Call action
- Method/URL: POST to
https://getpropera.com/api/v1/arv - Headers (open the
(OPT)header section):Content-Type:application/jsonandX-API-Key:YOUR_KEY - POST Params: the JSON body, with your Podio field tokens inserted:
{
"address": "[(Lead) Property Address]",
"property_type": "[(Lead) Property Type]",
"bedrooms": "[(Lead) Bedrooms]",
"bathrooms": "[(Lead) Bathrooms]",
"sqft": "[(Lead) Square Footage]",
"year_built": "[(Lead) Year Built]",
"comp_radius": "[(Lead) Comp Radius (miles)]"
}
[(Item Title) Field Label] — the part in parentheses is the app's item title (the singular item name, e.g. an app called "Seller Leads" has items titled Lead), and the labels must match your fields exactly. Swap both for whatever yours are called, and insert them from GlobiFlow's token picker rather than typing them by hand. Also wrap every token in quotes, including the numbers: a Podio number field can render with a comma (2,200) or be empty on a partly filled lead, and an unquoted token there would produce invalid JSON. Quoting keeps the body valid; Propera reads the numbers either way.(See the GlobiFlow Remote HTTP Call docs.)
Step 4 — Parse the response and update the item
The Remote HTTP Call captures Propera's JSON response into a variable. Give it a name (for example propera) in the call's Capture Result setting. Then add an Update Item action and extract each value with GlobiFlow's preg_match_gf() function.
Three details make or break this step:
- Use calculation mode, not value mode. In each field of the Update Item action, switch the value to a calculation. In value mode GlobiFlow writes your formula into the field as literal text instead of running it.
- Reference the variable as
[(Variable) propera]inside the calculation (not<propera>, which is the syntax used elsewhere). preg_match_gfneeds a third argument — the capture-group index to return. Leaving it off throwsArgumentCountError: Too few arguments... 2 passed... 3 expected. Pass1to return the first capture group as a string.
Map these calculations onto your result fields:
| Field | Calculation |
|---|---|
| ARV | preg_match_gf('/"arv":\s*([0-9.]+)/', [(Variable) propera], 1) |
| Summary | preg_match_gf('/"summary_text":"([^"]+)"/', [(Variable) propera], 1) |
| Confidence | preg_match_gf('/"arv_confidence":"([^"]+)"/', [(Variable) propera], 1) |
| Comp count | preg_match_gf('/"comp_count":\s*([0-9]+)/', [(Variable) propera], 1) |
| Price / sqft | preg_match_gf('/"price_per_sqft":\s*([0-9.]+)/', [(Variable) propera], 1) |
| Run link | preg_match_gf('/"run_url":"([^"]+)"/', [(Variable) propera], 1) |
| Comps (full list) | str_replace('\n', "\n", preg_match_gf('/"comps_text":"([^"]+)"/', [(Variable) propera], 1)) |
| Error | preg_match_gf('/"error":"([^"]+)"/', [(Variable) propera], 1) |
The comps_text field is a ready-to-paste block with one comparable per line (address, price, sqft, beds/baths, price per sqft, distance, sold date, and a Zillow link). Map it to a large (multi-line) text field. The extra str_replace('\n', "\n", ...) wrapper turns the JSON line breaks into real line breaks in Podio; without it the whole list still lands, just on one line. (Prefer the structured per-comp data instead? Every comp is also in the response's comps array.)
podio_html_to_item_field script via a Remote HTTP Call.Then set the status field to Done. On a failure response the error calculation fills in and arv comes back empty, so you can branch the status to Error.
success value (true/false) with a GlobiFlow condition to decide whether to write the ARV or the error message. To validate a calculation in the editor, use simulate vars and paste a sample propera response — otherwise the variable is empty and the match returns FALSE, which is expected at edit time, not a real failure.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 |
year_built | Year the property was built | Residential |
sqft | Living area for residential, or lot size for land | Always |
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 after-repair value estimate |
arv_confidence | Confidence in the ARV (high / medium / low) |
summary_text | One-line summary for a notes field |
comp_count | Number of comparables used |
price_per_sqft | Average price per square foot |
run_url | Link to the saved run in Propera |
comps_text | Ready-to-paste plain-text list of every comp (one per line, with Zillow links) for a single large text field |
comps | Structured array of each comp (address, price, sqft, beds, baths, ppsf, distance, sold date, Zillow link) |
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 Podio pipeline?
Generate your API key and wire up GlobiFlow in minutes.
Get Started