Status SOP: Global Status Management (BAINTL)

Purpose

This document defines the universal Global Status taxonomy for BAINTL. These statuses apply to both Candidates AND Hiring Managers (Contacts) and drive all n8n automation triggers.

Last Updated: 2026-02-09 (Post Aaron conversation - statuses cleaned up)


🚦 Current Status Taxonomy

These are the actual statuses in Loxo as of the latest cleanup with Aaron.

Status Categories

CategoryPurpose
🔵 SourcingInitial pool - data validation & qualification
🟡 EngagementActive outreach and conversation
🟢 EvaluationActive recruiting process
🔴 Closing/PostRelationship outcomes & hygiene

📋 Complete Status Reference

Global StatusCategoryTypeUsage
New Lead🔵 SourcingManualInitial entry point for new contacts
Enrich🔵 SourcingSystemMissing data - triggers AI enrichment
Prospect🔵 SourcingManualPre-qualified, ready for outreach
Outreach (auto)🟡 EngagementSystemActive in Instantly/Loxo sequence
Contacted🟡 EngagementManualHuman outreach made
Responded (auto)🟡 EngagementSystemReply detected - HUMAN TAKEOVER
Nurture (auto)🟡 EngagementSystemLong-term automated follow-up
No Activity🟡 EngagementSystemStalled - triggers reactivation
Active🟢 EvaluationManualLive deal/search in progress
Active Client🟢 EvaluationManualClient with open job order
Shortlist🟢 EvaluationManualPriority candidate/client
Scheduling🟢 EvaluationManualInterview scheduling phase
Interviewing🟢 EvaluationManualActive interview process
Client Submissions🟢 EvaluationManualCandidate submitted to client
Offer And Negotiation🟢 EvaluationManualOffer stage
Placed🔴 ClosingManualCandidate placed (revenue)
Rejected🔴 ClosingManualCandidate not moving forward
Previous Client🔴 ClosingManualLegacy client relationship
Inactive🔴 ClosingManualDormant contact
Not Interested🔴 ClosingManualExplicit no
DNC🔴 ClosingManualHard opt-out
Delete Record🔴 ClosingManualMarked for removal

🔄 Workflow Maps

Workflow 1: New Contact → Outreach

graph TD
    A["📥 New Lead<br/>Initial entry point"] -->|"Manual entry or import"| B{"🤔 Has complete data?<br/>Check for email, name, company"}
    B -->|"Yes - Data complete"| C["⭐ Prospect<br/>Pre-qualified & ready"]
    B -->|"No - Missing data"| D["🔧 Enrich<br/>Trigger AI data enrichment"]
    D -->|"AI enrichment complete"| C
    C -->|"Aaron/Dan approves for outreach"| E["📤 Outreach (auto)<br/>Active in Instantly campaign"]
    E -->|"Campaign emails sending"| F{"📨 Response?<br/>Monitor for replies"}
    F -->|"Yes - Reply received"| G["⚡ Responded (auto)<br/>HUMAN TAKEOVER REQUIRED"]
    F -->|"No response after sequence"| H["🌱 Nurture (auto)<br/>Long-term monthly follow-up"]
    F -->|"Bounce or DNC request"| I["🚫 DNC<br/>Hard opt-out - never contact"]
    G -->|"Human reviews & qualifies"| J["🎯 Active<br/>Live deal in progress"]
    H -->|"Wait 30 days"| K{"🔄 Re-engage?<br/>Time for another attempt?"}
    K -->|"Yes - Try again"| E
    K -->|"No - Stay in nurture"| H

Automation Triggers:

  • Enrich → Trigger n8n AI enrichment workflow
  • Outreach (auto) → Add to Instantly campaign via n8n
  • Responded (auto) → Alert Aaron/Dan, pause campaign
  • Nurture (auto) → Add to monthly newsletter sequence

Workflow 2: Active Recruitment Process

graph TD
    A["🎯 Active<br/>Live deal/search in progress"] -->|"Job order opens"| B["📅 Scheduling<br/>Booking interviews"]
    B -->|"Interview confirmed"| C["🎤 Interviewing<br/>Active interview process"]
    C -->|"Client loves candidate"| D["📋 Client Submissions<br/>Presented to client"]
    D -->|"Client wants to hire"| E["💼 Offer And Negotiation<br/>Offer stage"]
    E -->|"✅ Offer accepted"| F["🎉 Placed<br/>Revenue generated!"]
    E -->|"❌ Offer declined"| G["🚫 Not Interested<br/>Candidate passed"]
    C -->|"Not a fit"| H["❌ Rejected<br/>Wrong for this role"]
    F -->|"Future opportunities"| I["👥 Previous Client<br/>Maintain relationship"]
    H -->|"Good fit later"| J["🌱 Nurture (auto)<br/>Stay in touch"]

