Unlikely Professionals
Status Triggers & Lifecycle


The simplified status model: one linear project lifecycle with two boolean flags, plus sub-status tracks for certification and invoicing. Every status, every transition, every trigger, and who is responsible.

Automatic transition
Manual transition
Flag (attaches to any status)
Triggers email
Triggers log entry
01Project Status (8 values + 2 flags)

The primary lifecycle of a project, from intake through close. Stored in SmartSuite field s115ab1815. Eight linear statuses plus two boolean flags that can attach to any active status.

INTAKE Portal / Admin SCHEDULED Scheduler IN PROGRESS Inspector FIELD COMPLETE Inspector / Ops READY FOR CERT System (auto) CERTIFIED Ops Manager INVOICED System (auto) CLOSED System / Admin ON HOLD CANCELLED attaches to any status terminal flag = auto transition = manual transition = semi-auto
Status Value ID Who Advances Trigger Auto?
Intake go210 Portal / Admin Project created Manual
Scheduled jKK2p Scheduler Date set, calendar event created Manual
In Progress 0Xf2F Inspector Site visit started Semi-auto
Field Complete 1yplc Inspector / Ops Visit marked complete Semi-auto
Ready for Cert ogUeq System Cert validation passes all 10 checks Auto
Certified z1Tft Ops Manager Cert approved Manual
Invoiced 6yJZI System Cert + invoice sent Auto
Closed O1GXV System / Admin Payment confirmed (Stripe) Auto
Flags
On Hold

Boolean flag. Freezes all auto-advance logic. Can be set on any active status. Set by Admin or Ops Manager. Remove to resume normal lifecycle.

Cancelled

Boolean flag. Terminal — project is permanently stopped. Set by Admin only. No further transitions are possible.

02Cert Sub-Status (3 values)

Tracks the certification document lifecycle within a project. Stored in SmartSuite field s6f8178f84.

NOT STARTED Default DRAFT System (auto) APPROVED Ops Manager
Status Value ID Who Sets Trigger
Not Started ffypR System Default value on project creation
Draft pD6PP System Auto Cert package generated
Approved Ph6RR Ops Manager Cert reviewed and approved
03Invoice Sub-Status (3 values)

Tracks invoicing lifecycle. Tightly coupled to Stripe for payment confirmation.

NOT INVOICED Default SENT System (auto) PAID System (auto)
Status Value ID Who Sets Trigger
Not Invoiced xmcJK System Default value
Sent PtYwM System Auto Invoice emailed + Stripe finalized
Paid 2GdlH System Auto Stripe webhook payment_succeeded
04Triage (flag-based)

Triage is not a lifecycle stage — it is a flag that overlays the project status. The 45-day scan automatically assigns JES-account projects to triage when they have been in an active status for more than 45 days without advancing.

Triage Flag Values
In Triage Resolved | Returned

In Triage — Set by the 45-day scan. Freezes normal workflow until resolved.

Resolved — Internal review complete. System runs cert validation; if all 10 checks pass, project auto-advances to Ready for Cert.

Returned — Sent back to originating team for additional work.

Internal triage work (desk review, field visit, additional data gathering) is tracked in triage notes and the Comm Log. The triage flag does not change the project status — it gates whether auto-advance can fire.

05Auto-Advance Chain

The complete end-to-end automation from field completion through payment. Human actions are shown in warm/khaki; system automation in blue.

VISIT COMPLETE HUMAN: Inspector FIELD COMPLETE SYSTEM: status set CERT VALIDATION SYSTEM: 10-point check READY FOR CERT SYSTEM: status set CERT GENERATED SYSTEM: PDF created DRAFT SYSTEM: cert status set APPROVED HUMAN: Ops Manager CERTIFIED HUMAN: Ops Manager CERT + INV SENT SYSTEM: email + Stripe INVOICED SYSTEM: status set PAYMENT SYSTEM: Stripe webhook CLOSED SYSTEM: status set SUMMARY Human action required (2 steps) System automation (10 steps) Only 2 human decisions in the entire chain: 1. Inspector marks visit complete    2. Ops Manager approves cert Everything else is fully automated.
06Responsibility Matrix
Dustin (Owner)
Jacob (Ops Manager)
Schedulers
Darius (Field Inspector)
Triage Team
System (Automated)
07Email Routing

Cert and invoice delivery uses deterministic, account-based email routing. Each account has a fixed set of recipient addresses configured in the system. No manual email selection is required — the delivery endpoint looks up the project's linked account and routes to the correct contacts automatically.

Account Routing Rule
JES Account-specific contact list; triage-eligible (45-day rule)
Fortis Account-specific contact list
All Others Account-specific contact list; fallback to project contact if no account contacts

Email routing is configured per account in SmartSuite (Contacts table, linked to Accounts). The /cert/deliver endpoint resolves recipients at send time. Override addresses can be specified per-delivery for one-off routing changes.

08PMS Legacy Mapping

How the old PMS (Project Management System) statuses map to the new simplified model. This mapping was used during the PMS → Mostly migration and remains the reference for any legacy data lookups.

PMS Status New Project Status Notes
Request Approved Field Complete
Deliverables Ready Ready for Cert
Deliverables Received Certified
Submitted to County Certified Was "Delivered" in old model
Request Archived Closed Was "Archived" in old model
Cancelled Closed + cancelled flag
On Hold Keep current + on_hold flag
Work in Progress In Progress New mapping
Job Scheduled Scheduled New mapping
Ready for Scheduling Intake New mapping
New Request Intake Pre-sales, imported anyway
Ready for Quoting Intake Pre-sales, imported anyway
Request Quoted Intake Pre-sales, imported anyway