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

valdottown

Enrich-New-User

Get enriched new user data notifications
Public
Like
1
Enrich-New-User
Home
Code
5
.claude
.vscode
old-versions
3
enriched-main.tsx
H
main.tsx
Branches
1
Pull requests
Remixes
1
History
Environment variables
2
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
/
/
x
/
valdottown
/
Enrich-New-User
/
branch
/
main
/
version
/
35
/
code
/
old-versions
/
clay-setup-guide.md
/
old-versions
/
clay-setup-guide.md
Code
/
/
x
/
valdottown
/
Enrich-New-User
/
branch
/
main
/
version
/
35
/
code
/
old-versions
/
clay-setup-guide.md
/
old-versions
/
clay-setup-guide.md
Search
7/10/2025
Viewing readonly version of main branch: v35
View latest version
clay-setup-guide.md

Clay Integration Setup Guide

Overview

This guide explains how to set up Clay to enrich new user data and integrate with your Val.town webhook.

Clay Table Setup

1. Create a New Clay Table

  1. Log into Clay and create a new table
  2. Name it something like "New User Enrichments"

2. Configure Input Columns

Add these columns to receive data from your Val:

  • email (Text)
  • profile_image_url (Text)
  • signup_timestamp (Text)
  • source (Text)

3. Add Enrichment Columns

Add enrichment providers to gather data:

Email Enrichment

  • Add "Find Person & Company from Email" enrichment
  • Map the email column as input
  • This will provide:
    • Full name
    • Company name
    • Job title
    • LinkedIn URL
    • Location

Company Enrichment (if company found)

  • Add "Enrich Company" column
  • Use the company name from email enrichment
  • This provides:
    • Industry
    • Company size
    • Website
    • Description

4. Set Up Webhook Trigger

  1. In Clay, add an "HTTP API" column at the beginning
  2. Configure it as a webhook receiver:
    • Method: POST
    • This will generate a unique webhook URL
    • Copy this URL - you'll need it for your Val

5. Configure Outbound Webhook

  1. Add another "HTTP API" column at the end
  2. Configure it to send enriched data back:
    • Method: POST
    • URL: Your Val's Clay webhook endpoint (e.g., https://yourval.val.run/clayEnrichmentWebhook)
    • Body: Include all enriched fields you want to send back

Example body:

{ "email": "{{email}}", "company": "{{company_name}}", "title": "{{job_title}}", "linkedin": "{{linkedin_url}}", "location": "{{location}}", "industry": "{{industry}}", "company_size": "{{company_size}}" }

Val.town Environment Variables

Add these to your Val environment:

  • CLAY_WEBHOOK_URL: The webhook URL from Clay's inbound HTTP API column
  • CLAY_WEBHOOK_SECRET: (Optional) A secret key for authenticating Clay callbacks
  • CLERK_SECRET_KEY: Your Clerk authentication token
  • DISCORD_WEBHOOK: Your Discord webhook URL

Flow Diagram

1. New User Signs Up (Clerk)
         ↓
2. Clerk Webhook → Val.town
         ↓
3. Val sends data to Clay webhook
         ↓
4. Clay enriches the data
         ↓
5. Clay sends enriched data back to Val
         ↓
6. Val formats and sends to Discord

Testing

  1. Deploy the updated Val code
  2. Test with a signup to ensure:
    • Data flows to Clay
    • Enrichments run properly
    • Discord receives formatted messages

Optional Enhancements

  1. Rate Limiting: Configure Clay's rate limits if needed
  2. Conditional Logic: Add Clay formulas to handle missing data
  3. Additional Enrichments: Add more data providers as needed
  4. Filtering: Use Clay's filters to skip certain domains
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.