callumalpass_tasknotes/docs/webhooks.md

277 lines
5.5 KiB
Markdown
Raw Normal View History

feat(api): add webhook support for real-time event notifications Webhooks enable real-time integrations by sending HTTP POST requests to configured endpoints when TaskNotes events occur. This opens up powerful automation and sync capabilities for external services. **New Webhook Features:** - Complete webhook management system with CRUD operations - 12+ event types covering tasks, time tracking, and pomodoro sessions - HMAC-SHA256 signature verification for security - Automatic retries with exponential backoff - Delivery tracking and failure monitoring - Auto-disable after repeated failures **Event Types:** - Task events: created, updated, deleted, completed, archived, unarchived - Time tracking: started, stopped - Pomodoro: started, completed, interrupted - Recurring: instance completed **API Endpoints:** - POST /api/webhooks - Register new webhook - GET /api/webhooks - List configured webhooks - DELETE /api/webhooks/{id} - Remove webhook - GET /api/webhooks/deliveries - View delivery history **Settings Integration:** - Webhook management UI in HTTP API settings tab - Event subscription selection - Enable/disable individual webhooks - Success/failure statistics display **Security & Reliability:** - HMAC signatures for payload verification - 10-second timeout per delivery - 3 automatic retries with backoff - Webhook secrets auto-generated - Non-blocking async delivery **Documentation:** - Comprehensive webhook guide with examples - Integration patterns for popular services - Security best practices - Testing utilities and sample code **Testing:** - Webhook test server (test-webhook.js) - Signature verification examples - Debug logging and monitoring This enables powerful integrations like: - Real-time sync with Todoist, TickTick, Notion - Slack/Discord notifications - Time tracking integration (Toggl, Clockify) - Custom automation workflows - Analytics and reporting dashboards The webhook system is designed to be reliable, secure, and performant while maintaining TaskNotes' core responsiveness.
2025-08-12 10:02:29 +00:00
# TaskNotes Webhooks
TaskNotes webhooks send HTTP POST requests when selected events occur.
feat(api): add webhook support for real-time event notifications Webhooks enable real-time integrations by sending HTTP POST requests to configured endpoints when TaskNotes events occur. This opens up powerful automation and sync capabilities for external services. **New Webhook Features:** - Complete webhook management system with CRUD operations - 12+ event types covering tasks, time tracking, and pomodoro sessions - HMAC-SHA256 signature verification for security - Automatic retries with exponential backoff - Delivery tracking and failure monitoring - Auto-disable after repeated failures **Event Types:** - Task events: created, updated, deleted, completed, archived, unarchived - Time tracking: started, stopped - Pomodoro: started, completed, interrupted - Recurring: instance completed **API Endpoints:** - POST /api/webhooks - Register new webhook - GET /api/webhooks - List configured webhooks - DELETE /api/webhooks/{id} - Remove webhook - GET /api/webhooks/deliveries - View delivery history **Settings Integration:** - Webhook management UI in HTTP API settings tab - Event subscription selection - Enable/disable individual webhooks - Success/failure statistics display **Security & Reliability:** - HMAC signatures for payload verification - 10-second timeout per delivery - 3 automatic retries with backoff - Webhook secrets auto-generated - Non-blocking async delivery **Documentation:** - Comprehensive webhook guide with examples - Integration patterns for popular services - Security best practices - Testing utilities and sample code **Testing:** - Webhook test server (test-webhook.js) - Signature verification examples - Debug logging and monitoring This enables powerful integrations like: - Real-time sync with Todoist, TickTick, Notion - Slack/Discord notifications - Time tracking integration (Toggl, Clockify) - Custom automation workflows - Analytics and reporting dashboards The webhook system is designed to be reliable, secure, and performant while maintaining TaskNotes' core responsiveness.
2025-08-12 10:02:29 +00:00
## Prerequisites
feat(api): add webhook support for real-time event notifications Webhooks enable real-time integrations by sending HTTP POST requests to configured endpoints when TaskNotes events occur. This opens up powerful automation and sync capabilities for external services. **New Webhook Features:** - Complete webhook management system with CRUD operations - 12+ event types covering tasks, time tracking, and pomodoro sessions - HMAC-SHA256 signature verification for security - Automatic retries with exponential backoff - Delivery tracking and failure monitoring - Auto-disable after repeated failures **Event Types:** - Task events: created, updated, deleted, completed, archived, unarchived - Time tracking: started, stopped - Pomodoro: started, completed, interrupted - Recurring: instance completed **API Endpoints:** - POST /api/webhooks - Register new webhook - GET /api/webhooks - List configured webhooks - DELETE /api/webhooks/{id} - Remove webhook - GET /api/webhooks/deliveries - View delivery history **Settings Integration:** - Webhook management UI in HTTP API settings tab - Event subscription selection - Enable/disable individual webhooks - Success/failure statistics display **Security & Reliability:** - HMAC signatures for payload verification - 10-second timeout per delivery - 3 automatic retries with backoff - Webhook secrets auto-generated - Non-blocking async delivery **Documentation:** - Comprehensive webhook guide with examples - Integration patterns for popular services - Security best practices - Testing utilities and sample code **Testing:** - Webhook test server (test-webhook.js) - Signature verification examples - Debug logging and monitoring This enables powerful integrations like: - Real-time sync with Todoist, TickTick, Notion - Slack/Discord notifications - Time tracking integration (Toggl, Clockify) - Custom automation workflows - Analytics and reporting dashboards The webhook system is designed to be reliable, secure, and performant while maintaining TaskNotes' core responsiveness.
2025-08-12 10:02:29 +00:00
1. Enable HTTP API in `Settings -> TaskNotes -> Integrations -> HTTP API`.
2. Create at least one webhook (settings UI or API).
3. Subscribe it to one or more events.
## Event Types
Task events:
- `task.created`
- `task.updated`
- `task.deleted`
- `task.completed`
- `task.archived`
- `task.unarchived`
Time events:
- `time.started`
- `time.stopped`
Pomodoro events:
- `pomodoro.started`
- `pomodoro.completed`
- `pomodoro.interrupted`
Recurring events:
- `recurring.instance.completed`
- `recurring.instance.skipped`
Reminder events:
- `reminder.triggered`
## Payload Shape
All webhook payloads use the same top-level envelope:
feat(api): add webhook support for real-time event notifications Webhooks enable real-time integrations by sending HTTP POST requests to configured endpoints when TaskNotes events occur. This opens up powerful automation and sync capabilities for external services. **New Webhook Features:** - Complete webhook management system with CRUD operations - 12+ event types covering tasks, time tracking, and pomodoro sessions - HMAC-SHA256 signature verification for security - Automatic retries with exponential backoff - Delivery tracking and failure monitoring - Auto-disable after repeated failures **Event Types:** - Task events: created, updated, deleted, completed, archived, unarchived - Time tracking: started, stopped - Pomodoro: started, completed, interrupted - Recurring: instance completed **API Endpoints:** - POST /api/webhooks - Register new webhook - GET /api/webhooks - List configured webhooks - DELETE /api/webhooks/{id} - Remove webhook - GET /api/webhooks/deliveries - View delivery history **Settings Integration:** - Webhook management UI in HTTP API settings tab - Event subscription selection - Enable/disable individual webhooks - Success/failure statistics display **Security & Reliability:** - HMAC signatures for payload verification - 10-second timeout per delivery - 3 automatic retries with backoff - Webhook secrets auto-generated - Non-blocking async delivery **Documentation:** - Comprehensive webhook guide with examples - Integration patterns for popular services - Security best practices - Testing utilities and sample code **Testing:** - Webhook test server (test-webhook.js) - Signature verification examples - Debug logging and monitoring This enables powerful integrations like: - Real-time sync with Todoist, TickTick, Notion - Slack/Discord notifications - Time tracking integration (Toggl, Clockify) - Custom automation workflows - Analytics and reporting dashboards The webhook system is designed to be reliable, secure, and performant while maintaining TaskNotes' core responsiveness.
2025-08-12 10:02:29 +00:00
```json
{
"event": "task.created",
"timestamp": "2026-02-21T10:30:00.000Z",
feat(api): add webhook support for real-time event notifications Webhooks enable real-time integrations by sending HTTP POST requests to configured endpoints when TaskNotes events occur. This opens up powerful automation and sync capabilities for external services. **New Webhook Features:** - Complete webhook management system with CRUD operations - 12+ event types covering tasks, time tracking, and pomodoro sessions - HMAC-SHA256 signature verification for security - Automatic retries with exponential backoff - Delivery tracking and failure monitoring - Auto-disable after repeated failures **Event Types:** - Task events: created, updated, deleted, completed, archived, unarchived - Time tracking: started, stopped - Pomodoro: started, completed, interrupted - Recurring: instance completed **API Endpoints:** - POST /api/webhooks - Register new webhook - GET /api/webhooks - List configured webhooks - DELETE /api/webhooks/{id} - Remove webhook - GET /api/webhooks/deliveries - View delivery history **Settings Integration:** - Webhook management UI in HTTP API settings tab - Event subscription selection - Enable/disable individual webhooks - Success/failure statistics display **Security & Reliability:** - HMAC signatures for payload verification - 10-second timeout per delivery - 3 automatic retries with backoff - Webhook secrets auto-generated - Non-blocking async delivery **Documentation:** - Comprehensive webhook guide with examples - Integration patterns for popular services - Security best practices - Testing utilities and sample code **Testing:** - Webhook test server (test-webhook.js) - Signature verification examples - Debug logging and monitoring This enables powerful integrations like: - Real-time sync with Todoist, TickTick, Notion - Slack/Discord notifications - Time tracking integration (Toggl, Clockify) - Custom automation workflows - Analytics and reporting dashboards The webhook system is designed to be reliable, secure, and performant while maintaining TaskNotes' core responsiveness.
2025-08-12 10:02:29 +00:00
"vault": {
"name": "My Vault",
"path": "/path/to/vault"
feat(api): add webhook support for real-time event notifications Webhooks enable real-time integrations by sending HTTP POST requests to configured endpoints when TaskNotes events occur. This opens up powerful automation and sync capabilities for external services. **New Webhook Features:** - Complete webhook management system with CRUD operations - 12+ event types covering tasks, time tracking, and pomodoro sessions - HMAC-SHA256 signature verification for security - Automatic retries with exponential backoff - Delivery tracking and failure monitoring - Auto-disable after repeated failures **Event Types:** - Task events: created, updated, deleted, completed, archived, unarchived - Time tracking: started, stopped - Pomodoro: started, completed, interrupted - Recurring: instance completed **API Endpoints:** - POST /api/webhooks - Register new webhook - GET /api/webhooks - List configured webhooks - DELETE /api/webhooks/{id} - Remove webhook - GET /api/webhooks/deliveries - View delivery history **Settings Integration:** - Webhook management UI in HTTP API settings tab - Event subscription selection - Enable/disable individual webhooks - Success/failure statistics display **Security & Reliability:** - HMAC signatures for payload verification - 10-second timeout per delivery - 3 automatic retries with backoff - Webhook secrets auto-generated - Non-blocking async delivery **Documentation:** - Comprehensive webhook guide with examples - Integration patterns for popular services - Security best practices - Testing utilities and sample code **Testing:** - Webhook test server (test-webhook.js) - Signature verification examples - Debug logging and monitoring This enables powerful integrations like: - Real-time sync with Todoist, TickTick, Notion - Slack/Discord notifications - Time tracking integration (Toggl, Clockify) - Custom automation workflows - Analytics and reporting dashboards The webhook system is designed to be reliable, secure, and performant while maintaining TaskNotes' core responsiveness.
2025-08-12 10:02:29 +00:00
},
"data": {}
feat(api): add webhook support for real-time event notifications Webhooks enable real-time integrations by sending HTTP POST requests to configured endpoints when TaskNotes events occur. This opens up powerful automation and sync capabilities for external services. **New Webhook Features:** - Complete webhook management system with CRUD operations - 12+ event types covering tasks, time tracking, and pomodoro sessions - HMAC-SHA256 signature verification for security - Automatic retries with exponential backoff - Delivery tracking and failure monitoring - Auto-disable after repeated failures **Event Types:** - Task events: created, updated, deleted, completed, archived, unarchived - Time tracking: started, stopped - Pomodoro: started, completed, interrupted - Recurring: instance completed **API Endpoints:** - POST /api/webhooks - Register new webhook - GET /api/webhooks - List configured webhooks - DELETE /api/webhooks/{id} - Remove webhook - GET /api/webhooks/deliveries - View delivery history **Settings Integration:** - Webhook management UI in HTTP API settings tab - Event subscription selection - Enable/disable individual webhooks - Success/failure statistics display **Security & Reliability:** - HMAC signatures for payload verification - 10-second timeout per delivery - 3 automatic retries with backoff - Webhook secrets auto-generated - Non-blocking async delivery **Documentation:** - Comprehensive webhook guide with examples - Integration patterns for popular services - Security best practices - Testing utilities and sample code **Testing:** - Webhook test server (test-webhook.js) - Signature verification examples - Debug logging and monitoring This enables powerful integrations like: - Real-time sync with Todoist, TickTick, Notion - Slack/Discord notifications - Time tracking integration (Toggl, Clockify) - Custom automation workflows - Analytics and reporting dashboards The webhook system is designed to be reliable, secure, and performant while maintaining TaskNotes' core responsiveness.
2025-08-12 10:02:29 +00:00
}
```
`data` is event-specific.
feat(api): add webhook support for real-time event notifications Webhooks enable real-time integrations by sending HTTP POST requests to configured endpoints when TaskNotes events occur. This opens up powerful automation and sync capabilities for external services. **New Webhook Features:** - Complete webhook management system with CRUD operations - 12+ event types covering tasks, time tracking, and pomodoro sessions - HMAC-SHA256 signature verification for security - Automatic retries with exponential backoff - Delivery tracking and failure monitoring - Auto-disable after repeated failures **Event Types:** - Task events: created, updated, deleted, completed, archived, unarchived - Time tracking: started, stopped - Pomodoro: started, completed, interrupted - Recurring: instance completed **API Endpoints:** - POST /api/webhooks - Register new webhook - GET /api/webhooks - List configured webhooks - DELETE /api/webhooks/{id} - Remove webhook - GET /api/webhooks/deliveries - View delivery history **Settings Integration:** - Webhook management UI in HTTP API settings tab - Event subscription selection - Enable/disable individual webhooks - Success/failure statistics display **Security & Reliability:** - HMAC signatures for payload verification - 10-second timeout per delivery - 3 automatic retries with backoff - Webhook secrets auto-generated - Non-blocking async delivery **Documentation:** - Comprehensive webhook guide with examples - Integration patterns for popular services - Security best practices - Testing utilities and sample code **Testing:** - Webhook test server (test-webhook.js) - Signature verification examples - Debug logging and monitoring This enables powerful integrations like: - Real-time sync with Todoist, TickTick, Notion - Slack/Discord notifications - Time tracking integration (Toggl, Clockify) - Custom automation workflows - Analytics and reporting dashboards The webhook system is designed to be reliable, secure, and performant while maintaining TaskNotes' core responsiveness.
2025-08-12 10:02:29 +00:00
## Register and Manage Webhooks via API
feat(api): add webhook support for real-time event notifications Webhooks enable real-time integrations by sending HTTP POST requests to configured endpoints when TaskNotes events occur. This opens up powerful automation and sync capabilities for external services. **New Webhook Features:** - Complete webhook management system with CRUD operations - 12+ event types covering tasks, time tracking, and pomodoro sessions - HMAC-SHA256 signature verification for security - Automatic retries with exponential backoff - Delivery tracking and failure monitoring - Auto-disable after repeated failures **Event Types:** - Task events: created, updated, deleted, completed, archived, unarchived - Time tracking: started, stopped - Pomodoro: started, completed, interrupted - Recurring: instance completed **API Endpoints:** - POST /api/webhooks - Register new webhook - GET /api/webhooks - List configured webhooks - DELETE /api/webhooks/{id} - Remove webhook - GET /api/webhooks/deliveries - View delivery history **Settings Integration:** - Webhook management UI in HTTP API settings tab - Event subscription selection - Enable/disable individual webhooks - Success/failure statistics display **Security & Reliability:** - HMAC signatures for payload verification - 10-second timeout per delivery - 3 automatic retries with backoff - Webhook secrets auto-generated - Non-blocking async delivery **Documentation:** - Comprehensive webhook guide with examples - Integration patterns for popular services - Security best practices - Testing utilities and sample code **Testing:** - Webhook test server (test-webhook.js) - Signature verification examples - Debug logging and monitoring This enables powerful integrations like: - Real-time sync with Todoist, TickTick, Notion - Slack/Discord notifications - Time tracking integration (Toggl, Clockify) - Custom automation workflows - Analytics and reporting dashboards The webhook system is designed to be reliable, secure, and performant while maintaining TaskNotes' core responsiveness.
2025-08-12 10:02:29 +00:00
### Create
feat(api): add webhook support for real-time event notifications Webhooks enable real-time integrations by sending HTTP POST requests to configured endpoints when TaskNotes events occur. This opens up powerful automation and sync capabilities for external services. **New Webhook Features:** - Complete webhook management system with CRUD operations - 12+ event types covering tasks, time tracking, and pomodoro sessions - HMAC-SHA256 signature verification for security - Automatic retries with exponential backoff - Delivery tracking and failure monitoring - Auto-disable after repeated failures **Event Types:** - Task events: created, updated, deleted, completed, archived, unarchived - Time tracking: started, stopped - Pomodoro: started, completed, interrupted - Recurring: instance completed **API Endpoints:** - POST /api/webhooks - Register new webhook - GET /api/webhooks - List configured webhooks - DELETE /api/webhooks/{id} - Remove webhook - GET /api/webhooks/deliveries - View delivery history **Settings Integration:** - Webhook management UI in HTTP API settings tab - Event subscription selection - Enable/disable individual webhooks - Success/failure statistics display **Security & Reliability:** - HMAC signatures for payload verification - 10-second timeout per delivery - 3 automatic retries with backoff - Webhook secrets auto-generated - Non-blocking async delivery **Documentation:** - Comprehensive webhook guide with examples - Integration patterns for popular services - Security best practices - Testing utilities and sample code **Testing:** - Webhook test server (test-webhook.js) - Signature verification examples - Debug logging and monitoring This enables powerful integrations like: - Real-time sync with Todoist, TickTick, Notion - Slack/Discord notifications - Time tracking integration (Toggl, Clockify) - Custom automation workflows - Analytics and reporting dashboards The webhook system is designed to be reliable, secure, and performant while maintaining TaskNotes' core responsiveness.
2025-08-12 10:02:29 +00:00
`POST /api/webhooks`
feat(api): add webhook support for real-time event notifications Webhooks enable real-time integrations by sending HTTP POST requests to configured endpoints when TaskNotes events occur. This opens up powerful automation and sync capabilities for external services. **New Webhook Features:** - Complete webhook management system with CRUD operations - 12+ event types covering tasks, time tracking, and pomodoro sessions - HMAC-SHA256 signature verification for security - Automatic retries with exponential backoff - Delivery tracking and failure monitoring - Auto-disable after repeated failures **Event Types:** - Task events: created, updated, deleted, completed, archived, unarchived - Time tracking: started, stopped - Pomodoro: started, completed, interrupted - Recurring: instance completed **API Endpoints:** - POST /api/webhooks - Register new webhook - GET /api/webhooks - List configured webhooks - DELETE /api/webhooks/{id} - Remove webhook - GET /api/webhooks/deliveries - View delivery history **Settings Integration:** - Webhook management UI in HTTP API settings tab - Event subscription selection - Enable/disable individual webhooks - Success/failure statistics display **Security & Reliability:** - HMAC signatures for payload verification - 10-second timeout per delivery - 3 automatic retries with backoff - Webhook secrets auto-generated - Non-blocking async delivery **Documentation:** - Comprehensive webhook guide with examples - Integration patterns for popular services - Security best practices - Testing utilities and sample code **Testing:** - Webhook test server (test-webhook.js) - Signature verification examples - Debug logging and monitoring This enables powerful integrations like: - Real-time sync with Todoist, TickTick, Notion - Slack/Discord notifications - Time tracking integration (Toggl, Clockify) - Custom automation workflows - Analytics and reporting dashboards The webhook system is designed to be reliable, secure, and performant while maintaining TaskNotes' core responsiveness.
2025-08-12 10:02:29 +00:00
Required fields:
feat(api): add webhook support for real-time event notifications Webhooks enable real-time integrations by sending HTTP POST requests to configured endpoints when TaskNotes events occur. This opens up powerful automation and sync capabilities for external services. **New Webhook Features:** - Complete webhook management system with CRUD operations - 12+ event types covering tasks, time tracking, and pomodoro sessions - HMAC-SHA256 signature verification for security - Automatic retries with exponential backoff - Delivery tracking and failure monitoring - Auto-disable after repeated failures **Event Types:** - Task events: created, updated, deleted, completed, archived, unarchived - Time tracking: started, stopped - Pomodoro: started, completed, interrupted - Recurring: instance completed **API Endpoints:** - POST /api/webhooks - Register new webhook - GET /api/webhooks - List configured webhooks - DELETE /api/webhooks/{id} - Remove webhook - GET /api/webhooks/deliveries - View delivery history **Settings Integration:** - Webhook management UI in HTTP API settings tab - Event subscription selection - Enable/disable individual webhooks - Success/failure statistics display **Security & Reliability:** - HMAC signatures for payload verification - 10-second timeout per delivery - 3 automatic retries with backoff - Webhook secrets auto-generated - Non-blocking async delivery **Documentation:** - Comprehensive webhook guide with examples - Integration patterns for popular services - Security best practices - Testing utilities and sample code **Testing:** - Webhook test server (test-webhook.js) - Signature verification examples - Debug logging and monitoring This enables powerful integrations like: - Real-time sync with Todoist, TickTick, Notion - Slack/Discord notifications - Time tracking integration (Toggl, Clockify) - Custom automation workflows - Analytics and reporting dashboards The webhook system is designed to be reliable, secure, and performant while maintaining TaskNotes' core responsiveness.
2025-08-12 10:02:29 +00:00
- `url` (string)
- `events` (non-empty array)
feat(api): add webhook support for real-time event notifications Webhooks enable real-time integrations by sending HTTP POST requests to configured endpoints when TaskNotes events occur. This opens up powerful automation and sync capabilities for external services. **New Webhook Features:** - Complete webhook management system with CRUD operations - 12+ event types covering tasks, time tracking, and pomodoro sessions - HMAC-SHA256 signature verification for security - Automatic retries with exponential backoff - Delivery tracking and failure monitoring - Auto-disable after repeated failures **Event Types:** - Task events: created, updated, deleted, completed, archived, unarchived - Time tracking: started, stopped - Pomodoro: started, completed, interrupted - Recurring: instance completed **API Endpoints:** - POST /api/webhooks - Register new webhook - GET /api/webhooks - List configured webhooks - DELETE /api/webhooks/{id} - Remove webhook - GET /api/webhooks/deliveries - View delivery history **Settings Integration:** - Webhook management UI in HTTP API settings tab - Event subscription selection - Enable/disable individual webhooks - Success/failure statistics display **Security & Reliability:** - HMAC signatures for payload verification - 10-second timeout per delivery - 3 automatic retries with backoff - Webhook secrets auto-generated - Non-blocking async delivery **Documentation:** - Comprehensive webhook guide with examples - Integration patterns for popular services - Security best practices - Testing utilities and sample code **Testing:** - Webhook test server (test-webhook.js) - Signature verification examples - Debug logging and monitoring This enables powerful integrations like: - Real-time sync with Todoist, TickTick, Notion - Slack/Discord notifications - Time tracking integration (Toggl, Clockify) - Custom automation workflows - Analytics and reporting dashboards The webhook system is designed to be reliable, secure, and performant while maintaining TaskNotes' core responsiveness.
2025-08-12 10:02:29 +00:00
Optional fields:
feat(api): add webhook support for real-time event notifications Webhooks enable real-time integrations by sending HTTP POST requests to configured endpoints when TaskNotes events occur. This opens up powerful automation and sync capabilities for external services. **New Webhook Features:** - Complete webhook management system with CRUD operations - 12+ event types covering tasks, time tracking, and pomodoro sessions - HMAC-SHA256 signature verification for security - Automatic retries with exponential backoff - Delivery tracking and failure monitoring - Auto-disable after repeated failures **Event Types:** - Task events: created, updated, deleted, completed, archived, unarchived - Time tracking: started, stopped - Pomodoro: started, completed, interrupted - Recurring: instance completed **API Endpoints:** - POST /api/webhooks - Register new webhook - GET /api/webhooks - List configured webhooks - DELETE /api/webhooks/{id} - Remove webhook - GET /api/webhooks/deliveries - View delivery history **Settings Integration:** - Webhook management UI in HTTP API settings tab - Event subscription selection - Enable/disable individual webhooks - Success/failure statistics display **Security & Reliability:** - HMAC signatures for payload verification - 10-second timeout per delivery - 3 automatic retries with backoff - Webhook secrets auto-generated - Non-blocking async delivery **Documentation:** - Comprehensive webhook guide with examples - Integration patterns for popular services - Security best practices - Testing utilities and sample code **Testing:** - Webhook test server (test-webhook.js) - Signature verification examples - Debug logging and monitoring This enables powerful integrations like: - Real-time sync with Todoist, TickTick, Notion - Slack/Discord notifications - Time tracking integration (Toggl, Clockify) - Custom automation workflows - Analytics and reporting dashboards The webhook system is designed to be reliable, secure, and performant while maintaining TaskNotes' core responsiveness.
2025-08-12 10:02:29 +00:00
- `id`
- `secret` (auto-generated if omitted)
- `active` (default `true`)
- `transformFile`
- `corsHeaders` (default `true`)
feat(api): add webhook support for real-time event notifications Webhooks enable real-time integrations by sending HTTP POST requests to configured endpoints when TaskNotes events occur. This opens up powerful automation and sync capabilities for external services. **New Webhook Features:** - Complete webhook management system with CRUD operations - 12+ event types covering tasks, time tracking, and pomodoro sessions - HMAC-SHA256 signature verification for security - Automatic retries with exponential backoff - Delivery tracking and failure monitoring - Auto-disable after repeated failures **Event Types:** - Task events: created, updated, deleted, completed, archived, unarchived - Time tracking: started, stopped - Pomodoro: started, completed, interrupted - Recurring: instance completed **API Endpoints:** - POST /api/webhooks - Register new webhook - GET /api/webhooks - List configured webhooks - DELETE /api/webhooks/{id} - Remove webhook - GET /api/webhooks/deliveries - View delivery history **Settings Integration:** - Webhook management UI in HTTP API settings tab - Event subscription selection - Enable/disable individual webhooks - Success/failure statistics display **Security & Reliability:** - HMAC signatures for payload verification - 10-second timeout per delivery - 3 automatic retries with backoff - Webhook secrets auto-generated - Non-blocking async delivery **Documentation:** - Comprehensive webhook guide with examples - Integration patterns for popular services - Security best practices - Testing utilities and sample code **Testing:** - Webhook test server (test-webhook.js) - Signature verification examples - Debug logging and monitoring This enables powerful integrations like: - Real-time sync with Todoist, TickTick, Notion - Slack/Discord notifications - Time tracking integration (Toggl, Clockify) - Custom automation workflows - Analytics and reporting dashboards The webhook system is designed to be reliable, secure, and performant while maintaining TaskNotes' core responsiveness.
2025-08-12 10:02:29 +00:00
Example:
```bash
curl -X POST http://localhost:8080/api/webhooks \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com/tasknotes",
"events": ["task.completed", "task.created"],
"transformFile": "TaskNotes/webhooks/slack.json"
}'
```
### List
feat(api): add webhook support for real-time event notifications Webhooks enable real-time integrations by sending HTTP POST requests to configured endpoints when TaskNotes events occur. This opens up powerful automation and sync capabilities for external services. **New Webhook Features:** - Complete webhook management system with CRUD operations - 12+ event types covering tasks, time tracking, and pomodoro sessions - HMAC-SHA256 signature verification for security - Automatic retries with exponential backoff - Delivery tracking and failure monitoring - Auto-disable after repeated failures **Event Types:** - Task events: created, updated, deleted, completed, archived, unarchived - Time tracking: started, stopped - Pomodoro: started, completed, interrupted - Recurring: instance completed **API Endpoints:** - POST /api/webhooks - Register new webhook - GET /api/webhooks - List configured webhooks - DELETE /api/webhooks/{id} - Remove webhook - GET /api/webhooks/deliveries - View delivery history **Settings Integration:** - Webhook management UI in HTTP API settings tab - Event subscription selection - Enable/disable individual webhooks - Success/failure statistics display **Security & Reliability:** - HMAC signatures for payload verification - 10-second timeout per delivery - 3 automatic retries with backoff - Webhook secrets auto-generated - Non-blocking async delivery **Documentation:** - Comprehensive webhook guide with examples - Integration patterns for popular services - Security best practices - Testing utilities and sample code **Testing:** - Webhook test server (test-webhook.js) - Signature verification examples - Debug logging and monitoring This enables powerful integrations like: - Real-time sync with Todoist, TickTick, Notion - Slack/Discord notifications - Time tracking integration (Toggl, Clockify) - Custom automation workflows - Analytics and reporting dashboards The webhook system is designed to be reliable, secure, and performant while maintaining TaskNotes' core responsiveness.
2025-08-12 10:02:29 +00:00
`GET /api/webhooks`
feat(api): add webhook support for real-time event notifications Webhooks enable real-time integrations by sending HTTP POST requests to configured endpoints when TaskNotes events occur. This opens up powerful automation and sync capabilities for external services. **New Webhook Features:** - Complete webhook management system with CRUD operations - 12+ event types covering tasks, time tracking, and pomodoro sessions - HMAC-SHA256 signature verification for security - Automatic retries with exponential backoff - Delivery tracking and failure monitoring - Auto-disable after repeated failures **Event Types:** - Task events: created, updated, deleted, completed, archived, unarchived - Time tracking: started, stopped - Pomodoro: started, completed, interrupted - Recurring: instance completed **API Endpoints:** - POST /api/webhooks - Register new webhook - GET /api/webhooks - List configured webhooks - DELETE /api/webhooks/{id} - Remove webhook - GET /api/webhooks/deliveries - View delivery history **Settings Integration:** - Webhook management UI in HTTP API settings tab - Event subscription selection - Enable/disable individual webhooks - Success/failure statistics display **Security & Reliability:** - HMAC signatures for payload verification - 10-second timeout per delivery - 3 automatic retries with backoff - Webhook secrets auto-generated - Non-blocking async delivery **Documentation:** - Comprehensive webhook guide with examples - Integration patterns for popular services - Security best practices - Testing utilities and sample code **Testing:** - Webhook test server (test-webhook.js) - Signature verification examples - Debug logging and monitoring This enables powerful integrations like: - Real-time sync with Todoist, TickTick, Notion - Slack/Discord notifications - Time tracking integration (Toggl, Clockify) - Custom automation workflows - Analytics and reporting dashboards The webhook system is designed to be reliable, secure, and performant while maintaining TaskNotes' core responsiveness.
2025-08-12 10:02:29 +00:00
Returns registered hooks. Secrets are not returned.
feat(api): add webhook support for real-time event notifications Webhooks enable real-time integrations by sending HTTP POST requests to configured endpoints when TaskNotes events occur. This opens up powerful automation and sync capabilities for external services. **New Webhook Features:** - Complete webhook management system with CRUD operations - 12+ event types covering tasks, time tracking, and pomodoro sessions - HMAC-SHA256 signature verification for security - Automatic retries with exponential backoff - Delivery tracking and failure monitoring - Auto-disable after repeated failures **Event Types:** - Task events: created, updated, deleted, completed, archived, unarchived - Time tracking: started, stopped - Pomodoro: started, completed, interrupted - Recurring: instance completed **API Endpoints:** - POST /api/webhooks - Register new webhook - GET /api/webhooks - List configured webhooks - DELETE /api/webhooks/{id} - Remove webhook - GET /api/webhooks/deliveries - View delivery history **Settings Integration:** - Webhook management UI in HTTP API settings tab - Event subscription selection - Enable/disable individual webhooks - Success/failure statistics display **Security & Reliability:** - HMAC signatures for payload verification - 10-second timeout per delivery - 3 automatic retries with backoff - Webhook secrets auto-generated - Non-blocking async delivery **Documentation:** - Comprehensive webhook guide with examples - Integration patterns for popular services - Security best practices - Testing utilities and sample code **Testing:** - Webhook test server (test-webhook.js) - Signature verification examples - Debug logging and monitoring This enables powerful integrations like: - Real-time sync with Todoist, TickTick, Notion - Slack/Discord notifications - Time tracking integration (Toggl, Clockify) - Custom automation workflows - Analytics and reporting dashboards The webhook system is designed to be reliable, secure, and performant while maintaining TaskNotes' core responsiveness.
2025-08-12 10:02:29 +00:00
### Delete
feat(api): add webhook support for real-time event notifications Webhooks enable real-time integrations by sending HTTP POST requests to configured endpoints when TaskNotes events occur. This opens up powerful automation and sync capabilities for external services. **New Webhook Features:** - Complete webhook management system with CRUD operations - 12+ event types covering tasks, time tracking, and pomodoro sessions - HMAC-SHA256 signature verification for security - Automatic retries with exponential backoff - Delivery tracking and failure monitoring - Auto-disable after repeated failures **Event Types:** - Task events: created, updated, deleted, completed, archived, unarchived - Time tracking: started, stopped - Pomodoro: started, completed, interrupted - Recurring: instance completed **API Endpoints:** - POST /api/webhooks - Register new webhook - GET /api/webhooks - List configured webhooks - DELETE /api/webhooks/{id} - Remove webhook - GET /api/webhooks/deliveries - View delivery history **Settings Integration:** - Webhook management UI in HTTP API settings tab - Event subscription selection - Enable/disable individual webhooks - Success/failure statistics display **Security & Reliability:** - HMAC signatures for payload verification - 10-second timeout per delivery - 3 automatic retries with backoff - Webhook secrets auto-generated - Non-blocking async delivery **Documentation:** - Comprehensive webhook guide with examples - Integration patterns for popular services - Security best practices - Testing utilities and sample code **Testing:** - Webhook test server (test-webhook.js) - Signature verification examples - Debug logging and monitoring This enables powerful integrations like: - Real-time sync with Todoist, TickTick, Notion - Slack/Discord notifications - Time tracking integration (Toggl, Clockify) - Custom automation workflows - Analytics and reporting dashboards The webhook system is designed to be reliable, secure, and performant while maintaining TaskNotes' core responsiveness.
2025-08-12 10:02:29 +00:00
`DELETE /api/webhooks/:id`
feat(api): add webhook support for real-time event notifications Webhooks enable real-time integrations by sending HTTP POST requests to configured endpoints when TaskNotes events occur. This opens up powerful automation and sync capabilities for external services. **New Webhook Features:** - Complete webhook management system with CRUD operations - 12+ event types covering tasks, time tracking, and pomodoro sessions - HMAC-SHA256 signature verification for security - Automatic retries with exponential backoff - Delivery tracking and failure monitoring - Auto-disable after repeated failures **Event Types:** - Task events: created, updated, deleted, completed, archived, unarchived - Time tracking: started, stopped - Pomodoro: started, completed, interrupted - Recurring: instance completed **API Endpoints:** - POST /api/webhooks - Register new webhook - GET /api/webhooks - List configured webhooks - DELETE /api/webhooks/{id} - Remove webhook - GET /api/webhooks/deliveries - View delivery history **Settings Integration:** - Webhook management UI in HTTP API settings tab - Event subscription selection - Enable/disable individual webhooks - Success/failure statistics display **Security & Reliability:** - HMAC signatures for payload verification - 10-second timeout per delivery - 3 automatic retries with backoff - Webhook secrets auto-generated - Non-blocking async delivery **Documentation:** - Comprehensive webhook guide with examples - Integration patterns for popular services - Security best practices - Testing utilities and sample code **Testing:** - Webhook test server (test-webhook.js) - Signature verification examples - Debug logging and monitoring This enables powerful integrations like: - Real-time sync with Todoist, TickTick, Notion - Slack/Discord notifications - Time tracking integration (Toggl, Clockify) - Custom automation workflows - Analytics and reporting dashboards The webhook system is designed to be reliable, secure, and performant while maintaining TaskNotes' core responsiveness.
2025-08-12 10:02:29 +00:00
### Delivery History
feat(api): add webhook support for real-time event notifications Webhooks enable real-time integrations by sending HTTP POST requests to configured endpoints when TaskNotes events occur. This opens up powerful automation and sync capabilities for external services. **New Webhook Features:** - Complete webhook management system with CRUD operations - 12+ event types covering tasks, time tracking, and pomodoro sessions - HMAC-SHA256 signature verification for security - Automatic retries with exponential backoff - Delivery tracking and failure monitoring - Auto-disable after repeated failures **Event Types:** - Task events: created, updated, deleted, completed, archived, unarchived - Time tracking: started, stopped - Pomodoro: started, completed, interrupted - Recurring: instance completed **API Endpoints:** - POST /api/webhooks - Register new webhook - GET /api/webhooks - List configured webhooks - DELETE /api/webhooks/{id} - Remove webhook - GET /api/webhooks/deliveries - View delivery history **Settings Integration:** - Webhook management UI in HTTP API settings tab - Event subscription selection - Enable/disable individual webhooks - Success/failure statistics display **Security & Reliability:** - HMAC signatures for payload verification - 10-second timeout per delivery - 3 automatic retries with backoff - Webhook secrets auto-generated - Non-blocking async delivery **Documentation:** - Comprehensive webhook guide with examples - Integration patterns for popular services - Security best practices - Testing utilities and sample code **Testing:** - Webhook test server (test-webhook.js) - Signature verification examples - Debug logging and monitoring This enables powerful integrations like: - Real-time sync with Todoist, TickTick, Notion - Slack/Discord notifications - Time tracking integration (Toggl, Clockify) - Custom automation workflows - Analytics and reporting dashboards The webhook system is designed to be reliable, secure, and performant while maintaining TaskNotes' core responsiveness.
2025-08-12 10:02:29 +00:00
`GET /api/webhooks/deliveries`
feat(api): add webhook support for real-time event notifications Webhooks enable real-time integrations by sending HTTP POST requests to configured endpoints when TaskNotes events occur. This opens up powerful automation and sync capabilities for external services. **New Webhook Features:** - Complete webhook management system with CRUD operations - 12+ event types covering tasks, time tracking, and pomodoro sessions - HMAC-SHA256 signature verification for security - Automatic retries with exponential backoff - Delivery tracking and failure monitoring - Auto-disable after repeated failures **Event Types:** - Task events: created, updated, deleted, completed, archived, unarchived - Time tracking: started, stopped - Pomodoro: started, completed, interrupted - Recurring: instance completed **API Endpoints:** - POST /api/webhooks - Register new webhook - GET /api/webhooks - List configured webhooks - DELETE /api/webhooks/{id} - Remove webhook - GET /api/webhooks/deliveries - View delivery history **Settings Integration:** - Webhook management UI in HTTP API settings tab - Event subscription selection - Enable/disable individual webhooks - Success/failure statistics display **Security & Reliability:** - HMAC signatures for payload verification - 10-second timeout per delivery - 3 automatic retries with backoff - Webhook secrets auto-generated - Non-blocking async delivery **Documentation:** - Comprehensive webhook guide with examples - Integration patterns for popular services - Security best practices - Testing utilities and sample code **Testing:** - Webhook test server (test-webhook.js) - Signature verification examples - Debug logging and monitoring This enables powerful integrations like: - Real-time sync with Todoist, TickTick, Notion - Slack/Discord notifications - Time tracking integration (Toggl, Clockify) - Custom automation workflows - Analytics and reporting dashboards The webhook system is designed to be reliable, secure, and performant while maintaining TaskNotes' core responsiveness.
2025-08-12 10:02:29 +00:00
Returns last 100 in-memory deliveries.
feat(api): add webhook support for real-time event notifications Webhooks enable real-time integrations by sending HTTP POST requests to configured endpoints when TaskNotes events occur. This opens up powerful automation and sync capabilities for external services. **New Webhook Features:** - Complete webhook management system with CRUD operations - 12+ event types covering tasks, time tracking, and pomodoro sessions - HMAC-SHA256 signature verification for security - Automatic retries with exponential backoff - Delivery tracking and failure monitoring - Auto-disable after repeated failures **Event Types:** - Task events: created, updated, deleted, completed, archived, unarchived - Time tracking: started, stopped - Pomodoro: started, completed, interrupted - Recurring: instance completed **API Endpoints:** - POST /api/webhooks - Register new webhook - GET /api/webhooks - List configured webhooks - DELETE /api/webhooks/{id} - Remove webhook - GET /api/webhooks/deliveries - View delivery history **Settings Integration:** - Webhook management UI in HTTP API settings tab - Event subscription selection - Enable/disable individual webhooks - Success/failure statistics display **Security & Reliability:** - HMAC signatures for payload verification - 10-second timeout per delivery - 3 automatic retries with backoff - Webhook secrets auto-generated - Non-blocking async delivery **Documentation:** - Comprehensive webhook guide with examples - Integration patterns for popular services - Security best practices - Testing utilities and sample code **Testing:** - Webhook test server (test-webhook.js) - Signature verification examples - Debug logging and monitoring This enables powerful integrations like: - Real-time sync with Todoist, TickTick, Notion - Slack/Discord notifications - Time tracking integration (Toggl, Clockify) - Custom automation workflows - Analytics and reporting dashboards The webhook system is designed to be reliable, secure, and performant while maintaining TaskNotes' core responsiveness.
2025-08-12 10:02:29 +00:00
## Delivery Behavior
feat(api): add webhook support for real-time event notifications Webhooks enable real-time integrations by sending HTTP POST requests to configured endpoints when TaskNotes events occur. This opens up powerful automation and sync capabilities for external services. **New Webhook Features:** - Complete webhook management system with CRUD operations - 12+ event types covering tasks, time tracking, and pomodoro sessions - HMAC-SHA256 signature verification for security - Automatic retries with exponential backoff - Delivery tracking and failure monitoring - Auto-disable after repeated failures **Event Types:** - Task events: created, updated, deleted, completed, archived, unarchived - Time tracking: started, stopped - Pomodoro: started, completed, interrupted - Recurring: instance completed **API Endpoints:** - POST /api/webhooks - Register new webhook - GET /api/webhooks - List configured webhooks - DELETE /api/webhooks/{id} - Remove webhook - GET /api/webhooks/deliveries - View delivery history **Settings Integration:** - Webhook management UI in HTTP API settings tab - Event subscription selection - Enable/disable individual webhooks - Success/failure statistics display **Security & Reliability:** - HMAC signatures for payload verification - 10-second timeout per delivery - 3 automatic retries with backoff - Webhook secrets auto-generated - Non-blocking async delivery **Documentation:** - Comprehensive webhook guide with examples - Integration patterns for popular services - Security best practices - Testing utilities and sample code **Testing:** - Webhook test server (test-webhook.js) - Signature verification examples - Debug logging and monitoring This enables powerful integrations like: - Real-time sync with Todoist, TickTick, Notion - Slack/Discord notifications - Time tracking integration (Toggl, Clockify) - Custom automation workflows - Analytics and reporting dashboards The webhook system is designed to be reliable, secure, and performant while maintaining TaskNotes' core responsiveness.
2025-08-12 10:02:29 +00:00
Current implementation behavior:
feat(api): add webhook support for real-time event notifications Webhooks enable real-time integrations by sending HTTP POST requests to configured endpoints when TaskNotes events occur. This opens up powerful automation and sync capabilities for external services. **New Webhook Features:** - Complete webhook management system with CRUD operations - 12+ event types covering tasks, time tracking, and pomodoro sessions - HMAC-SHA256 signature verification for security - Automatic retries with exponential backoff - Delivery tracking and failure monitoring - Auto-disable after repeated failures **Event Types:** - Task events: created, updated, deleted, completed, archived, unarchived - Time tracking: started, stopped - Pomodoro: started, completed, interrupted - Recurring: instance completed **API Endpoints:** - POST /api/webhooks - Register new webhook - GET /api/webhooks - List configured webhooks - DELETE /api/webhooks/{id} - Remove webhook - GET /api/webhooks/deliveries - View delivery history **Settings Integration:** - Webhook management UI in HTTP API settings tab - Event subscription selection - Enable/disable individual webhooks - Success/failure statistics display **Security & Reliability:** - HMAC signatures for payload verification - 10-second timeout per delivery - 3 automatic retries with backoff - Webhook secrets auto-generated - Non-blocking async delivery **Documentation:** - Comprehensive webhook guide with examples - Integration patterns for popular services - Security best practices - Testing utilities and sample code **Testing:** - Webhook test server (test-webhook.js) - Signature verification examples - Debug logging and monitoring This enables powerful integrations like: - Real-time sync with Todoist, TickTick, Notion - Slack/Discord notifications - Time tracking integration (Toggl, Clockify) - Custom automation workflows - Analytics and reporting dashboards The webhook system is designed to be reliable, secure, and performant while maintaining TaskNotes' core responsiveness.
2025-08-12 10:02:29 +00:00
- Webhook processing is asynchronous (fire-and-forget from task operation).
- Each delivery starts with one attempt.
- Failed deliveries retry with exponential backoff: `1s`, `2s`, `4s`.
- Maximum retries: `3` retries after initial attempt (up to 4 attempts total).
- If cumulative `failureCount` for a webhook exceeds `10`, webhook is auto-disabled.
- No explicit request timeout is set in delivery fetch.
feat(api): add webhook support for real-time event notifications Webhooks enable real-time integrations by sending HTTP POST requests to configured endpoints when TaskNotes events occur. This opens up powerful automation and sync capabilities for external services. **New Webhook Features:** - Complete webhook management system with CRUD operations - 12+ event types covering tasks, time tracking, and pomodoro sessions - HMAC-SHA256 signature verification for security - Automatic retries with exponential backoff - Delivery tracking and failure monitoring - Auto-disable after repeated failures **Event Types:** - Task events: created, updated, deleted, completed, archived, unarchived - Time tracking: started, stopped - Pomodoro: started, completed, interrupted - Recurring: instance completed **API Endpoints:** - POST /api/webhooks - Register new webhook - GET /api/webhooks - List configured webhooks - DELETE /api/webhooks/{id} - Remove webhook - GET /api/webhooks/deliveries - View delivery history **Settings Integration:** - Webhook management UI in HTTP API settings tab - Event subscription selection - Enable/disable individual webhooks - Success/failure statistics display **Security & Reliability:** - HMAC signatures for payload verification - 10-second timeout per delivery - 3 automatic retries with backoff - Webhook secrets auto-generated - Non-blocking async delivery **Documentation:** - Comprehensive webhook guide with examples - Integration patterns for popular services - Security best practices - Testing utilities and sample code **Testing:** - Webhook test server (test-webhook.js) - Signature verification examples - Debug logging and monitoring This enables powerful integrations like: - Real-time sync with Todoist, TickTick, Notion - Slack/Discord notifications - Time tracking integration (Toggl, Clockify) - Custom automation workflows - Analytics and reporting dashboards The webhook system is designed to be reliable, secure, and performant while maintaining TaskNotes' core responsiveness.
2025-08-12 10:02:29 +00:00
Because retries and duplicates are possible, handlers should be idempotent.
feat(api): add webhook support for real-time event notifications Webhooks enable real-time integrations by sending HTTP POST requests to configured endpoints when TaskNotes events occur. This opens up powerful automation and sync capabilities for external services. **New Webhook Features:** - Complete webhook management system with CRUD operations - 12+ event types covering tasks, time tracking, and pomodoro sessions - HMAC-SHA256 signature verification for security - Automatic retries with exponential backoff - Delivery tracking and failure monitoring - Auto-disable after repeated failures **Event Types:** - Task events: created, updated, deleted, completed, archived, unarchived - Time tracking: started, stopped - Pomodoro: started, completed, interrupted - Recurring: instance completed **API Endpoints:** - POST /api/webhooks - Register new webhook - GET /api/webhooks - List configured webhooks - DELETE /api/webhooks/{id} - Remove webhook - GET /api/webhooks/deliveries - View delivery history **Settings Integration:** - Webhook management UI in HTTP API settings tab - Event subscription selection - Enable/disable individual webhooks - Success/failure statistics display **Security & Reliability:** - HMAC signatures for payload verification - 10-second timeout per delivery - 3 automatic retries with backoff - Webhook secrets auto-generated - Non-blocking async delivery **Documentation:** - Comprehensive webhook guide with examples - Integration patterns for popular services - Security best practices - Testing utilities and sample code **Testing:** - Webhook test server (test-webhook.js) - Signature verification examples - Debug logging and monitoring This enables powerful integrations like: - Real-time sync with Todoist, TickTick, Notion - Slack/Discord notifications - Time tracking integration (Toggl, Clockify) - Custom automation workflows - Analytics and reporting dashboards The webhook system is designed to be reliable, secure, and performant while maintaining TaskNotes' core responsiveness.
2025-08-12 10:02:29 +00:00
## Signature Verification
feat(api): add webhook support for real-time event notifications Webhooks enable real-time integrations by sending HTTP POST requests to configured endpoints when TaskNotes events occur. This opens up powerful automation and sync capabilities for external services. **New Webhook Features:** - Complete webhook management system with CRUD operations - 12+ event types covering tasks, time tracking, and pomodoro sessions - HMAC-SHA256 signature verification for security - Automatic retries with exponential backoff - Delivery tracking and failure monitoring - Auto-disable after repeated failures **Event Types:** - Task events: created, updated, deleted, completed, archived, unarchived - Time tracking: started, stopped - Pomodoro: started, completed, interrupted - Recurring: instance completed **API Endpoints:** - POST /api/webhooks - Register new webhook - GET /api/webhooks - List configured webhooks - DELETE /api/webhooks/{id} - Remove webhook - GET /api/webhooks/deliveries - View delivery history **Settings Integration:** - Webhook management UI in HTTP API settings tab - Event subscription selection - Enable/disable individual webhooks - Success/failure statistics display **Security & Reliability:** - HMAC signatures for payload verification - 10-second timeout per delivery - 3 automatic retries with backoff - Webhook secrets auto-generated - Non-blocking async delivery **Documentation:** - Comprehensive webhook guide with examples - Integration patterns for popular services - Security best practices - Testing utilities and sample code **Testing:** - Webhook test server (test-webhook.js) - Signature verification examples - Debug logging and monitoring This enables powerful integrations like: - Real-time sync with Todoist, TickTick, Notion - Slack/Discord notifications - Time tracking integration (Toggl, Clockify) - Custom automation workflows - Analytics and reporting dashboards The webhook system is designed to be reliable, secure, and performant while maintaining TaskNotes' core responsiveness.
2025-08-12 10:02:29 +00:00
When `corsHeaders` is enabled (default), delivery includes:
feat(api): add webhook support for real-time event notifications Webhooks enable real-time integrations by sending HTTP POST requests to configured endpoints when TaskNotes events occur. This opens up powerful automation and sync capabilities for external services. **New Webhook Features:** - Complete webhook management system with CRUD operations - 12+ event types covering tasks, time tracking, and pomodoro sessions - HMAC-SHA256 signature verification for security - Automatic retries with exponential backoff - Delivery tracking and failure monitoring - Auto-disable after repeated failures **Event Types:** - Task events: created, updated, deleted, completed, archived, unarchived - Time tracking: started, stopped - Pomodoro: started, completed, interrupted - Recurring: instance completed **API Endpoints:** - POST /api/webhooks - Register new webhook - GET /api/webhooks - List configured webhooks - DELETE /api/webhooks/{id} - Remove webhook - GET /api/webhooks/deliveries - View delivery history **Settings Integration:** - Webhook management UI in HTTP API settings tab - Event subscription selection - Enable/disable individual webhooks - Success/failure statistics display **Security & Reliability:** - HMAC signatures for payload verification - 10-second timeout per delivery - 3 automatic retries with backoff - Webhook secrets auto-generated - Non-blocking async delivery **Documentation:** - Comprehensive webhook guide with examples - Integration patterns for popular services - Security best practices - Testing utilities and sample code **Testing:** - Webhook test server (test-webhook.js) - Signature verification examples - Debug logging and monitoring This enables powerful integrations like: - Real-time sync with Todoist, TickTick, Notion - Slack/Discord notifications - Time tracking integration (Toggl, Clockify) - Custom automation workflows - Analytics and reporting dashboards The webhook system is designed to be reliable, secure, and performant while maintaining TaskNotes' core responsiveness.
2025-08-12 10:02:29 +00:00
- `X-TaskNotes-Event`
- `X-TaskNotes-Signature`
- `X-TaskNotes-Delivery-ID`
feat(api): add webhook support for real-time event notifications Webhooks enable real-time integrations by sending HTTP POST requests to configured endpoints when TaskNotes events occur. This opens up powerful automation and sync capabilities for external services. **New Webhook Features:** - Complete webhook management system with CRUD operations - 12+ event types covering tasks, time tracking, and pomodoro sessions - HMAC-SHA256 signature verification for security - Automatic retries with exponential backoff - Delivery tracking and failure monitoring - Auto-disable after repeated failures **Event Types:** - Task events: created, updated, deleted, completed, archived, unarchived - Time tracking: started, stopped - Pomodoro: started, completed, interrupted - Recurring: instance completed **API Endpoints:** - POST /api/webhooks - Register new webhook - GET /api/webhooks - List configured webhooks - DELETE /api/webhooks/{id} - Remove webhook - GET /api/webhooks/deliveries - View delivery history **Settings Integration:** - Webhook management UI in HTTP API settings tab - Event subscription selection - Enable/disable individual webhooks - Success/failure statistics display **Security & Reliability:** - HMAC signatures for payload verification - 10-second timeout per delivery - 3 automatic retries with backoff - Webhook secrets auto-generated - Non-blocking async delivery **Documentation:** - Comprehensive webhook guide with examples - Integration patterns for popular services - Security best practices - Testing utilities and sample code **Testing:** - Webhook test server (test-webhook.js) - Signature verification examples - Debug logging and monitoring This enables powerful integrations like: - Real-time sync with Todoist, TickTick, Notion - Slack/Discord notifications - Time tracking integration (Toggl, Clockify) - Custom automation workflows - Analytics and reporting dashboards The webhook system is designed to be reliable, secure, and performant while maintaining TaskNotes' core responsiveness.
2025-08-12 10:02:29 +00:00
Signature is HMAC-SHA256 over `JSON.stringify(payload)` using webhook `secret`.
feat(api): add webhook support for real-time event notifications Webhooks enable real-time integrations by sending HTTP POST requests to configured endpoints when TaskNotes events occur. This opens up powerful automation and sync capabilities for external services. **New Webhook Features:** - Complete webhook management system with CRUD operations - 12+ event types covering tasks, time tracking, and pomodoro sessions - HMAC-SHA256 signature verification for security - Automatic retries with exponential backoff - Delivery tracking and failure monitoring - Auto-disable after repeated failures **Event Types:** - Task events: created, updated, deleted, completed, archived, unarchived - Time tracking: started, stopped - Pomodoro: started, completed, interrupted - Recurring: instance completed **API Endpoints:** - POST /api/webhooks - Register new webhook - GET /api/webhooks - List configured webhooks - DELETE /api/webhooks/{id} - Remove webhook - GET /api/webhooks/deliveries - View delivery history **Settings Integration:** - Webhook management UI in HTTP API settings tab - Event subscription selection - Enable/disable individual webhooks - Success/failure statistics display **Security & Reliability:** - HMAC signatures for payload verification - 10-second timeout per delivery - 3 automatic retries with backoff - Webhook secrets auto-generated - Non-blocking async delivery **Documentation:** - Comprehensive webhook guide with examples - Integration patterns for popular services - Security best practices - Testing utilities and sample code **Testing:** - Webhook test server (test-webhook.js) - Signature verification examples - Debug logging and monitoring This enables powerful integrations like: - Real-time sync with Todoist, TickTick, Notion - Slack/Discord notifications - Time tracking integration (Toggl, Clockify) - Custom automation workflows - Analytics and reporting dashboards The webhook system is designed to be reliable, secure, and performant while maintaining TaskNotes' core responsiveness.
2025-08-12 10:02:29 +00:00
Node.js example:
```javascript
const crypto = require("crypto");
feat(api): add webhook support for real-time event notifications Webhooks enable real-time integrations by sending HTTP POST requests to configured endpoints when TaskNotes events occur. This opens up powerful automation and sync capabilities for external services. **New Webhook Features:** - Complete webhook management system with CRUD operations - 12+ event types covering tasks, time tracking, and pomodoro sessions - HMAC-SHA256 signature verification for security - Automatic retries with exponential backoff - Delivery tracking and failure monitoring - Auto-disable after repeated failures **Event Types:** - Task events: created, updated, deleted, completed, archived, unarchived - Time tracking: started, stopped - Pomodoro: started, completed, interrupted - Recurring: instance completed **API Endpoints:** - POST /api/webhooks - Register new webhook - GET /api/webhooks - List configured webhooks - DELETE /api/webhooks/{id} - Remove webhook - GET /api/webhooks/deliveries - View delivery history **Settings Integration:** - Webhook management UI in HTTP API settings tab - Event subscription selection - Enable/disable individual webhooks - Success/failure statistics display **Security & Reliability:** - HMAC signatures for payload verification - 10-second timeout per delivery - 3 automatic retries with backoff - Webhook secrets auto-generated - Non-blocking async delivery **Documentation:** - Comprehensive webhook guide with examples - Integration patterns for popular services - Security best practices - Testing utilities and sample code **Testing:** - Webhook test server (test-webhook.js) - Signature verification examples - Debug logging and monitoring This enables powerful integrations like: - Real-time sync with Todoist, TickTick, Notion - Slack/Discord notifications - Time tracking integration (Toggl, Clockify) - Custom automation workflows - Analytics and reporting dashboards The webhook system is designed to be reliable, secure, and performant while maintaining TaskNotes' core responsiveness.
2025-08-12 10:02:29 +00:00
function verifyWebhook(payload, signature, secret) {
const expected = crypto
.createHmac("sha256", secret)
.update(JSON.stringify(payload))
.digest("hex");
return signature === expected;
}
feat(api): add webhook support for real-time event notifications Webhooks enable real-time integrations by sending HTTP POST requests to configured endpoints when TaskNotes events occur. This opens up powerful automation and sync capabilities for external services. **New Webhook Features:** - Complete webhook management system with CRUD operations - 12+ event types covering tasks, time tracking, and pomodoro sessions - HMAC-SHA256 signature verification for security - Automatic retries with exponential backoff - Delivery tracking and failure monitoring - Auto-disable after repeated failures **Event Types:** - Task events: created, updated, deleted, completed, archived, unarchived - Time tracking: started, stopped - Pomodoro: started, completed, interrupted - Recurring: instance completed **API Endpoints:** - POST /api/webhooks - Register new webhook - GET /api/webhooks - List configured webhooks - DELETE /api/webhooks/{id} - Remove webhook - GET /api/webhooks/deliveries - View delivery history **Settings Integration:** - Webhook management UI in HTTP API settings tab - Event subscription selection - Enable/disable individual webhooks - Success/failure statistics display **Security & Reliability:** - HMAC signatures for payload verification - 10-second timeout per delivery - 3 automatic retries with backoff - Webhook secrets auto-generated - Non-blocking async delivery **Documentation:** - Comprehensive webhook guide with examples - Integration patterns for popular services - Security best practices - Testing utilities and sample code **Testing:** - Webhook test server (test-webhook.js) - Signature verification examples - Debug logging and monitoring This enables powerful integrations like: - Real-time sync with Todoist, TickTick, Notion - Slack/Discord notifications - Time tracking integration (Toggl, Clockify) - Custom automation workflows - Analytics and reporting dashboards The webhook system is designed to be reliable, secure, and performant while maintaining TaskNotes' core responsiveness.
2025-08-12 10:02:29 +00:00
```
## Payload Transformations
feat(api): add webhook support for real-time event notifications Webhooks enable real-time integrations by sending HTTP POST requests to configured endpoints when TaskNotes events occur. This opens up powerful automation and sync capabilities for external services. **New Webhook Features:** - Complete webhook management system with CRUD operations - 12+ event types covering tasks, time tracking, and pomodoro sessions - HMAC-SHA256 signature verification for security - Automatic retries with exponential backoff - Delivery tracking and failure monitoring - Auto-disable after repeated failures **Event Types:** - Task events: created, updated, deleted, completed, archived, unarchived - Time tracking: started, stopped - Pomodoro: started, completed, interrupted - Recurring: instance completed **API Endpoints:** - POST /api/webhooks - Register new webhook - GET /api/webhooks - List configured webhooks - DELETE /api/webhooks/{id} - Remove webhook - GET /api/webhooks/deliveries - View delivery history **Settings Integration:** - Webhook management UI in HTTP API settings tab - Event subscription selection - Enable/disable individual webhooks - Success/failure statistics display **Security & Reliability:** - HMAC signatures for payload verification - 10-second timeout per delivery - 3 automatic retries with backoff - Webhook secrets auto-generated - Non-blocking async delivery **Documentation:** - Comprehensive webhook guide with examples - Integration patterns for popular services - Security best practices - Testing utilities and sample code **Testing:** - Webhook test server (test-webhook.js) - Signature verification examples - Debug logging and monitoring This enables powerful integrations like: - Real-time sync with Todoist, TickTick, Notion - Slack/Discord notifications - Time tracking integration (Toggl, Clockify) - Custom automation workflows - Analytics and reporting dashboards The webhook system is designed to be reliable, secure, and performant while maintaining TaskNotes' core responsiveness.
2025-08-12 10:02:29 +00:00
A webhook can specify `transformFile` pointing to a file in your vault.
feat(api): add webhook support for real-time event notifications Webhooks enable real-time integrations by sending HTTP POST requests to configured endpoints when TaskNotes events occur. This opens up powerful automation and sync capabilities for external services. **New Webhook Features:** - Complete webhook management system with CRUD operations - 12+ event types covering tasks, time tracking, and pomodoro sessions - HMAC-SHA256 signature verification for security - Automatic retries with exponential backoff - Delivery tracking and failure monitoring - Auto-disable after repeated failures **Event Types:** - Task events: created, updated, deleted, completed, archived, unarchived - Time tracking: started, stopped - Pomodoro: started, completed, interrupted - Recurring: instance completed **API Endpoints:** - POST /api/webhooks - Register new webhook - GET /api/webhooks - List configured webhooks - DELETE /api/webhooks/{id} - Remove webhook - GET /api/webhooks/deliveries - View delivery history **Settings Integration:** - Webhook management UI in HTTP API settings tab - Event subscription selection - Enable/disable individual webhooks - Success/failure statistics display **Security & Reliability:** - HMAC signatures for payload verification - 10-second timeout per delivery - 3 automatic retries with backoff - Webhook secrets auto-generated - Non-blocking async delivery **Documentation:** - Comprehensive webhook guide with examples - Integration patterns for popular services - Security best practices - Testing utilities and sample code **Testing:** - Webhook test server (test-webhook.js) - Signature verification examples - Debug logging and monitoring This enables powerful integrations like: - Real-time sync with Todoist, TickTick, Notion - Slack/Discord notifications - Time tracking integration (Toggl, Clockify) - Custom automation workflows - Analytics and reporting dashboards The webhook system is designed to be reliable, secure, and performant while maintaining TaskNotes' core responsiveness.
2025-08-12 10:02:29 +00:00
Supported file types:
feat(api): add webhook support for real-time event notifications Webhooks enable real-time integrations by sending HTTP POST requests to configured endpoints when TaskNotes events occur. This opens up powerful automation and sync capabilities for external services. **New Webhook Features:** - Complete webhook management system with CRUD operations - 12+ event types covering tasks, time tracking, and pomodoro sessions - HMAC-SHA256 signature verification for security - Automatic retries with exponential backoff - Delivery tracking and failure monitoring - Auto-disable after repeated failures **Event Types:** - Task events: created, updated, deleted, completed, archived, unarchived - Time tracking: started, stopped - Pomodoro: started, completed, interrupted - Recurring: instance completed **API Endpoints:** - POST /api/webhooks - Register new webhook - GET /api/webhooks - List configured webhooks - DELETE /api/webhooks/{id} - Remove webhook - GET /api/webhooks/deliveries - View delivery history **Settings Integration:** - Webhook management UI in HTTP API settings tab - Event subscription selection - Enable/disable individual webhooks - Success/failure statistics display **Security & Reliability:** - HMAC signatures for payload verification - 10-second timeout per delivery - 3 automatic retries with backoff - Webhook secrets auto-generated - Non-blocking async delivery **Documentation:** - Comprehensive webhook guide with examples - Integration patterns for popular services - Security best practices - Testing utilities and sample code **Testing:** - Webhook test server (test-webhook.js) - Signature verification examples - Debug logging and monitoring This enables powerful integrations like: - Real-time sync with Todoist, TickTick, Notion - Slack/Discord notifications - Time tracking integration (Toggl, Clockify) - Custom automation workflows - Analytics and reporting dashboards The webhook system is designed to be reliable, secure, and performant while maintaining TaskNotes' core responsiveness.
2025-08-12 10:02:29 +00:00
- `.js`: JavaScript transform function
- `.json`: event template map with variable interpolation
feat(api): add webhook support for real-time event notifications Webhooks enable real-time integrations by sending HTTP POST requests to configured endpoints when TaskNotes events occur. This opens up powerful automation and sync capabilities for external services. **New Webhook Features:** - Complete webhook management system with CRUD operations - 12+ event types covering tasks, time tracking, and pomodoro sessions - HMAC-SHA256 signature verification for security - Automatic retries with exponential backoff - Delivery tracking and failure monitoring - Auto-disable after repeated failures **Event Types:** - Task events: created, updated, deleted, completed, archived, unarchived - Time tracking: started, stopped - Pomodoro: started, completed, interrupted - Recurring: instance completed **API Endpoints:** - POST /api/webhooks - Register new webhook - GET /api/webhooks - List configured webhooks - DELETE /api/webhooks/{id} - Remove webhook - GET /api/webhooks/deliveries - View delivery history **Settings Integration:** - Webhook management UI in HTTP API settings tab - Event subscription selection - Enable/disable individual webhooks - Success/failure statistics display **Security & Reliability:** - HMAC signatures for payload verification - 10-second timeout per delivery - 3 automatic retries with backoff - Webhook secrets auto-generated - Non-blocking async delivery **Documentation:** - Comprehensive webhook guide with examples - Integration patterns for popular services - Security best practices - Testing utilities and sample code **Testing:** - Webhook test server (test-webhook.js) - Signature verification examples - Debug logging and monitoring This enables powerful integrations like: - Real-time sync with Todoist, TickTick, Notion - Slack/Discord notifications - Time tracking integration (Toggl, Clockify) - Custom automation workflows - Analytics and reporting dashboards The webhook system is designed to be reliable, secure, and performant while maintaining TaskNotes' core responsiveness.
2025-08-12 10:02:29 +00:00
If transform execution fails, TaskNotes falls back to original payload.
feat(api): add webhook support for real-time event notifications Webhooks enable real-time integrations by sending HTTP POST requests to configured endpoints when TaskNotes events occur. This opens up powerful automation and sync capabilities for external services. **New Webhook Features:** - Complete webhook management system with CRUD operations - 12+ event types covering tasks, time tracking, and pomodoro sessions - HMAC-SHA256 signature verification for security - Automatic retries with exponential backoff - Delivery tracking and failure monitoring - Auto-disable after repeated failures **Event Types:** - Task events: created, updated, deleted, completed, archived, unarchived - Time tracking: started, stopped - Pomodoro: started, completed, interrupted - Recurring: instance completed **API Endpoints:** - POST /api/webhooks - Register new webhook - GET /api/webhooks - List configured webhooks - DELETE /api/webhooks/{id} - Remove webhook - GET /api/webhooks/deliveries - View delivery history **Settings Integration:** - Webhook management UI in HTTP API settings tab - Event subscription selection - Enable/disable individual webhooks - Success/failure statistics display **Security & Reliability:** - HMAC signatures for payload verification - 10-second timeout per delivery - 3 automatic retries with backoff - Webhook secrets auto-generated - Non-blocking async delivery **Documentation:** - Comprehensive webhook guide with examples - Integration patterns for popular services - Security best practices - Testing utilities and sample code **Testing:** - Webhook test server (test-webhook.js) - Signature verification examples - Debug logging and monitoring This enables powerful integrations like: - Real-time sync with Todoist, TickTick, Notion - Slack/Discord notifications - Time tracking integration (Toggl, Clockify) - Custom automation workflows - Analytics and reporting dashboards The webhook system is designed to be reliable, secure, and performant while maintaining TaskNotes' core responsiveness.
2025-08-12 10:02:29 +00:00
### JavaScript Transform Files
feat(api): add webhook support for real-time event notifications Webhooks enable real-time integrations by sending HTTP POST requests to configured endpoints when TaskNotes events occur. This opens up powerful automation and sync capabilities for external services. **New Webhook Features:** - Complete webhook management system with CRUD operations - 12+ event types covering tasks, time tracking, and pomodoro sessions - HMAC-SHA256 signature verification for security - Automatic retries with exponential backoff - Delivery tracking and failure monitoring - Auto-disable after repeated failures **Event Types:** - Task events: created, updated, deleted, completed, archived, unarchived - Time tracking: started, stopped - Pomodoro: started, completed, interrupted - Recurring: instance completed **API Endpoints:** - POST /api/webhooks - Register new webhook - GET /api/webhooks - List configured webhooks - DELETE /api/webhooks/{id} - Remove webhook - GET /api/webhooks/deliveries - View delivery history **Settings Integration:** - Webhook management UI in HTTP API settings tab - Event subscription selection - Enable/disable individual webhooks - Success/failure statistics display **Security & Reliability:** - HMAC signatures for payload verification - 10-second timeout per delivery - 3 automatic retries with backoff - Webhook secrets auto-generated - Non-blocking async delivery **Documentation:** - Comprehensive webhook guide with examples - Integration patterns for popular services - Security best practices - Testing utilities and sample code **Testing:** - Webhook test server (test-webhook.js) - Signature verification examples - Debug logging and monitoring This enables powerful integrations like: - Real-time sync with Todoist, TickTick, Notion - Slack/Discord notifications - Time tracking integration (Toggl, Clockify) - Custom automation workflows - Analytics and reporting dashboards The webhook system is designed to be reliable, secure, and performant while maintaining TaskNotes' core responsiveness.
2025-08-12 10:02:29 +00:00
Expected format:
feat(api): add webhook support for real-time event notifications Webhooks enable real-time integrations by sending HTTP POST requests to configured endpoints when TaskNotes events occur. This opens up powerful automation and sync capabilities for external services. **New Webhook Features:** - Complete webhook management system with CRUD operations - 12+ event types covering tasks, time tracking, and pomodoro sessions - HMAC-SHA256 signature verification for security - Automatic retries with exponential backoff - Delivery tracking and failure monitoring - Auto-disable after repeated failures **Event Types:** - Task events: created, updated, deleted, completed, archived, unarchived - Time tracking: started, stopped - Pomodoro: started, completed, interrupted - Recurring: instance completed **API Endpoints:** - POST /api/webhooks - Register new webhook - GET /api/webhooks - List configured webhooks - DELETE /api/webhooks/{id} - Remove webhook - GET /api/webhooks/deliveries - View delivery history **Settings Integration:** - Webhook management UI in HTTP API settings tab - Event subscription selection - Enable/disable individual webhooks - Success/failure statistics display **Security & Reliability:** - HMAC signatures for payload verification - 10-second timeout per delivery - 3 automatic retries with backoff - Webhook secrets auto-generated - Non-blocking async delivery **Documentation:** - Comprehensive webhook guide with examples - Integration patterns for popular services - Security best practices - Testing utilities and sample code **Testing:** - Webhook test server (test-webhook.js) - Signature verification examples - Debug logging and monitoring This enables powerful integrations like: - Real-time sync with Todoist, TickTick, Notion - Slack/Discord notifications - Time tracking integration (Toggl, Clockify) - Custom automation workflows - Analytics and reporting dashboards The webhook system is designed to be reliable, secure, and performant while maintaining TaskNotes' core responsiveness.
2025-08-12 10:02:29 +00:00
```javascript
function transform(payload) {
return payload;
}
feat(api): add webhook support for real-time event notifications Webhooks enable real-time integrations by sending HTTP POST requests to configured endpoints when TaskNotes events occur. This opens up powerful automation and sync capabilities for external services. **New Webhook Features:** - Complete webhook management system with CRUD operations - 12+ event types covering tasks, time tracking, and pomodoro sessions - HMAC-SHA256 signature verification for security - Automatic retries with exponential backoff - Delivery tracking and failure monitoring - Auto-disable after repeated failures **Event Types:** - Task events: created, updated, deleted, completed, archived, unarchived - Time tracking: started, stopped - Pomodoro: started, completed, interrupted - Recurring: instance completed **API Endpoints:** - POST /api/webhooks - Register new webhook - GET /api/webhooks - List configured webhooks - DELETE /api/webhooks/{id} - Remove webhook - GET /api/webhooks/deliveries - View delivery history **Settings Integration:** - Webhook management UI in HTTP API settings tab - Event subscription selection - Enable/disable individual webhooks - Success/failure statistics display **Security & Reliability:** - HMAC signatures for payload verification - 10-second timeout per delivery - 3 automatic retries with backoff - Webhook secrets auto-generated - Non-blocking async delivery **Documentation:** - Comprehensive webhook guide with examples - Integration patterns for popular services - Security best practices - Testing utilities and sample code **Testing:** - Webhook test server (test-webhook.js) - Signature verification examples - Debug logging and monitoring This enables powerful integrations like: - Real-time sync with Todoist, TickTick, Notion - Slack/Discord notifications - Time tracking integration (Toggl, Clockify) - Custom automation workflows - Analytics and reporting dashboards The webhook system is designed to be reliable, secure, and performant while maintaining TaskNotes' core responsiveness.
2025-08-12 10:02:29 +00:00
```
Execution model:
- File is read from the vault.
- Code is executed with `new Function(...)`.
- Returned value becomes the outgoing request body.
Important behavior:
- Returning `null` does not skip delivery. Payload body becomes JSON `null`.
- Returning an array does not fan out to multiple URLs. Array is posted to the configured single URL.
- `console.log` is available because code runs in plugin runtime context.
Example:
```javascript
function transform(payload) {
if (payload.event === "task.completed") {
return {
text: `Completed: ${payload.data.task.title}`,
event: payload.event,
at: payload.timestamp,
};
}
return payload;
}
```
### JSON Transform Files
Structure:
```json
{
"task.completed": {
"text": "Task completed: ${data.task.title}",
"vault": "${vault.name}"
},
"default": {
"text": "TaskNotes event: ${event}"
}
}
```
Rules:
- Matching order: exact event key, then `default`.
- Variables use `${path.to.value}`.
- Missing variables are left unchanged.
## CORS and Headers
Webhook delivery requests are outbound server-side requests from TaskNotes.
`corsHeaders` behavior:
- `true` (default): sends TaskNotes custom headers including signature.
- `false`: only sends `Content-Type: application/json`.
Disable custom headers for endpoints that reject non-standard headers.
## Testing
feat(api): add webhook support for real-time event notifications Webhooks enable real-time integrations by sending HTTP POST requests to configured endpoints when TaskNotes events occur. This opens up powerful automation and sync capabilities for external services. **New Webhook Features:** - Complete webhook management system with CRUD operations - 12+ event types covering tasks, time tracking, and pomodoro sessions - HMAC-SHA256 signature verification for security - Automatic retries with exponential backoff - Delivery tracking and failure monitoring - Auto-disable after repeated failures **Event Types:** - Task events: created, updated, deleted, completed, archived, unarchived - Time tracking: started, stopped - Pomodoro: started, completed, interrupted - Recurring: instance completed **API Endpoints:** - POST /api/webhooks - Register new webhook - GET /api/webhooks - List configured webhooks - DELETE /api/webhooks/{id} - Remove webhook - GET /api/webhooks/deliveries - View delivery history **Settings Integration:** - Webhook management UI in HTTP API settings tab - Event subscription selection - Enable/disable individual webhooks - Success/failure statistics display **Security & Reliability:** - HMAC signatures for payload verification - 10-second timeout per delivery - 3 automatic retries with backoff - Webhook secrets auto-generated - Non-blocking async delivery **Documentation:** - Comprehensive webhook guide with examples - Integration patterns for popular services - Security best practices - Testing utilities and sample code **Testing:** - Webhook test server (test-webhook.js) - Signature verification examples - Debug logging and monitoring This enables powerful integrations like: - Real-time sync with Todoist, TickTick, Notion - Slack/Discord notifications - Time tracking integration (Toggl, Clockify) - Custom automation workflows - Analytics and reporting dashboards The webhook system is designed to be reliable, secure, and performant while maintaining TaskNotes' core responsiveness.
2025-08-12 10:02:29 +00:00
### Local Test Server
Use repository script:
```bash
node test-webhook.js
```
Optional custom port:
feat(api): add webhook support for real-time event notifications Webhooks enable real-time integrations by sending HTTP POST requests to configured endpoints when TaskNotes events occur. This opens up powerful automation and sync capabilities for external services. **New Webhook Features:** - Complete webhook management system with CRUD operations - 12+ event types covering tasks, time tracking, and pomodoro sessions - HMAC-SHA256 signature verification for security - Automatic retries with exponential backoff - Delivery tracking and failure monitoring - Auto-disable after repeated failures **Event Types:** - Task events: created, updated, deleted, completed, archived, unarchived - Time tracking: started, stopped - Pomodoro: started, completed, interrupted - Recurring: instance completed **API Endpoints:** - POST /api/webhooks - Register new webhook - GET /api/webhooks - List configured webhooks - DELETE /api/webhooks/{id} - Remove webhook - GET /api/webhooks/deliveries - View delivery history **Settings Integration:** - Webhook management UI in HTTP API settings tab - Event subscription selection - Enable/disable individual webhooks - Success/failure statistics display **Security & Reliability:** - HMAC signatures for payload verification - 10-second timeout per delivery - 3 automatic retries with backoff - Webhook secrets auto-generated - Non-blocking async delivery **Documentation:** - Comprehensive webhook guide with examples - Integration patterns for popular services - Security best practices - Testing utilities and sample code **Testing:** - Webhook test server (test-webhook.js) - Signature verification examples - Debug logging and monitoring This enables powerful integrations like: - Real-time sync with Todoist, TickTick, Notion - Slack/Discord notifications - Time tracking integration (Toggl, Clockify) - Custom automation workflows - Analytics and reporting dashboards The webhook system is designed to be reliable, secure, and performant while maintaining TaskNotes' core responsiveness.
2025-08-12 10:02:29 +00:00
```bash
node test-webhook.js 8080
feat(api): add webhook support for real-time event notifications Webhooks enable real-time integrations by sending HTTP POST requests to configured endpoints when TaskNotes events occur. This opens up powerful automation and sync capabilities for external services. **New Webhook Features:** - Complete webhook management system with CRUD operations - 12+ event types covering tasks, time tracking, and pomodoro sessions - HMAC-SHA256 signature verification for security - Automatic retries with exponential backoff - Delivery tracking and failure monitoring - Auto-disable after repeated failures **Event Types:** - Task events: created, updated, deleted, completed, archived, unarchived - Time tracking: started, stopped - Pomodoro: started, completed, interrupted - Recurring: instance completed **API Endpoints:** - POST /api/webhooks - Register new webhook - GET /api/webhooks - List configured webhooks - DELETE /api/webhooks/{id} - Remove webhook - GET /api/webhooks/deliveries - View delivery history **Settings Integration:** - Webhook management UI in HTTP API settings tab - Event subscription selection - Enable/disable individual webhooks - Success/failure statistics display **Security & Reliability:** - HMAC signatures for payload verification - 10-second timeout per delivery - 3 automatic retries with backoff - Webhook secrets auto-generated - Non-blocking async delivery **Documentation:** - Comprehensive webhook guide with examples - Integration patterns for popular services - Security best practices - Testing utilities and sample code **Testing:** - Webhook test server (test-webhook.js) - Signature verification examples - Debug logging and monitoring This enables powerful integrations like: - Real-time sync with Todoist, TickTick, Notion - Slack/Discord notifications - Time tracking integration (Toggl, Clockify) - Custom automation workflows - Analytics and reporting dashboards The webhook system is designed to be reliable, secure, and performant while maintaining TaskNotes' core responsiveness.
2025-08-12 10:02:29 +00:00
```
Default server values:
feat(api): add webhook support for real-time event notifications Webhooks enable real-time integrations by sending HTTP POST requests to configured endpoints when TaskNotes events occur. This opens up powerful automation and sync capabilities for external services. **New Webhook Features:** - Complete webhook management system with CRUD operations - 12+ event types covering tasks, time tracking, and pomodoro sessions - HMAC-SHA256 signature verification for security - Automatic retries with exponential backoff - Delivery tracking and failure monitoring - Auto-disable after repeated failures **Event Types:** - Task events: created, updated, deleted, completed, archived, unarchived - Time tracking: started, stopped - Pomodoro: started, completed, interrupted - Recurring: instance completed **API Endpoints:** - POST /api/webhooks - Register new webhook - GET /api/webhooks - List configured webhooks - DELETE /api/webhooks/{id} - Remove webhook - GET /api/webhooks/deliveries - View delivery history **Settings Integration:** - Webhook management UI in HTTP API settings tab - Event subscription selection - Enable/disable individual webhooks - Success/failure statistics display **Security & Reliability:** - HMAC signatures for payload verification - 10-second timeout per delivery - 3 automatic retries with backoff - Webhook secrets auto-generated - Non-blocking async delivery **Documentation:** - Comprehensive webhook guide with examples - Integration patterns for popular services - Security best practices - Testing utilities and sample code **Testing:** - Webhook test server (test-webhook.js) - Signature verification examples - Debug logging and monitoring This enables powerful integrations like: - Real-time sync with Todoist, TickTick, Notion - Slack/Discord notifications - Time tracking integration (Toggl, Clockify) - Custom automation workflows - Analytics and reporting dashboards The webhook system is designed to be reliable, secure, and performant while maintaining TaskNotes' core responsiveness.
2025-08-12 10:02:29 +00:00
- URL: `http://localhost:3000/webhook`
- Test secret: `test-secret-key-for-tasknotes-webhooks`
feat(api): add webhook support for real-time event notifications Webhooks enable real-time integrations by sending HTTP POST requests to configured endpoints when TaskNotes events occur. This opens up powerful automation and sync capabilities for external services. **New Webhook Features:** - Complete webhook management system with CRUD operations - 12+ event types covering tasks, time tracking, and pomodoro sessions - HMAC-SHA256 signature verification for security - Automatic retries with exponential backoff - Delivery tracking and failure monitoring - Auto-disable after repeated failures **Event Types:** - Task events: created, updated, deleted, completed, archived, unarchived - Time tracking: started, stopped - Pomodoro: started, completed, interrupted - Recurring: instance completed **API Endpoints:** - POST /api/webhooks - Register new webhook - GET /api/webhooks - List configured webhooks - DELETE /api/webhooks/{id} - Remove webhook - GET /api/webhooks/deliveries - View delivery history **Settings Integration:** - Webhook management UI in HTTP API settings tab - Event subscription selection - Enable/disable individual webhooks - Success/failure statistics display **Security & Reliability:** - HMAC signatures for payload verification - 10-second timeout per delivery - 3 automatic retries with backoff - Webhook secrets auto-generated - Non-blocking async delivery **Documentation:** - Comprehensive webhook guide with examples - Integration patterns for popular services - Security best practices - Testing utilities and sample code **Testing:** - Webhook test server (test-webhook.js) - Signature verification examples - Debug logging and monitoring This enables powerful integrations like: - Real-time sync with Todoist, TickTick, Notion - Slack/Discord notifications - Time tracking integration (Toggl, Clockify) - Custom automation workflows - Analytics and reporting dashboards The webhook system is designed to be reliable, secure, and performant while maintaining TaskNotes' core responsiveness.
2025-08-12 10:02:29 +00:00
### External Inspection
feat(api): add webhook support for real-time event notifications Webhooks enable real-time integrations by sending HTTP POST requests to configured endpoints when TaskNotes events occur. This opens up powerful automation and sync capabilities for external services. **New Webhook Features:** - Complete webhook management system with CRUD operations - 12+ event types covering tasks, time tracking, and pomodoro sessions - HMAC-SHA256 signature verification for security - Automatic retries with exponential backoff - Delivery tracking and failure monitoring - Auto-disable after repeated failures **Event Types:** - Task events: created, updated, deleted, completed, archived, unarchived - Time tracking: started, stopped - Pomodoro: started, completed, interrupted - Recurring: instance completed **API Endpoints:** - POST /api/webhooks - Register new webhook - GET /api/webhooks - List configured webhooks - DELETE /api/webhooks/{id} - Remove webhook - GET /api/webhooks/deliveries - View delivery history **Settings Integration:** - Webhook management UI in HTTP API settings tab - Event subscription selection - Enable/disable individual webhooks - Success/failure statistics display **Security & Reliability:** - HMAC signatures for payload verification - 10-second timeout per delivery - 3 automatic retries with backoff - Webhook secrets auto-generated - Non-blocking async delivery **Documentation:** - Comprehensive webhook guide with examples - Integration patterns for popular services - Security best practices - Testing utilities and sample code **Testing:** - Webhook test server (test-webhook.js) - Signature verification examples - Debug logging and monitoring This enables powerful integrations like: - Real-time sync with Todoist, TickTick, Notion - Slack/Discord notifications - Time tracking integration (Toggl, Clockify) - Custom automation workflows - Analytics and reporting dashboards The webhook system is designed to be reliable, secure, and performant while maintaining TaskNotes' core responsiveness.
2025-08-12 10:02:29 +00:00
For quick inspection, use a request-bin tool such as `webhook.site`.
feat(api): add webhook support for real-time event notifications Webhooks enable real-time integrations by sending HTTP POST requests to configured endpoints when TaskNotes events occur. This opens up powerful automation and sync capabilities for external services. **New Webhook Features:** - Complete webhook management system with CRUD operations - 12+ event types covering tasks, time tracking, and pomodoro sessions - HMAC-SHA256 signature verification for security - Automatic retries with exponential backoff - Delivery tracking and failure monitoring - Auto-disable after repeated failures **Event Types:** - Task events: created, updated, deleted, completed, archived, unarchived - Time tracking: started, stopped - Pomodoro: started, completed, interrupted - Recurring: instance completed **API Endpoints:** - POST /api/webhooks - Register new webhook - GET /api/webhooks - List configured webhooks - DELETE /api/webhooks/{id} - Remove webhook - GET /api/webhooks/deliveries - View delivery history **Settings Integration:** - Webhook management UI in HTTP API settings tab - Event subscription selection - Enable/disable individual webhooks - Success/failure statistics display **Security & Reliability:** - HMAC signatures for payload verification - 10-second timeout per delivery - 3 automatic retries with backoff - Webhook secrets auto-generated - Non-blocking async delivery **Documentation:** - Comprehensive webhook guide with examples - Integration patterns for popular services - Security best practices - Testing utilities and sample code **Testing:** - Webhook test server (test-webhook.js) - Signature verification examples - Debug logging and monitoring This enables powerful integrations like: - Real-time sync with Todoist, TickTick, Notion - Slack/Discord notifications - Time tracking integration (Toggl, Clockify) - Custom automation workflows - Analytics and reporting dashboards The webhook system is designed to be reliable, secure, and performant while maintaining TaskNotes' core responsiveness.
2025-08-12 10:02:29 +00:00
## Troubleshooting
### No deliveries
feat(api): add webhook support for real-time event notifications Webhooks enable real-time integrations by sending HTTP POST requests to configured endpoints when TaskNotes events occur. This opens up powerful automation and sync capabilities for external services. **New Webhook Features:** - Complete webhook management system with CRUD operations - 12+ event types covering tasks, time tracking, and pomodoro sessions - HMAC-SHA256 signature verification for security - Automatic retries with exponential backoff - Delivery tracking and failure monitoring - Auto-disable after repeated failures **Event Types:** - Task events: created, updated, deleted, completed, archived, unarchived - Time tracking: started, stopped - Pomodoro: started, completed, interrupted - Recurring: instance completed **API Endpoints:** - POST /api/webhooks - Register new webhook - GET /api/webhooks - List configured webhooks - DELETE /api/webhooks/{id} - Remove webhook - GET /api/webhooks/deliveries - View delivery history **Settings Integration:** - Webhook management UI in HTTP API settings tab - Event subscription selection - Enable/disable individual webhooks - Success/failure statistics display **Security & Reliability:** - HMAC signatures for payload verification - 10-second timeout per delivery - 3 automatic retries with backoff - Webhook secrets auto-generated - Non-blocking async delivery **Documentation:** - Comprehensive webhook guide with examples - Integration patterns for popular services - Security best practices - Testing utilities and sample code **Testing:** - Webhook test server (test-webhook.js) - Signature verification examples - Debug logging and monitoring This enables powerful integrations like: - Real-time sync with Todoist, TickTick, Notion - Slack/Discord notifications - Time tracking integration (Toggl, Clockify) - Custom automation workflows - Analytics and reporting dashboards The webhook system is designed to be reliable, secure, and performant while maintaining TaskNotes' core responsiveness.
2025-08-12 10:02:29 +00:00
1. Confirm HTTP API is enabled.
2. Confirm webhook is active.
3. Confirm event is subscribed.
feat(api): add webhook support for real-time event notifications Webhooks enable real-time integrations by sending HTTP POST requests to configured endpoints when TaskNotes events occur. This opens up powerful automation and sync capabilities for external services. **New Webhook Features:** - Complete webhook management system with CRUD operations - 12+ event types covering tasks, time tracking, and pomodoro sessions - HMAC-SHA256 signature verification for security - Automatic retries with exponential backoff - Delivery tracking and failure monitoring - Auto-disable after repeated failures **Event Types:** - Task events: created, updated, deleted, completed, archived, unarchived - Time tracking: started, stopped - Pomodoro: started, completed, interrupted - Recurring: instance completed **API Endpoints:** - POST /api/webhooks - Register new webhook - GET /api/webhooks - List configured webhooks - DELETE /api/webhooks/{id} - Remove webhook - GET /api/webhooks/deliveries - View delivery history **Settings Integration:** - Webhook management UI in HTTP API settings tab - Event subscription selection - Enable/disable individual webhooks - Success/failure statistics display **Security & Reliability:** - HMAC signatures for payload verification - 10-second timeout per delivery - 3 automatic retries with backoff - Webhook secrets auto-generated - Non-blocking async delivery **Documentation:** - Comprehensive webhook guide with examples - Integration patterns for popular services - Security best practices - Testing utilities and sample code **Testing:** - Webhook test server (test-webhook.js) - Signature verification examples - Debug logging and monitoring This enables powerful integrations like: - Real-time sync with Todoist, TickTick, Notion - Slack/Discord notifications - Time tracking integration (Toggl, Clockify) - Custom automation workflows - Analytics and reporting dashboards The webhook system is designed to be reliable, secure, and performant while maintaining TaskNotes' core responsiveness.
2025-08-12 10:02:29 +00:00
### Signature mismatch
feat(api): add webhook support for real-time event notifications Webhooks enable real-time integrations by sending HTTP POST requests to configured endpoints when TaskNotes events occur. This opens up powerful automation and sync capabilities for external services. **New Webhook Features:** - Complete webhook management system with CRUD operations - 12+ event types covering tasks, time tracking, and pomodoro sessions - HMAC-SHA256 signature verification for security - Automatic retries with exponential backoff - Delivery tracking and failure monitoring - Auto-disable after repeated failures **Event Types:** - Task events: created, updated, deleted, completed, archived, unarchived - Time tracking: started, stopped - Pomodoro: started, completed, interrupted - Recurring: instance completed **API Endpoints:** - POST /api/webhooks - Register new webhook - GET /api/webhooks - List configured webhooks - DELETE /api/webhooks/{id} - Remove webhook - GET /api/webhooks/deliveries - View delivery history **Settings Integration:** - Webhook management UI in HTTP API settings tab - Event subscription selection - Enable/disable individual webhooks - Success/failure statistics display **Security & Reliability:** - HMAC signatures for payload verification - 10-second timeout per delivery - 3 automatic retries with backoff - Webhook secrets auto-generated - Non-blocking async delivery **Documentation:** - Comprehensive webhook guide with examples - Integration patterns for popular services - Security best practices - Testing utilities and sample code **Testing:** - Webhook test server (test-webhook.js) - Signature verification examples - Debug logging and monitoring This enables powerful integrations like: - Real-time sync with Todoist, TickTick, Notion - Slack/Discord notifications - Time tracking integration (Toggl, Clockify) - Custom automation workflows - Analytics and reporting dashboards The webhook system is designed to be reliable, secure, and performant while maintaining TaskNotes' core responsiveness.
2025-08-12 10:02:29 +00:00
1. Confirm secret matches webhook config.
2. Verify your verifier hashes the exact JSON body.
3. Verify hex digest comparison.
feat(api): add webhook support for real-time event notifications Webhooks enable real-time integrations by sending HTTP POST requests to configured endpoints when TaskNotes events occur. This opens up powerful automation and sync capabilities for external services. **New Webhook Features:** - Complete webhook management system with CRUD operations - 12+ event types covering tasks, time tracking, and pomodoro sessions - HMAC-SHA256 signature verification for security - Automatic retries with exponential backoff - Delivery tracking and failure monitoring - Auto-disable after repeated failures **Event Types:** - Task events: created, updated, deleted, completed, archived, unarchived - Time tracking: started, stopped - Pomodoro: started, completed, interrupted - Recurring: instance completed **API Endpoints:** - POST /api/webhooks - Register new webhook - GET /api/webhooks - List configured webhooks - DELETE /api/webhooks/{id} - Remove webhook - GET /api/webhooks/deliveries - View delivery history **Settings Integration:** - Webhook management UI in HTTP API settings tab - Event subscription selection - Enable/disable individual webhooks - Success/failure statistics display **Security & Reliability:** - HMAC signatures for payload verification - 10-second timeout per delivery - 3 automatic retries with backoff - Webhook secrets auto-generated - Non-blocking async delivery **Documentation:** - Comprehensive webhook guide with examples - Integration patterns for popular services - Security best practices - Testing utilities and sample code **Testing:** - Webhook test server (test-webhook.js) - Signature verification examples - Debug logging and monitoring This enables powerful integrations like: - Real-time sync with Todoist, TickTick, Notion - Slack/Discord notifications - Time tracking integration (Toggl, Clockify) - Custom automation workflows - Analytics and reporting dashboards The webhook system is designed to be reliable, secure, and performant while maintaining TaskNotes' core responsiveness.
2025-08-12 10:02:29 +00:00
### Webhook disabled automatically
If failures continue and `failureCount` exceeds 10, webhook is disabled.
1. Fix endpoint availability or response handling.
2. Re-enable webhook in TaskNotes settings, or recreate it via `POST /api/webhooks`.
### Transform errors
feat(api): add webhook support for real-time event notifications Webhooks enable real-time integrations by sending HTTP POST requests to configured endpoints when TaskNotes events occur. This opens up powerful automation and sync capabilities for external services. **New Webhook Features:** - Complete webhook management system with CRUD operations - 12+ event types covering tasks, time tracking, and pomodoro sessions - HMAC-SHA256 signature verification for security - Automatic retries with exponential backoff - Delivery tracking and failure monitoring - Auto-disable after repeated failures **Event Types:** - Task events: created, updated, deleted, completed, archived, unarchived - Time tracking: started, stopped - Pomodoro: started, completed, interrupted - Recurring: instance completed **API Endpoints:** - POST /api/webhooks - Register new webhook - GET /api/webhooks - List configured webhooks - DELETE /api/webhooks/{id} - Remove webhook - GET /api/webhooks/deliveries - View delivery history **Settings Integration:** - Webhook management UI in HTTP API settings tab - Event subscription selection - Enable/disable individual webhooks - Success/failure statistics display **Security & Reliability:** - HMAC signatures for payload verification - 10-second timeout per delivery - 3 automatic retries with backoff - Webhook secrets auto-generated - Non-blocking async delivery **Documentation:** - Comprehensive webhook guide with examples - Integration patterns for popular services - Security best practices - Testing utilities and sample code **Testing:** - Webhook test server (test-webhook.js) - Signature verification examples - Debug logging and monitoring This enables powerful integrations like: - Real-time sync with Todoist, TickTick, Notion - Slack/Discord notifications - Time tracking integration (Toggl, Clockify) - Custom automation workflows - Analytics and reporting dashboards The webhook system is designed to be reliable, secure, and performant while maintaining TaskNotes' core responsiveness.
2025-08-12 10:02:29 +00:00
1. Confirm `transformFile` exists in vault.
2. For JS, ensure `transform` function is defined.
3. Check Obsidian console logs for transform exceptions.