Summary
Setting up a recurring, proactively-delivered automation ("every weekday at 08:00, DM me a morning brief on Telegram") currently requires hand-assembling a prompt, a schedule expression and a delivery target. There is no catalogue of ready-made, parameterised automations, and nothing proposes useful automations to the user. A world-class, non-developer-friendly gateway should let a user stand up a proactive automation in one step, and should suggest relevant automations with explicit consent rather than requiring bespoke wiring.
Current behaviour
The scheduling primitives exist but stop at "run this prompt on this schedule":
# src/praisonai/praisonai/scheduler/agent_scheduler.py
class AgentScheduler(_BaseAgentScheduler):
def start(self, schedule_expr, max_retries=3, run_immediately=False) -> bool: ...
@classmethod
def from_yaml(cls, yaml_path, overrides) -> "AgentScheduler": ...
# CLI: src/praisonai/praisonai/cli/commands/schedule.py
praisonai schedule add NAME -s "cron:0 9 * * *"
There is no parameterised automation catalogue and no consent-first suggestion engine — confirmed by search: no blueprint/suggestion concept exists under scheduler/, jobs/ or cron. (This is distinct from delivery-target routing, which is tracked separately; this gap is about the authoring and discovery UX of proactive automations.)
Desired behaviour
- A blueprint catalogue: named, parameterised automation templates ("morning-brief", "important-mail", "weekly-review") with fillable slots (time, weekdays, focus areas) and a sensible default delivery target, rendered identically across CLI, YAML and Python (and a dashboard).
- A consent-first suggestion mechanism: the framework may propose an automation (e.g. after a recurring manual ask), capped and de-duplicated, that only becomes a real job when the user accepts. Nothing is ever auto-created.
Layer placement
- Primary layer: wrapper — schedules, jobs, CLI and dashboard already live here (
scheduler/, jobs/, cli/commands/schedule.py).
- Why not core: core stays protocol-only; a catalogue of concrete automations and their rendering is a heavy wrapper concern.
- Why not tools: a blueprint is not an agent-callable integration; it is operator/user-facing configuration.
- Why not plugins: it is first-class scheduling UX, not a lifecycle guardrail (though individual blueprints could later be contributed via plugins/skills).
- Secondary touch (optional): core — a tiny
Blueprint dataclass/protocol so wrapper, dashboard and any plugin describe automations uniformly.
- 3-way surface (CLI + YAML + Python): yes —
praisonai schedule blueprint morning-brief --hour 8; an automations: block in YAML; AgentScheduler.from_blueprint("morning-brief", hour=8).
Proposed approach
- Extension point: a
BlueprintCatalogue (wrapper) plus a consent-first SuggestionStore (atomic JSON, max-pending cap, dedup/latch).
- Minimal API sketch:
job = AgentScheduler.from_blueprint(
"morning-brief",
slots={"hour": 8, "weekdays": "mon-fri"},
deliver="telegram", # default delivery target
)
job.start()
Resolution sketch
# Before (today): hand-wire prompt + schedule + delivery separately
praisonai schedule add brief -s "cron:0 8 * * 1-5" # then craft the prompt & wire delivery by hand
# After (proposed): one parameterised step
praisonai schedule blueprint morning-brief --hour 8 --weekdays mon-fri --deliver telegram
# and consent-first:
# "Suggestion: create an 'important-mail' check every 30 min? [accept] [dismiss]"
Severity
Medium — the raw scheduling primitives exist, so this is an ease-of-use and adoption gap rather than a missing capability; but for a non-developer-friendly, world-class gateway it materially lowers the barrier to proactive automation.
Validation
Read scheduler/agent_scheduler.py, scheduler/async_agent_scheduler.py, scheduler/shared.py (ScheduleParser), jobs/ and cli/commands/schedule.py. Confirmed via search that no blueprint/suggestion/consent-proposal concept exists under scheduler/, jobs/ or cron. Existing from_yaml/from_recipe cover config loading but not parameterised automation templates or consent-first suggestions.
Summary
Setting up a recurring, proactively-delivered automation ("every weekday at 08:00, DM me a morning brief on Telegram") currently requires hand-assembling a prompt, a schedule expression and a delivery target. There is no catalogue of ready-made, parameterised automations, and nothing proposes useful automations to the user. A world-class, non-developer-friendly gateway should let a user stand up a proactive automation in one step, and should suggest relevant automations with explicit consent rather than requiring bespoke wiring.
Current behaviour
The scheduling primitives exist but stop at "run this prompt on this schedule":
There is no parameterised automation catalogue and no consent-first suggestion engine — confirmed by search: no
blueprint/suggestionconcept exists underscheduler/,jobs/orcron. (This is distinct from delivery-target routing, which is tracked separately; this gap is about the authoring and discovery UX of proactive automations.)Desired behaviour
Layer placement
scheduler/,jobs/,cli/commands/schedule.py).Blueprintdataclass/protocol so wrapper, dashboard and any plugin describe automations uniformly.praisonai schedule blueprint morning-brief --hour 8; anautomations:block in YAML;AgentScheduler.from_blueprint("morning-brief", hour=8).Proposed approach
BlueprintCatalogue(wrapper) plus a consent-firstSuggestionStore(atomic JSON, max-pending cap, dedup/latch).Resolution sketch
Severity
Medium — the raw scheduling primitives exist, so this is an ease-of-use and adoption gap rather than a missing capability; but for a non-developer-friendly, world-class gateway it materially lowers the barrier to proactive automation.
Validation
Read
scheduler/agent_scheduler.py,scheduler/async_agent_scheduler.py,scheduler/shared.py(ScheduleParser),jobs/andcli/commands/schedule.py. Confirmed via search that noblueprint/suggestion/consent-proposal concept exists underscheduler/,jobs/orcron. Existingfrom_yaml/from_recipecover config loading but not parameterised automation templates or consent-first suggestions.