A Front Application Webhook processing application template optimized for deployment on Railway.app.
This template provides a robust foundation for handling events received from an Application Webhook with payload validation, integrity checking and built-in queue processing to allow you to process events asynchronously at scale.
- 🔒 Built-in webhook signature validation
- 📝 Schema-based payload validation
- 🔄 Queue-based webhook processing by BullMQ
- 🚦 Challenge-response handling
- 🚀 Ready to deploy on Railway.app
-
Click the "Deploy on Railway" button to deploy the template to Railway.
-
Once deployed, Railway will automatically set up your environment.
-
Ensure you set your
FRONT_APP_SECRET
environment variable in Railway.
Copy the .env.example
file to .env
and set your FRONT_APP_SECRET
environment variable, and your Redis credentials.
# Install dependencies
npm install
# Start the development server
npm run dev
# The server will start at http://localhost:3000
On deploying this template, Railway will automatically set the Redis environment variables for you.
You will need to set the FRONT_APP_SECRET
environment variable in Railway.
POST /ingest
: Main Application Webhook endpoint
To modify this template for your use case, the first step is to update the queue processing logic in src/queue/worker.ts
. This is where you'll add your logic for processing how you want to handle the received events.
Contributions are welcome and encouraged! Please feel free to submit a Pull Request.