Quickstart Guide
Get your Shopify changelog monitoring service up and running in just a few steps.Prerequisites
Before you begin, ensure you have:- Bun installed (v1.3.1 or later) - Download from bun.sh
- Google Chat webhook URL - Create an incoming webhook
- Vercel account (optional, for deployment) - Sign up at vercel.com
Installation
Install dependencies
Use Bun to install the required packages:This installs:
hono- Fast web framework for routingrss-parser- RSS feed parsing library
Running Locally
Start the development server with hot reloading:http://localhost:3000).
The
--hot flag enables automatic reloading when you modify source files.Testing the Endpoints
Health Check
Verify the server is running:Trigger RSS Feed Check
Manually trigger the RSS feed processing:- Fetch the Shopify changelog RSS feed
- Filter for new items (published after yesterday)
- Send formatted notifications to your Google Chat space
- Update the last processed date
On first run, the service processes items from the last 24 hours. Subsequent runs only process items newer than the last execution.
Understanding the Code
Server Setup (server.ts)
The main server file uses Hono for routing:server.ts
RSS Handler (rss-handler.ts)
The core logic handles feed fetching, filtering, and Google Chat integration:rss-handler.ts
Fetching the RSS Feed
rss-handler.ts
Filtering New Items
The service tracks processed items by date:rss-handler.ts
Sending to Google Chat
The service formats items as rich cards:rss-handler.ts
Deploying to Vercel
Customization Options
Change the RSS Feed URL
Modify theRSS_FEED_URL constant in rss-handler.ts:
rss-handler.ts
Adjust Cron Schedule
Update the schedule invercel.json using cron syntax:
vercel.json
Customize Message Format
Modify thesendToGchat function in rss-handler.ts to change card appearance, colors, or structure.
Troubleshooting
No messages received
- Verify your
WEBHOOK_URLis correct - Check that new items exist in the RSS feed
- Review server logs for errors:
console.logstatements inrss-handler.ts
”WEBHOOK_URL environment variable is not set” error
- Ensure
.envfile exists in the project root - Verify the variable name is exactly
WEBHOOK_URL - For Vercel deployments, set the environment variable in the dashboard
Failed to send to Google Chat
- Verify the webhook URL is valid and hasn’t been revoked
- Check Google Chat webhook status and logs
- Ensure the webhook space still exists
Next Steps
Your Shopify changelog monitoring service is now running! Consider:- Setting up monitoring and alerting for the Vercel deployment
- Adding multiple webhook URLs for different chat spaces
- Implementing persistent state storage (database) for larger deployments
- Customizing notification formats based on changelog categories
View Source Code
Explore the complete source code on GitHub