You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Let reusable workflows optionally report what they did to a Telegram chat, so a human can watch which action was triggered and what was actually executed without digging through Actions run logs — faster debugging during development.
Motivation
Right now the only way to see what a reusable workflow (route-issue-shared.yml, collect-issues-shared.yml, collect-pull-requests-shared.yml, and the proposal-lifecycle jobs proposed in #11) actually did on a given run is to open the Actions log. That's slow feedback while iterating on a consumer repo, and there's no push notification when something unexpected happens (no-op, error, unexpected route, etc.).
Proposed shape
Two new optional consumer-supplied values: a Telegram chat id (workflow_call input) and a bot token (workflow_call secret).
When both are present, a shared notification step posts a message via the Telegram Bot API (sendMessage) reporting: which job/workflow ran, what triggered it (event, issue/PR number), and the outcome (action taken, no-op, or error).
When either is omitted, behavior is unchanged today — fully opt-in per consumer, not a required input.
Implemented once as a shared composite action/step rather than duplicated inline HTTP calls in each workflow, so every reusable workflow can adopt it the same way.
A failure to deliver the Telegram notification must not fail the underlying workflow run.
Acceptance criteria
telegram_chat_id (input) and telegram_bot_token (secret) are optional on the reusable workflows that adopt this; omitting both is a clean no-op, not an error.
One shared step/action composes the report from job name, trigger context, and outcome — not copy-pasted per workflow.
The bot token is never logged or echoed into workflow output.
At least route-issue-shared.yml and one collect-*-shared.yml adopt it as reference implementations.
A Telegram API failure is caught and does not fail the calling job.
Documented in the README alongside the other reusable workflows.
Related
Explore a persistent multi-channel agent runtime #7 already lists Telegram as one of several transports for a future persistent multi-channel runtime; this issue is a narrower slice scoped to today's ephemeral Actions workflows — outbound reporting only, no inbound commands.
Add configurable process lifecycle hooks #6 covers hooking process outcomes to enqueue further agent work (fix/retrospective loops); this issue is a lighter-weight sibling — reporting an outcome, not acting on it.
Summary
Let reusable workflows optionally report what they did to a Telegram chat, so a human can watch which action was triggered and what was actually executed without digging through Actions run logs — faster debugging during development.
Motivation
Right now the only way to see what a reusable workflow (
route-issue-shared.yml,collect-issues-shared.yml,collect-pull-requests-shared.yml, and the proposal-lifecycle jobs proposed in #11) actually did on a given run is to open the Actions log. That's slow feedback while iterating on a consumer repo, and there's no push notification when something unexpected happens (no-op, error, unexpected route, etc.).Proposed shape
workflow_callinput) and a bot token (workflow_callsecret).sendMessage) reporting: which job/workflow ran, what triggered it (event, issue/PR number), and the outcome (action taken, no-op, or error).Acceptance criteria
telegram_chat_id(input) andtelegram_bot_token(secret) are optional on the reusable workflows that adopt this; omitting both is a clean no-op, not an error.route-issue-shared.ymland onecollect-*-shared.ymladopt it as reference implementations.Related