Centris Property Monitoring
A stateful monitor for a restrictive external real-estate source: it verifies the complete listing set before trusting it, reconciles every observation against persisted state, classifies NEW and PRICE CHANGE transitions, commits state before notifying, and delivers controlled Telegram alerts across isolated failure boundaries.
- Owns
- Reconciles full listing sets before any notification ships
- Status
- Operational stateful monitor · full-set reconciliation · Telegram delivery
- Stack
- n8n · REST · Google Sheets · Telegram · JavaScript
Personal automation project with artifact-level operational evidence; the implementation is not publicly released.
Hard problem
Discovery, classification, persistence, and notification should remain separate failure boundaries.
Question · Did the monitored market state actually change?
APPLIES TO
Property monitoring workflows · Automation engineering · Stateful notification systems · n8n operational automation
PROOF
v8.1 · 28-node stateful workflow · full-set reconciliation · observed NEW + PRICE CHANGE Telegram delivery
CAPABILITIES
11 declared in the project record
- Scheduled full-set discovery
- Session-aware source requests
- Pagination coverage gates
- Persisted state reconciliation
- NEW/PRICE change classification
- State-overlap safety checks
- Detail validation
- Bounded processing
- Persist-before-notify semantics
- Telegram delivery state
- Source-contract drift handling
Operational proof
Source to alert.


Completeness checks
Pagination cardinality and overlap with persisted state are verified before the discovered set is trusted.Detail validation
Each candidate record goes through per-listing enrichment behind data-quality gates.State reconciliation
The observed set is diffed against persisted listing state held in Google Sheets.Classification
Every difference resolves to exactly one class: NEW, PRICE CHANGE, or UNCHANGED.Persistence
Reconciled state is committed before any external side effect is emitted.Controlled notification
Telegram alerts are paced deliberately and each delivery outcome is recorded.Valid runSource contract satisfied and completeness checks passed; only then is the observed set reconciled against persisted state.
Run is invalid: no reconciliation, no state mutation, no notification.
Incomplete acquisition, not a market event — no classification, no mutation, no notification.
Suppressed before reconciliation: no mutation for that record, no notification.
A valid, successful run with nothing to announce: no write, no notification.
Mutation does not commit, so nothing is notified — notification only ever follows a successful commit.
State stays committed and the listing is not rediscovered as NEW next cycle; delivery is a downstream failure, not a market event.
Reconciliation model
A poll is not an alert.
- 01
Observe
A record arrives from the source boundary during discovery. - 02
Normalize identity
Reduced to the stable listing identity reconciliation matches on — never raw page content. - 03
Compare with state
Matched against persisted state: known or unknown, price versus last recorded value. - 04
Classify
The diff yields exactly one outcome. There is no fourth class.
Engineering decisions
The constraints that matter.
Trust the set only after coverage checks
A successful partial response cannot become the market truth without pagination and cardinality validation.
Persist before notification
External notification failure must not make a known listing look new on the next cycle.
Separate source health from listing state
A scrape/data-quality failure is not a real-estate event and must not create false alerts.
Measurement contract
What would make the preferred answer fail?
EVALUATION METHOD
A monitoring run is successful only when the observed market set is complete enough to reconcile state without false new/change alerts.
Full-set pagination checks, state-overlap gates, source-contract regression fixtures, notification replay, and end-to-end listing-to-alert verification.
Set coverage
discovered count vs planned pagesCycle latency
schedule → reconciled stateChange fidelity
NEW / PRICE / unchanged classificationDuplicate alerts
repeat-notification preventionState integrity
persist-before-notify semanticsDelivery
Telegram delivery statusValidation
What the evidence actually supports.
Workflow nodes
VERIFIED28
Static audit of the packaged v8.1 workflow.
Code-node syntax
VERIFIED9 / 9
Syntax validation only; not live workflow execution.
Reachability
VERIFIED28 / 28 nodes reachable from triggers
Static workflow graph audit.
Centris request contract
VERIFIEDHTTP 200
Single sampled live debugging response.
Operational notification
VERIFIEDNEW LISTING + PRICE CHANGE delivered to Telegram
User-provided operational capture from the monitored workflow.
Source-to-alert match
VERIFIED$1,825,000 listing state appears at source and downstream alert
The public case study uses a single sanitized observed property as an artifact-level trace, not a market-wide accuracy claim.