Add selected-thread delivery and cron-to-heartbeat conversion for automations
Open 💬 6 comments Opened Jun 20, 2026 by parzival92
💡 Likely answer: A maintainer (github-actions[bot], contributor)
responded on this thread — see the highlighted reply below.
Feature request
Recurring Codex automations should have an explicit option to deliver each run into one selected, persistent thread instead of creating a separate chat per run.
This issue is intentionally focused on delivery and conversion behavior. Automation-run cleanup and retention policies are covered by #29179.
Current behavior
- A detached
cronautomation creates a separate chat for every run. - A thread
heartbeatcan continue in one chat, but this delivery choice is not clearly exposed when configuring a recurring automation. - An existing detached cron automation cannot be clearly converted to selected-thread delivery from the automation UI.
For a weekday morning brief, detached execution can create 15–20 separate chats each month even though the user wants one dedicated, scrollable “Morning Brief” conversation.
Requested behavior
Add automation delivery controls such as:
- Delivery destination:
New chat per runorContinue in selected thread. - A thread picker showing the selected destination thread.
- An easy way to convert an existing detached cron automation to thread/heartbeat delivery without recreating the automation.
- Preserve the automation’s schedule, prompt, enabled state, and history during conversion.
- Show the delivery mode and destination in automation settings.
Example
A weekday morning brief should be able to:
- run Monday–Friday at 8:00 AM;
- append each result to one dedicated “Weekday Morning Brief” thread;
- let the user scroll through prior briefs in that same conversation;
- avoid creating a new sidebar chat for every run.
Related request
Cleanup and retention for outdated automation runs, including age-based archival/deletion, are tracked in #29179.
6 Comments
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
Automation delivery should be a durable routing choice on the schedule. Store delivery mode, destination thread id, thread title, run id, last delivered message id, and conversion history from detached cron to selected-thread heartbeat.
Each run can then emit a receipt: created new thread, appended to selected thread, failed because destination missing, or rerouted by policy. That gives users one Morning Brief timeline without losing auditability for individual scheduled runs.
---
_Generated with ax._
Adding user-perspective signal. I have a persistent coordinator thread that I want scheduled checks to land in, instead of one new sidebar chat per run. The current split between detached cron and heartbeat makes the setup feel like an implementation detail.
For selected-thread delivery, the key requirements from my workflow are:
This would make weekday command-center style automations much easier to trust and maintain.
@Necmttn I agree that delivery should be modeled as durable routing metadata on the automation/schedule, not as an implicit side effect of cron vs heartbeat. The receipt idea is especially important: each run should make it clear whether it created a new thread, appended to the selected thread, failed because the destination was unavailable, or was rerouted by policy.
@TyronSamaroo yes, this is the user-facing problem exactly. The important bit is that the “one Morning Brief timeline” should not come at the cost of auditability. I still want per-run history/status, but I don’t want every run to become a new sidebar conversation.
I hit exactly this problem with a real daily automation on Codex Desktop.
A daily skill-sync watch was configured as a detached cron job. Each run created a separate sidebar conversation, even though I wanted every result to append to one persistent, pinned thread.
Impact:
crontoheartbeatand assigning atarget_thread_id.This should be a first-class routing choice on every recurring automation:
The destination should remain visible and editable, and conversion should preserve the schedule, prompt, enabled state, and run history.
Routing recurring background jobs back to a fixed channel/thread is a basic workflow in tools such as OpenClaw. Its absence makes migration to Codex much more difficult and creates substantial conversation-list clutter.