We’re building Ever Works in public. Some things may be incomplete, missing, or broken while we continue improving the platform.We’re building Ever Works in public — expect a few rough edges.
Operate · When things run
An autonomous runtime is only as trustworthy as your ability to answer “what is about to happen, and why”. Ever Works arms work two ways — on a clock you set, or on a signed event from outside — and then gathers every timer in the account into a single list at /activity → Schedules, showing what owns each schedule, its cadence, and its next run.
Six independent kinds of schedule, each owned by the thing it belongs to — set where you already work, then read back in one place.
Open a Work → Schedule and pick one of seven cadences — hourly, every 3, 8 or 12 hours, daily, weekly, monthly — then a billing mode: subscription counts against your plan, usage is pay-per-use and unlocks any cadence. Override the AI, search, screenshot, content-extractor or pipeline plugin for scheduled runs only, and hit Run now whenever you do not want to wait. After three consecutive failures (configurable 1–10) the schedule pauses itself instead of burning spend.
A Mission ships as one-shot; flip it to scheduled and give it a five-field cron — 0 9 * * * is every day at 09:00 UTC. Each tick checks the un-built Ideas already queued against the outstanding-Ideas cap (per-Mission, then your account default, then a platform default of 20) and skips generation rather than flooding you. Run now does an out-of-band tick and still honours the cap. Turn on Auto-build Works from spawned Ideas and a tick stops being a proposal: every Idea it spawns is queued straight into its own Work without a click, inside the Mission’s and the account’s spend caps — and a cap that is hit skips that build rather than retrying it.
Give an Agent a cron cadence — or leave it on manual — and it wakes on schedule even with nothing assigned. An idle tick is not a no-op: the Agent is asked for the single most useful next action and may create a task, comment on one it is part of, edit one of its own definition files to capture a learning, or observe and stop. Tune that per Agent with idleBehavior: propose, observe or noop.
The Schedule panel in a Task’s right rail has three exclusive modes. Recurring promotes the Task to a template — Daily, Weekly, Monthly or a custom RRULE, with an optional end date and a cap of 1–9999 occurrences — and spawns a fresh instance each time. Scheduled arms this exact Task for one instant instead: the panel reads Armed for, then Dispatched at once the slot fires.
Work you never have to schedule. Comparison pages regenerate every six hours; item source validation, community pull-request processing and website-template auto-updates each run hourly. Goals are swept every minute, with each individual Goal re-evaluated no more often than every 15 minutes. Digests compose at 07:15 UTC — daily, or Mondays on the same run.
Turn on Scheduled consolidation at /memory and the curation pass runs on your organization’s own cadence — Day, Week or Month — in Report only or Propose merges mode. The job fires daily at 08:37 UTC, deliberately after the digest window, and enforces your cadence against the last run so a weekly organization is never consolidated seven times a week.
Not everything happens on a clock. When something outside the platform changes, four routes turn that into work inside it.
At /tasks/triggers, New Trigger gives you a webhook URL, a signing secret shown exactly once, and a target Agent plus a task template. Sign each delivery with a hex HMAC-SHA256 over timestamp.rawBody and every verified call spawns a Task — assigned, and started immediately unless you asked it to wait in the backlog. Deliveries repeated inside the replay window (300 seconds by default, 10–86400) return the original Task instead of firing twice.
Test fire creates a real Task labelled trigger-test without a signature, without dispatching an agent and without touching your counters. Fire now runs the production path for real. Rotate secret is not a hard cutover — the previous secret keeps verifying for 24 hours so callers roll over on their own schedule. Pause and resume flip a trigger in place, and the fires log keeps the newest 50 deliveries with the outcome and spawned Task for each.
A trigger can listen to an ingested platform event instead of exposing a URL: match on the producing plugin id, a source-namespaced kind such as github.push (a trailing * wildcard is allowed), an exact Work id, or all three. Slack, GitHub and the other connectors all feed that same spine, and each event fires a given trigger at most once — a retried ingest drain never double-fires.
Where no first-party connector exists, the Composio trigger API subscribes against Composio’s own catalog and verifies each delivery with your project webhook secret, failing closed when none is set — though accepted deliveries only bump the subscription counters today; fanout into the event spine is still a follow-up. In the other direction, register HTTPS endpoints for signed outbound webhooks on the REST API page.
Seven sources — recurring Tasks, Agent heartbeats, Work schedules, Mission ticks, source validation, data sync and inbound triggers — aggregated into one list, sorted by next run.
Go to /activity and flip the Log / Schedules toggle in the page header. Each row carries an Owner, a Cadence, a Next run and a Status — Active, Paused, Disabled, Error or Ended.
Chips across the top narrow the list by source and each carries a count; a source with nothing scheduled gets no chip at all. An Active only checkbox hides everything currently switched off.
Every row links straight to the Work, Agent, Mission or Task that owns the schedule — so “why is this running at 3 a.m.?” is one click from an answer, not a hunt through settings.
Change the cadence on the owning entity and the view reflects it next time you open it. The one exception is the Inbound triggers panel below the list, where you can create, pause, rotate and delete without leaving the page.
The Schedules view is a read-only inventory, on purpose: one place that tells you the truth about what is armed, with the controls left on the thing that owns each schedule so a cadence is never changed from two places at once. That trade has consequences worth knowing before you build a routine around it — as does the one account-level switch that sits underneath every build on this page.
Runs on a schedule. Keeps content current, code patched, dead links fixed — long after launch.
Learn more →One-shot builders generate a site and stop. Ever Works keeps researching, writing, building, and improving — on a schedule.
Learn more →One trackable unit of work — status, priority, labels, acceptance checks, and an Agent that runs it — on a list or a kanban board.
Learn more →Give Ever Works an ongoing goal and it keeps generating ideas and building toward it — for as long as you let it.
Learn more →Every run, change, deploy and decision is a log row you can filter and export — and a Git commit you can diff.
Learn more →Everything the dashboard does is an authenticated REST call — documented with OpenAPI, callable with an API key, and observable through signed webhooks.
Learn more →Describe what you want to build. Ever Works researches it, ships it, and keeps it improving — content and code, owned in your own Git.