Lien Deadline Reminder
Daily reminder before a lien-related deadline runs.
What it does
Reads your LienDeadlines Google Sheet, sorts open deadlines into 30/14/7/3/1-day windows, flags any that already passed, and sends the digest to the controller.
What it does NOT do
The tool does not calculate lien deadlines. Lien rules vary wildly by state and project type:
- Preliminary-notice windows: 20 days (CA), 40 days (FL), some states none.
- Filing windows: 30, 60, 90, 120+ days after last work.
- Notice-to-owner requirements: varies.
- Public vs. private vs. federal projects: different rules entirely.
You enter the date your attorney or lien-service vendor gave you. We just remind you.
This is intentional. Calculating deadlines from rules is the actually-risky version — getting state-specific edge cases wrong could cost a six-figure lien. Use a real lien-service vendor (Levelset, NCS, SunRay, etc.) for the actual deadline math; use this for the reminder.
Setup
1. Google Sheet
Tab LienDeadlines with this header:
| project_id | project_name | owner | customer_po | last_work_date | deadline_type | deadline_date | status | notes |
|---|---|---|---|---|---|---|---|---|
deadline_typevalues:preliminary_notice|notice_to_owner|lien_filing|lien_enforcementstatusvalues:open|filed|paid|waived|past- Workflow only alerts on
status = openrows
2. Credential + contact
Standard pattern (see sub-coi-expiration-tracker/README.md). Replace placeholders:
- <<GOOGLE_WORKSPACE_CREDENTIAL>>
- <<LIEN_DEADLINES_SHEET_ID>>
- <<CONTROLLER_PUBLISHER>>
3. Schedule
Daily (suggested 6:00 AM).
Liability note
Every alert includes the line "This is a reminder, NOT legal advice." Keep it. The user is on the hook for the actual deadline; this tool's value is "another set of eyes on your calendar."