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

canstralian

ValTownForNotion

Remix of bradnoble/ValTownForNotion
Public
Like
ValTownForNotion
Home
Code
8
backend
3
frontend
2
routes
11
shared
1
utils
2
README.md
C
resets
H
webhookAPI
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
/
Code
/
Search
https://canstralian--0e02df563f3d11f0b8f676b3cceeab13.web.val.run
README.md

ValTownForNotion

This val.town project catches webhooks from Notion, makes changes to the data payload, and sends those changes back to Notion as page updates.

Here's one of the examples, which uses val.town to update database pages with favicons from the web:

valtown-for-notion-example.gif

Read up on it and try the examples: https://www.notion.so/bradnoble/val-town-for-Notion-1cbc200736c2807bb445eccf64d0afe9?pvs=4

Handling Notion Webhooks

This is done in the webhookAPI file.

Resetting state

Every minute, this project has a cron that resets all the state, so that the next visitor to the Notion page has a clean experience. That cron uses the subdomain as the prefix for all the blob storage.

image.png

HTTP
  • index.ts
    canstralian--0e…13.web.val.run
  • webhookAPI
    canstralian--b6…c0.web.val.run
Cron
  • resets
Code
backendfrontendroutessharedutilsREADME.md
C
resets
H
webhookAPI
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
Terms of usePrivacy policyAbuse contact
Β© 2025 Val Town, Inc.