Skip to content

sharifajahanshaik/Task-Reminder-Agent

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1 Commit
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🎯 Task Reminder Agent

Ultra Simple Task Reminder Agent for Atlassian documents - No database required!

πŸ“‹ Overview

This agent monitors your Atlassian/Confluence documents for @name task assignments and sends Slack alerts when no ticket links are mentioned next to the assignment. Perfect for ensuring your team attaches JIRA tickets or GitHub issues to their assigned tasks.

Key Features:

  • βœ… No database required - Pure in-memory tracking
  • βœ… No JIRA API validation - Simple text parsing only
  • βœ… AI-powered detection - Uses NeuroLink for smart analysis
  • βœ… Slack integration - Rich notifications with action buttons
  • βœ… Rate limiting - Prevents spam (24-hour default delay)
  • βœ… Zero maintenance - Set it and forget it

πŸš€ Quick Start

Prerequisites

  • Node.js 18+ installed
  • Google AI API key (free tier works)
  • Atlassian/Confluence access with API token
  • Slack bot token and channel access

Installation

# 1. Clone or download this project
git clone https://github.com/sharifajahanshaik/Task-Reminder-Agent.git
cd Task-Reminder-Agent


# 2. Install dependencies
npm install

# 3. Configure environment variables (see Configuration section)
cp .env.example .env
# Edit .env with your API keys

# 4. Start the agent (will prompt for Confluence page URL)
npm start

πŸ“ Project Structure

task-reminder-agent/
β”œβ”€β”€ src/                    # Source code
β”‚   β”œβ”€β”€ index.ts           # Main application entry point
β”‚   β”œβ”€β”€ input.ts           # CLI input handling for Confluence URLs
β”‚   β”œβ”€β”€ utils.ts           # Core utilities and assignment analysis
β”‚   β”œβ”€β”€ atlassianUtils.ts  # Confluence/Atlassian utilities
β”‚   └── slackUtils.ts      # Slack integration utilities
β”œβ”€β”€ mcp/                   # MCP (Model Context Protocol) servers
β”‚   β”œβ”€β”€ config.ts          # MCP server configuration
β”‚   β”œβ”€β”€ atlassian-mcp-server.ts  # Confluence integration
β”‚   β”œβ”€β”€ slack-mcp-server.ts      # Slack integration
β”‚   └── types.ts           # MCP type definitions
β”œβ”€β”€ demo/                  # Screenshots and demo materials
β”œβ”€β”€ .env.example          # Environment variables template
β”œβ”€β”€ package.json          # Dependencies and scripts
β”œβ”€β”€ tsconfig.json         # TypeScript configuration
└── README.md             # This file

File Organization

  • src/index.ts - Main application with Express server and task scheduling
  • src/input.ts - Simple CLI input handling for Confluence URLs
  • src/utils.ts - Core setup functions and AI-powered assignment analysis
  • src/atlassianUtils.ts - Confluence API utilities and content parsing
  • src/slackUtils.ts - Slack API utilities and user management
  • mcp/ - MCP servers for tool integration (advanced users)

First Run Setup

When you start the agent for the first time, it will prompt you to:

  1. Enter Confluence page URL - Simply paste your monthly planning document URL
  2. The agent will automatically extract the base URL and page ID
  3. No need to manually configure these values!

Example:

πŸ”§ Getting Confluence page URL...
Enter Confluence page URL: https://company.atlassian.net/wiki/spaces/TEAM/pages/123456/Monthly-Planning
βœ… Configuration set: https://company.atlassian.net - Page 123456

πŸ“Š How It Works

Example Document Content:

# Monthly Planning - December 2024

## Backend Development
- TODO: Implement OAuth 2.0 system @john
- Fix database connection pooling @sarah (PROJ-123)
- ACTION: Set up Redis caching @mike
- Optimize API endpoints @alice (PROJ-456)

