[FEATURE] Add API/webhook (event) trigger for Claude Cowork tasks — not just schedule cadence

Status Open
Maintainer reply None cached
Activity 1 comment · opened Sep 17, 2026

Preflight Checklist

  • [x] I have searched existing requests and this feature hasn't been requested yet
  • [x] This is a single feature request (not multiple features)

Problem Statement

Cowork's scheduled tasks currently only support fixed cadences (hourly / daily / weekly / weekdays / manual). There's no way to start a Cowork task from an external HTTP call or a message-queue event (a CI pipeline finishing, an alert firing, a message landing in SQS/Pub-Sub, a third-party SaaS webhook, etc.).

Claude Code Routines already solve almost exactly this problem for coding automation: each routine can have a Scheduled trigger, an API trigger (POST to a per-routine endpoint with a bearer token), and a GitHub-event trigger. Notably, several Cowork-scheduled-task issues in this repo are tagged with the area:routines label, whose own description reads "Claude Code routines on web, used for scheduled tasks, webhook-triggered tasks, etc." — suggesting Cowork's scheduled tasks and Routines already share the same underlying infrastructure, so much of the groundwork may already exist.

Proposed Solution

Extend the trigger model Claude Code Routines already has (Scheduled / API / GitHub event) to Cowork tasks (now part of the unified Claude app):

  • Let a Cowork task optionally get an "API trigger" (its own endpoint + bearer token), the same way Routines do.
  • Optionally support parsing an inbound webhook payload (generic JSON / common third-party formats) so a task can read the event that triggered it.

Alternative Solutions

_No response_

Priority

Critical - Blocking my work

Feature Category

CLI commands and flags

Use Case Example

  • Trigger a Cowork report-compilation task the moment a CI pipeline finishes, instead of waiting for the next scheduled run.
  • Fire a Cowork task when a message lands in an internal queue/topic (e.g. a new support ticket), instead of polling on a timer.

Additional Context

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