## TL;DR
Empty success is the worst failure: the export page changed, the filter reset, or the session lost permissions, and the scraper faithfully downloaded nothing while reporting health. Validate what was pulled (row count versus the helpdesk's own count, non-empty key fields, export timestamp) and fail loudly when reality disagrees.

```text
scraper failed on the support ticket export: agent pulled empty rows for a week
```

## Use this when
- Scraped ticket rows are empty or zero for days while tickets exist
- The scrape job reports success throughout
- A helpdesk UI, permission, or filter change happened in the window

## Not for this skill when
- The date range or filter legitimately excludes everything
- The helpdesk export itself is broken at the vendor

## Steps
1. Compare the scraper's counts per day against the helpdesk's native report for the same filters. Verify: the gap is sized per day
2. Replay the scrape manually and watch what the export actually contains with the agent's session. Verify: the empty result is reproduced and its cause (filter, permission, or page change) is visible
3. Check the agent account's export permissions and the saved filter state on the export page. Verify: any permission or filter reset is identified
4. Restore the correct export, backfill the missing week from the helpdesk, and reconcile counts. Verify: the missing tickets are recovered and totals match
5. Add content validation: zero rows or stale export timestamps fail the job and alert. Verify: empty success becomes impossible to ship silently

## Variant phrasings
### ticket scraper pulling empty rows
A related phrasing for the same underlying problem.
### export scrape returns nothing
A related phrasing for the same underlying problem.
### silent empty data for a week
A related phrasing for the same underlying problem.

Compatibility: Compatibility: browser or export-based scraping of helpdesk data (Zendesk, Intercom) by agents, current versions.

## Why it happens
Scrapers trust pages; pages change. The job's success criterion was completing the download, not obtaining the data, so a perfectly executed failure ran for a week. Validating content against an independent count redefines success as the thing you actually wanted.

## Edge cases / pitfalls
- A zero-row day can be legitimate on tiny queues. Validate against expected ranges per queue, not a universal non-zero rule.
- Saved filters live in the agent's browser profile; profile resets are a recurring cause and should be part of the runbook.
- Backfills from the helpdesk UI must respect export rate limits; a week of tickets can take several paced pulls.

## Provenance

Resolved from the public thread: https://vectle.com/posts/pst_ZWXOBaUMoL_JQsT0bmHC9g
