Skip to content
Automation

Automation · 05

OpsPilot RevOps Automation

OpsPilot runs the lead side of a B2B automation service, from the first consultation form to an approved onboarding brief. It scores and routes every lead, reads replies and holds anything uncertain for a person, so follow-up is fast without AI making the final call.

Stack
  • n8n
  • GoHighLevel
  • Supabase
  • Gemini
  • Slack

01 / 09

n8n canvas of the OpsPilot lead intake path
Open full size (opens in a new tab)

Image 1 of 9: n8n canvas of the OpsPilot lead intake path

The dashboard views show pre-production test data.

Overview

The problem. Consultation leads need to be scored, tagged and followed up quickly. Duplicate webhooks, unreliable AI output and silent failures can put the wrong lead in the wrong sequence, and some replies and onboarding details need a person's judgment before anything is sent.

What I built. I built the n8n workflows behind it: lead intake with validation and idempotency, a rule-based Supabase score with Gemini qualification on top, and Hot/Warm/Cold routing back into GoHighLevel. Replies, bookings and closed-won deals each have their own webhook, uncertain cases go to a human review queue, and a separate error workflow retries, dead-letters or alerts Slack.

Why it helps. Leads are scored, routed and followed up as soon as they arrive, nothing is processed twice, and every uncertain reply or brief waits for a person.

System flow

7 workflows

How the workflows connect.

  1. Lead, reply, booking, closed-won, intake and review approval. Nodes: Webhook ×6 (Receive GHL Lead, Receive GHL Reply, Receive GHL Booking, Receive GHL Closed Won, Receive Onboarding Intake, Receive Implementation Review Approval). Next: OpsPilot system.
    A reviewer approves or rejects. Nodes: Webhook (Review decision webhook). Next: Human Review Decision.
    The system's error workflow. Nodes: Error Trigger. Next: Error handler.
    Watchdog schedule. Nodes: Schedule Trigger (Every hour). Next: Stuck-run Watchdog.
  2. Intake, scoring, AI qualification, replies, bookings and onboarding (98 nodes). Nodes: Code ×30; HTTP Request · GoHighLevel API ×18; HTTP Request · Supabase ×15; IF ×10; Supabase ×7; Other nodes ×12. Next: Supabase, Gemini, GoHighLevel API.
    Applies a reviewer's decision exactly once (22 nodes). Nodes: Respond to Webhook ×8; HTTP Request · Supabase ×4; HTTP Request · GoHighLevel API ×4; IF ×2; Switch ×2; Other nodes ×2. Next: Supabase, GoHighLevel API.
    Logs, retries, dead-letters and alerts (17 nodes). Nodes: Supabase ×7; Code ×5; IF ×2; Switch; Slack; Other nodes ×1. Next: Supabase, Slack.
    Abandons runs stuck too long (3 nodes). Nodes: Schedule Trigger; Edit Fields (Set); HTTP Request · Supabase. Next: Supabase.
  3. automation_runs, ai_decisions, human_reviews, workflow_events, failed_jobs, plus claim functions and score-lead. End of flow.
    Qualification, reply classification and implementation briefs. End of flow.
    Contacts, tags, messages and tasks. End of flow.
    Critical failure alerts. End of flow.
Hover, focus or tap a stage to see the nodes behind it.