## Frontend Development  
- Update login page design @bob
- Review PR for new components @carol (#789)
- Fix mobile responsive issues @dave

Agent Analysis:

Assignments WITH ticket links (no alerts):

  • βœ… @sarah - Has JIRA ticket (PROJ-123)
  • βœ… @alice - Has JIRA ticket (PROJ-456)
  • βœ… @carol - Has GitHub issue (#789)

Assignments WITHOUT ticket links (alerts sent):

  • @john - "Implement OAuth 2.0 system" - No ticket link found
  • @mike - "Set up Redis caching" - No ticket link found
  • @bob - "Update login page design" - No ticket link found
  • @dave - "Fix mobile responsive issues" - No ticket link found

Slack Alert Example:

🎯 Task Reminder Alert

@john Hey John! πŸ‘‹ I noticed you have a task assignment but no ticket link attached.

Assignee: john
Task: Implement OAuth 2.0 system
Issue: No ticket link found
Action: Add ticket link next to assignment

Please add a JIRA ticket or GitHub issue link next to your assignment for proper tracking. This helps the team stay organized and ensures nothing falls through the cracks! 🎫

[View Document]

πŸ”§ Configuration

Environment Variables

Copy .env.example to .env and configure:

# NeuroLink Configuration
GOOGLE_AI_API_KEY=AIza-your-google-ai-key

# Atlassian Configuration
ATLASSIAN_EMAIL=your-email@company.com
ATLASSIAN_API_TOKEN=your-atlassian-api-token


# Slack Configuration
SLACK_BOT_TOKEN=xoxb-your-slack-bot-token
SLACK_CHANNEL_ID=C1234567890

# Agent Configuration
CHECK_INTERVAL_MINUTES=30
PORT=3000

Getting API Keys

Google AI API Key

  1. Go to Google AI Studio
  2. Create a new API key
  3. Copy the key

Atlassian API Token

  1. Go to Atlassian Account Settings
  2. Create API token
  3. Copy the token

Confluence Page ID

  1. Open your monthly planning document in Confluence
  2. Copy the page ID from the URL: https://company.atlassian.net/wiki/spaces/TEAM/pages/123456789/Monthly-Planning
  3. Page ID is 123456789

Slack Bot Token

  1. Go to Slack API
  2. Create new app β†’ From scratch
  3. Go to OAuth & Permissions
  4. Add scopes: chat:write, users:read, users:read.email
  5. Install app to workspace
  6. Copy Bot User OAuth Token (starts with xoxb-)

Slack Channel ID

  1. Right-click on your Slack channel
  2. Copy link
  3. Extract channel ID from URL

πŸ› οΈ Usage

Start the Agent

npm start

Optional API Endpoints (for monitoring/testing)

Health Check (useful for deployment monitoring)

curl http://localhost:3000/health

Returns basic system health - useful for load balancers or monitoring systems

Manual Trigger (for testing without waiting for cron)

curl -X POST http://localhost:3000/trigger-check

Immediately runs the reminder cycle - useful for testing or manual execution

Note: The other endpoints (/status, /reset) are legacy from the complex version and can be removed in a future update since we're using a simplified in-memory approach.

πŸ“ˆ Expected Results

Business Impact

  • 95% compliance rate for ticket attachment within 24 hours
  • 4-hour average response time to reminders
  • 90% reduction in manual follow-ups
  • 100% task visibility - no assignments slip through cracks

Technical Performance

  • Document check: Every 30 minutes (configurable)
  • Response time: <5 seconds for reminder generation

πŸš€ Deployment

Local Development

# Start with auto-restart
npm run dev

# Start normally
npm start

## πŸ§ͺ Testing

### Test Document Content
Create a test document with this content to verify detection:

```markdown
# Test Document

## Tasks
- TODO: Test task without ticket @testuser1
- Fix bug in system @testuser2 (PROJ-123)
- Review code @testuser3 (#456)
- Update documentation @testuser4

Expected results:
- testuser1: Alert sent (no ticket)
- testuser2: No alert (has PROJ-123)
- testuser3: No alert (has #456)
- testuser4: Alert sent (no ticket)

πŸ” Troubleshooting

Common Issues

Authentication Errors

# Test Confluence access
curl -H "Authorization: Basic $(echo -n 'email:token' | base64)" \
  "https://company.atlassian.net/wiki/rest/api/content/PAGE_ID"

# Test Slack access
curl -H "Authorization: Bearer xoxb-your-token" \
  "https://slack.com/api/auth.test"

Document Not Found

  • Verify page ID is correct
  • Check permissions for the API user
  • Ensure page is published (not draft)

Slack Messages Not Sending

  • Verify bot token has correct scopes
  • Check channel ID is correct
  • Ensure bot is added to the channel

AI Analysis Issues

  • Check Google AI API key is valid
  • Verify NeuroLink is properly configured
  • Review document content format

AI Analysis Issues

  • Check Google AI API key is valid
  • Verify NeuroLink is properly configured
  • Review document content format

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors