Documents the end-to-end process for adding a new client to the
Box-webhook-driven QC pipeline:
1. Box admin: create INCOMING + REPORTS folders, invite service account
2. Code: add box_folder_id / box_reports_folder_id / default_profile
to client_config.py, ship via PR
3. Verify service account access with `box_setup.py list-folder`
4. Register webhook via `box_setup.py register-all-clients` (or UI)
5. End-to-end test by uploading a sample asset, watching logs,
confirming report appears + source moves to _PROCESSED
6. Optional: tune default_profile from the Settings UI without a code
deploy
7. Promote to prod (develop→main PR, tag, deploy.sh prod)
Includes a gotchas table for the issues most likely to come up:
403s from missing collaborator invites, signature verification
failures, folder ID mismatches, replace-upload behavior, etc.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>