• Townie
    AI
  • Blog
  • Docs
  • Pricing
  • We’re hiring!
Log inSign up
petermillspaugh

petermillspaugh

vt-blog

Remix of valdottown/blog
Public
Like
vt-blog
Home
Code
9
components
12
posts
14
routes
6
styles
2
utils
9
IMAGES.md
README.md
TODOs.md
H
index.ts
Branches
1
Pull requests
Remixes
History
Environment variables
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
/
posts
/
2025-10-02-in-val-out.md
Code
/
posts
/
2025-10-02-in-val-out.md
Search
10/2/2025
Viewing readonly version of main branch: v17
View latest version
2025-10-02-in-val-out.md
title:
In, Val, Out
description:
Data input, enrichment val, data output
pubDate:
2025-10-02:00:00.000Z
author:
Pete Millspaugh

One of the most common patterns in Val Town is to take data input from some external source, do something useful with that data, and send output to another external source.

I/O but with a val in the middle: I/V/O. In, val, out.

in-val-out.svg

The canonical example is a user signup alert:

  1. Receive a webhook when a user signs up (e.g., from Supabase)
  2. Process or enrich the data in a val (e.g., with Clay)
  3. Notify your team (e.g., on Slack)

Dozens of examples are listed on the I/V/O docs, but the best examples will be the vals you create and use. Consider this a Call For Vals.

In

Input could be customer support email you receive, stars or new issues on your GitHub repo, failed payments from Stripe, user signups from Supabase, calendar invites, Sentry errors, form submissions...

Val

...

Out

...

FeaturesVersion controlCode intelligenceCLI
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.