Skip to content

telexintegrations/event-reminder-integration

Repository files navigation

Telex Reminder Integration

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.

Features

  • 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.

Tech Stack

  • 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

Project Structure

├── 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

Installation

  1. Clone the repository:
 git clone https://github.com/telexintegrations/event-reminder-integration.git
 cd event-reminder-integration
  1. Install dependencies:
 npm install
  1. Set up environment variables:

Create a .env file in the root directory and specify:

PORT=3000
  1. Compile TypeScript:
 npm run build
  1. Run the server:
 npm start

The server should be running on http://localhost:3000

How It Works

  1. Event Creation:

    • POST /event endpoint 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
  2. Reminder Scheduling:

    • POST /tick endpoint is triggered periodically.
    • Checks if any events are due for a reminder.
    • Sends a message to the specified Telex channel via webhook.

Screenshot

Screenshot of the integration

Validation & Error Handling

  • 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.

Task Queue

  • Uses a background task queue to manage reminder sending.
  • Prevents blocking the main event loop and ensures smooth performance even with high traffic.

Future Improvements

  • Persistent event storage (e.g., MongoDB, PostgreSQL).
  • Advanced scheduling with customizable recurrence rules.

About

A Node.js application that schedules events and sends timely reminders to a Telex channel. Built with Express, TypeScript, and a background task queue for efficient event management and notifications.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors