Why: Make easier to connect to Slack, Discord, email etc. Workglow has FetchUrlTask for HTTP but no structured integration tasks. Adding even basic notification tasks makes workflows immediately more useful for real-world automation.
What: Add WebhookNotifyTask (generic HTTP POST), SlackNotifyTask, and DiscordNotifyTask as simple, focused tasks.
Files to create:
packages/tasks/src/task/WebhookNotifyTask.ts - Generic HTTP webhook notification
packages/tasks/src/task/SlackNotifyTask.ts - Slack incoming webhook
packages/tasks/src/task/DiscordNotifyTask.ts - Discord webhook
Files to modify:
packages/tasks/src/common.ts - Export new tasks
packages/tasks/src/task/index.ts - Export from task dir
packages/task-graph/src/task-graph/Workflow.ts - Add .webhookNotify(), .slackNotify(), .discordNotify() methods
Pattern: Follows existing FetchUrlTask pattern. Each task extends Task<Input, Output> with well-defined schemas. They use fetch() internally (available in Bun/Node/Browser).
Why: Make easier to connect to Slack, Discord, email etc. Workglow has FetchUrlTask for HTTP but no structured integration tasks. Adding even basic notification tasks makes workflows immediately more useful for real-world automation.
What: Add WebhookNotifyTask (generic HTTP POST), SlackNotifyTask, and DiscordNotifyTask as simple, focused tasks.
Files to create:
packages/tasks/src/task/WebhookNotifyTask.ts - Generic HTTP webhook notification
packages/tasks/src/task/SlackNotifyTask.ts - Slack incoming webhook
packages/tasks/src/task/DiscordNotifyTask.ts - Discord webhook
Files to modify:
packages/tasks/src/common.ts - Export new tasks
packages/tasks/src/task/index.ts - Export from task dir
packages/task-graph/src/task-graph/Workflow.ts - Add .webhookNotify(), .slackNotify(), .discordNotify() methods
Pattern: Follows existing FetchUrlTask pattern. Each task extends Task<Input, Output> with well-defined schemas. They use fetch() internally (available in Bun/Node/Browser).