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

broskoski

email-to-arena

Public
Like
email-to-arena
Home
Code
3
README.md
H
blob-server.ts
E
email-to-arena.ts
Branches
1
Pull requests
Remixes
History
Environment variables
3
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
6/11/2025
Viewing readonly version of main branch: v24
View latest version
README.md

Email to Are.na Attachment Processor

This project automatically processes email attachments and saves them as blocks to an Are.na channel.

How it works

  1. Email Trigger (email-to-arena.ts): Receives emails and processes attachments
  2. Blob Server (blob-server.ts): Serves stored attachments as public URLs
  3. Are.na Integration: Creates blocks in your specified channel with attachment URLs

Setup

1. Environment Variables

You need to set these environment variables in your Val Town settings:

  • ARENA_API_KEY: Your Are.na API key (get from https://dev.are.na/oauth/applications)
  • ARENA_CHANNEL_SLUG: The slug of the Are.na channel where blocks should be added
  • VAL_TOWN_USERNAME: Your Val Town username (used for generating URLs)

2. Are.na API Key

  1. Go to https://dev.are.na/oauth/applications
  2. Create a new application
  3. Copy the access token and set it as ARENA_API_KEY

3. Channel Setup

  1. Create or choose an Are.na channel
  2. Get the channel slug from the URL (e.g., for https://are.na/username/my-channel, the slug is my-channel)
  3. Set this as ARENA_CHANNEL_SLUG

Usage

  1. Send an email with attachments to your Val Town email address
  2. The system will:
    • Store each attachment in blob storage
    • Create a public URL for each attachment
    • Add a block to your Are.na channel with the attachment URL and metadata

Features

  • Supports any file type as attachment
  • Preserves original filename and content type
  • Adds metadata including sender, subject, file size
  • Handles multiple attachments per email
  • Error handling for individual attachments

File Structure

  • email-to-arena.ts - Main email processing logic
  • blob-server.ts - HTTP endpoint to serve stored attachments
  • README.md - This documentation

Troubleshooting

  • Check the Val Town logs for error messages
  • Ensure your Are.na API key has write access to the channel
  • Verify the channel slug is correct (case-sensitive)
  • Large attachments may take longer to process
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.