Telex Reminder Integration is an Express and TypeScript-based project designed to schedule events and send reminders to a Telex channel. This lightweight and efficient integration helps teams stay organized by automating event notifications with customizable reminder intervals.
- Schedule events with titles, dates, and times.
- Set default and event-specific reminder intervals.
- Send automated event reminders to a Telex channel.
- Manage event data with in-memory storage.
- Validate incoming event commands and handle errors gracefully.
- Built with TypeScript for type safety and maintainability.
- Backend: Node.js, Express.js, TypeScript
- Data Storage: JSON file (can be replaced with a database)
- Task Queue: Background task processing
- API Integration: Telex webhook for sending reminders
├── src
│ ├── data
│ │ └── storage.ts
│ ├── queue
│ │ └── index.ts
│ ├── utils
│ │ └── index.ts
│ ├── validators
│ │ └── index.ts
│ ├── types
│ │ └── index.ts
│ ├── index.ts
├── package.json
├── tsconfig.json
├── ecosystem.config.js
├── .gitignore
├── .env
└── README.md
- Clone the repository:
git clone https://github.com/telexintegrations/event-reminder-integration.git
cd event-reminder-integration- Install dependencies:
npm install- Set up environment variables:
Create a .env file in the root directory and specify:
PORT=3000
- Compile TypeScript:
npm run build- Run the server:
npm startThe server should be running on http://localhost:3000
-
Event Creation:
POST /eventendpoint processes a message that starts with /event, extracts event details (title, date, time), and saves the event with a reminder interval. e.g./event "Team Meeting" 2025-03-10 15:00
-
Reminder Scheduling:
POST /tickendpoint is triggered periodically.- Checks if any events are due for a reminder.
- Sends a message to the specified Telex channel via webhook.
- The eventValidator ensures that all required fields (message, channel_id, and settings) are present.
- Invalid or improperly formatted requests return 400 Bad Request with a detailed error message.
- Edge cases (e.g., missing reminder interval settings) are handled gracefully.
- Uses a background task queue to manage reminder sending.
- Prevents blocking the main event loop and ensures smooth performance even with high traffic.
- Persistent event storage (e.g., MongoDB, PostgreSQL).
- Advanced scheduling with customizable recurrence rules.
