• Blog
  • Docs
  • Pricing
  • We’re hiring!
Log inSign up
project logo

templates

leads

Lead qualifying from any data source
Public
Like
leads
Home
Code
6
PROMPT.txt
README.md
agent.ts
dashboard.tsx
db.ts
H
main.ts
Branches
1
Pull requests
Remixes
1
History
Environment variables
1
Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data – all from the browser, and deployed in milliseconds.
Sign up now
Code
/
README.md
Code
/
README.md
Search
…
Viewing readonly version of main branch: v51
View latest version
README.md

Leads

Lead qualifying from any data source.

What this does

  1. This val is a webhook
  2. You can POST arbitrary lead data to it from anywhere
  3. An AI agent sorts the good leads from the bad leads
  4. Leads are stored and arranged in a dashboard

Getting started

  1. Click Remix
  2. Click here to save your OPENAI_API_KEY as an environment variable
  3. Customize PROMPT.txt (Don't remove any fields from the structured response)
  4. Get the val's HTTP endpoint from main.ts:
  5. Forward leads to this webhook as a POST request.
  6. That's it! Watch them drop into your dashboard at main.ts

How it works

  • The HTTP endpoint at main.ts ingests all inbound POST request data and passes it to the OpenAI agent in agent.ts.

AI Agent

  • The agent uses the lead data from your POST request and its web search tool to determine if the lead is a match for the criteria in PROMPT.txt.
  • By default, the AI returns {name, match, reasoning}. This is the output_data.

Storage

  • Every lead is added to the leads SQLite table: id, timestamp, input_data, output_data.
  • The main.ts dashboard shows a history of all lead assessments, successful matches first. Clicking any lead shows the full inbound and output data from the assessment.

Options

  • Add fields to the AI's output instructions in PROMPT.txt to:
    • enhance the AI's assessment
    • enrich your leads
    • normalize lead data from different sources
  • add query parameters to your POST to flag sources
    • ex: your-val-endpoint.val.run?source=signup-page
FeaturesVersion controlCode intelligenceCLIMCP
Use cases
TeamsAI agentsSlackGTM
DocsShowcaseTemplatesNewestTrendingAPI examplesNPM packages
PricingNewsletterBlogAboutCareers
We’re hiring!
Brandhi@val.townStatus
X (Twitter)
Discord community
GitHub discussions
YouTube channel
Bluesky
Open Source Pledge
Terms of usePrivacy policyAbuse contact
© 2025 Val Town, Inc.