Submittal Tracker
Daily digest of open submittals — aged by 14/21/28-day windows, plus items past their target return date.
What it does
Reads your SubmittalLog Google Sheet, filters to open items (submitted, under_review), bins them by age, and sends a clean digest to the PM.
Why this matters
Submittal log spreadsheets rot. A submittal that sat in "under_review" for 35 days is usually one nobody opened. The daily nudge surfaces them while there's still time to resolve before they delay the install.
Setup
1. Google Sheet
Create a tab named SubmittalLog with this header row:
| submittal_id | spec_section | trade | description | date_submitted | date_returned | target_return_date | status | reviewer | notes |
|---|---|---|---|---|---|---|---|---|---|
- Dates:
YYYY-MM-DD statusvalues:submitted|under_review|approved|revise_resubmit|rejected- Only
submittedandunder_reviewrows generate alerts
2. Credential, contact, placeholders
Same pattern as sub-coi-expiration-tracker:
- Google Workspace credential with Sheets read scope
- A PM contact
- Edit the placeholders in workflow.yaml: <<GOOGLE_WORKSPACE_CREDENTIAL>>, <<SUBMITTAL_LOG_SHEET_ID>>, <<PM_PUBLISHER>>
3. Schedule
Daily (suggested 7:00 AM).
Limitations
- One project per Sheet by default. For multi-project GCs, either add a
projectcolumn and filter, or run one instance per project. - "Overdue" is computed against
target_return_dateif set — otherwise items only age-bin.