Built by Sepia Software · shown on sample leads — runs the same on your forms and CRMHow it's builtHire me on Upwork
Dockrota

Hand-over

The same pipeline, as an n8n workflow

Your team owns the result: import the JSON into n8n, add credentials and edit any step without a developer. The scoring code in it is the same logic that runs on this site, checked against it by tests.

The lead pipeline open in the n8n editor
Imported into n8n 2.44 · 15 nodes · Claude via the Anthropic nodeDownload workflow JSON
WebhookLead form webhookPOST from your form, Typeform, Webflow or HubSpot forms
Validate & dedupeCodeEmail format, personal / throwaway inbox, prompt-injection flag
Enrich companyHTTP RequestYour enrichment API — Apollo, Clearbit, a business registry
AI qualifyBasic LLM Chain + Claude + Structured Output ParserIntent 0–40, category, urgency, quoted signals, one-line summary
Score & routeCodeICP fit, tier, owner, stage, SLA — plain JavaScript you can edit
CRM upsertHubSpotUpsert by email, lifecycle stage, lead status, custom score fields
AI reply draftBasic LLM Chain + ClaudeA personal first reply for the route, signed by the owner
NotifyGmail draft · IF · SlackReply saved for review; hot leads ping the sales channel

Or call it as a webhook

The live pipeline takes the same JSON and returns the full run — score, route, CRM calls, reply. Stateless: the public endpoint keeps no CRM, so dedupe only sees what you pass in known.

curl -s https://leads.sepia.software/api/webhook/lead \
  -H 'content-type: application/json' \
  -d '{
    "name": "Sam Rivera",
    "email": "sam@coastlinecoldstore.com",
    "message": "We have 10 dock doors, drivers wait 2 hours. Can we see a demo next week?"
  }'

How it's built

Next.js 16 (App Router) · TypeScript · Vercel AI SDK 7 with structured output · Vercel AI Gateway · Zod · Tailwind CSS 4 · n8n 2 export · deployed on Vercel.

Production setup vs. this build

In productionIn this build
Enrichment from Apollo, Clearbit or a registryA sample firmographics table of 20 companies — same lookup contract
HubSpot or Pipedrive over their APIA CRM in your browser; each card shows the exact HubSpot 2026-09 calls
Replies sent from the rep's inbox, alerts in SlackShown as drafts and previews — nothing leaves the page
Queue with retries (n8n, Inngest) and Redis rate limitsOne server run per lead, streamed step by step; in-memory rate limit

For your sales team I would add

  • ✓Your ICP and routing rules, tuned on last quarter's won and lost deals
  • ✓Real enrichment (Apollo, Clearbit, Firecrawl on the company site) with caching
  • ✓Round-robin by territory and rep availability, with re-assignment if nobody calls in 5 minutes
  • ✓Reply sent from the rep's own inbox, with a booking link from their calendar
  • ✓A weekly report: speed to lead, conversion by tier and source, leads the AI disagreed with
  • ✓The same flow in n8n, Make or Zapier if your team prefers to own it there
Discuss your project on Upwork