# Cloudbeds Occupancy Workflow This workflow is the repeatable path for getting the newest Eagle Suites occupancy-report link from Gmail. ## Purpose Provide one consistent place to: - identify the latest Cloudbeds occupancy email - extract the newest report/download link - keep a lightweight summary of the latest result ## Current latest result - Subject: `Eagle Suites Occupancy` - From: `Cloudbeds Insights ` - Date: `Tue, 7 Apr 2026 11:01:28 +0000` - Primary link: `https://links.cloudbeds.com/U7jOc2a1y` - Resolved destination: tokenized Cloudbeds Data Insights page ## Files involved - `scripts/latest_cloudbeds_occupancy.py` - pulls the newest matching Gmail message - extracts all Cloudbeds links - identifies the primary link - can write a latest-status markdown file - `scripts/resolve_cloudbeds_link.py` - resolves the Cloudbeds short link - shows final destination and a small response preview - `latest-cloudbeds-occupancy-link.md` - current snapshot of the newest occupancy email and links ## Current operating query The Gmail query used is: ```text from:noreply@cloudbeds.com subject:"Eagle Suites Occupancy" newer_than:7d ``` ## Repeatable commands ### 1. Pull the latest occupancy email and save the summary ```bash python3 /Users/bobeagle/.openclaw/workspace/scripts/latest_cloudbeds_occupancy.py --write-md ``` ### 2. Resolve the primary Cloudbeds short link ```bash python3 /Users/bobeagle/.openclaw/workspace/scripts/resolve_cloudbeds_link.py --url https://links.cloudbeds.com/U7jOc2a1y ``` ## What works now - Gmail readonly search works - latest Cloudbeds occupancy emails can be found reliably - latest download/report links can be extracted reliably - short-link resolution works ## What does not fully work yet - direct parsing of the final Cloudbeds report payload into occupancy metrics - fully rendering client-side report pages without extra handling ## Best next evolution If deeper automation is needed later, the next upgrade should be: - browser-style extraction of the tokenized Cloudbeds report page - or direct export/download parsing if the report endpoint can be identified cleanly ## Practical note Even before deeper scraping is added, this workflow is already useful because it reliably surfaces the newest report link without manual inbox hunting.