Key Rule: Once in Active or higher (Scheduling → Placed), NEVER move backward to Outreach or Nurture. These are human-controlled relationship statuses.


Workflow 3: Data Hygiene & Cleanup

graph TD
    A["😴 No Activity<br/>90+ days no engagement"] -->|"Review stalled contact"| B{"🤔 Decision Point<br/>What to do with this contact?"}
    B -->|"Keep - Still valuable"| C["🌱 Nurture (auto)<br/>Monthly newsletter"]
    B -->|"Bad/invalid data"| D["🗑️ Delete Record<br/>Mark for removal"]
    B -->|"Unreachable"| E["😶 Inactive<br/>Dormant but keep"]
    F["📞 Contacted<br/>Human outreach made"] -->|"No response 60 days"| A
    G["🚫 Not Interested<br/>Explicit no"] -->|"3+ months passed"| H{"🔄 Check in?<br/>Time to re-engage?"}
    H -->|"Yes - Try again"| I["🌱 Nurture (auto)<br/>Add to newsletter"]
    H -->|"No - Leave alone"| E

🎯 The “Big 3” Entry Points

Based on Aaron conversation (2026-02-09): Only these 3 statuses for manual entry

StatusWhen to UseWhat Happens
Outreach”I don’t know them, but I want to”Enrichment → Campaign
Nurture”I know them, but not right now”Monthly newsletter
Active”We’re working together right now”Quarterly check-in

⚠️ Critical Rules

1. Status Hierarchy (No Backsliding)

New Lead → Enrich → Prospect → Outreach → Responded → Active → Scheduling → Placed
     ↓         ↓         ↓          ↓           ↓         ↓        ↓          ↓
   Can      Can       Can        Can         Can       STOP    STOP       STOP
   move     move      move       move        move     HERE   HERE       HERE
   to any   to any    to any     to any      to any
   forward  forward   forward    forward     forward

NEVER move backward from:

  • Active or higher to Outreach/Nurture/Enrich
  • Responded back to Outreach (human takes over)
  • Placed to anything except Previous Client

2. Auto vs Manual

  • System statuses (auto): Enrich, Outreach (auto), Responded (auto), Nurture (auto), No Activity
    • Humans: DO NOT manually set these
    • System: n8n sets these based on triggers
  • Manual statuses: Everything else
    • Humans: Aaron/Dan set these based on relationship
    • System: Only reads these for decision-making

3. The “Responded” Rule

Status Responded (auto) = STOP EVERYTHING

  • Campaign automatically pauses
  • Aaron/Dan get notified
  • Human must review and manually move to next status
  • Never auto-resume campaigns on responded contacts

4. Client Employee Protection

Before ANY campaign send:

  1. Export campaign list
  2. Aaron reviews for active client employees
  3. Remove: Rich Reid (PEXCO), Joseph (Commerlin), Jeff King (King Plastic)
  4. Any contact at active client companies

🔄 Status Update Automations

TriggerActionStatus Change
Contact added to LoxoIf missing data→ Enrich
Enrichment complete70%+ confidence→ Prospect
Aaron moves to “Outreach”Add to Instantly→ Outreach (auto)
Email reply detectedPause campaign→ Responded (auto)
No reply after sequenceMove to long-term→ Nurture (auto)
Bounce/invalid emailDo not contact→ DNC
90 days no activityTrigger reactivation→ No Activity
Unsubscribe requestedHard stop→ DNC
Candidate placedCelebrate→ Placed

📊 Campaign Segmentation

Who Gets What Campaign?

Campaign TypeTarget StatusFrequency
Cold OutreachProspect, Outreach (auto)3-step sequence
MPC CampaignsActive ClientWeekly
NurtureNurture (auto)Monthly newsletter
ReactivationNo ActivityQuarterly
Check-insActive, Previous ClientQuarterly

Excluded from campaigns:

  • Active Client (hiring managers at client companies)
  • Responded (auto) - until human review
  • Placed, Rejected
  • Not Interested, DNC, Delete Record

🎓 Quick Reference: Status Decision Tree

Is this a new contact?
├── YES → New Lead (or Enrich if data missing)
└── NO → Do you want to reach out?
    ├── YES → Outreach
    ├── MAYBE LATER → Nurture
    └── NO → Do you know them?
        ├── YES, CLIENT → Active Client
        ├── YES, WORKING → Active
        └── NO → Delete Record or Not Interested