> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.propexo.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.propexo.com/_mcp/server.

# Sequencing & Data Hydration

In some integrations, Propexo delivers data in multiple stages rather than in a single, complete payload. This process — known as **sequencing and data hydration** — ensures you receive initial information as soon as possible, followed by additional details as they are retrieved from the connected property management system (PMS).

## Why Sequencing Happens

Many PMS integrations initially return only a **minimal dataset** for certain models such as residents, applicants, or leads. This might contain just an ID and a name. Propexo then makes one or more subsequent requests to retrieve the **full dataset**, which can include fields like phone numbers, email addresses, and other attributes.

Because of this, a single record may trigger **multiple webhook events** — an initial one with partial data, and one or more follow-ups containing the full set of fields.

## Example Scenario

1. A new resident is added to the PMS.
2. Propexo sends a **DATA\_NEW** webhook with only the resident's ID and name.
3. Propexo retrieves additional details such as phone numbers and email addresses.
4. A **DATA\_UPDATE** webhook is sent, adding these enriched details to the record.

## Handling Sequencing in Your Implementation

To ensure you receive and process complete records, consider the following approaches:

* **Subscribe to DATA\_NEW only** – Suitable if the initial minimal data is enough for your use case.
* **Subscribe to both DATA\_NEW and DATA\_UPDATE** – Ensures you capture both the initial creation and any additional details retrieved later.
* **Use webhooks as triggers for API calls** – Many customers treat webhooks as **notifications**, then call the associated API endpoint to retrieve the most up-to-date record. Example: Subscribe to DATA\_UPDATE for the leases model. When you receive an update webhook, call /leases/:id to fetch the full lease record.