Update task
Updates an existing AI task.
Request
- Base URL: https://api.crevio.co/v1
- URL: https://api.crevio.co/v1/tasks/{id}
- Auth: API key in header Authorization
Path parameters
The resource ID (e.g., "prod_abc123") or slug (e.g., "my-product")
Request body
agent runs prompt as an agent turn. script runs script on the account's computer with no agent and no model credits, for runs that are the same deterministic steps every time; it takes no prompt. To switch kind, send the new kind with its field and null for the other.
What the agent does on each run. Required for kind: agent, must be absent for kind: script.
What done means for one run: the checkable outcomes a finished run must have produced (a post is live at its URL, the report reached #sales, every new order has a tracking number). Every run is shown them and must check its result against them before it reports. Outcomes, not steps; the steps belong in prompt.
Which agent runs the task. Use engineering for pure code/build work on a site; defaults to business.
Cheap pre-run gate for recurring tasks (cron/interval). Plain JavaScript run in a sandboxed isolate against the same crevioApi.* connector as the execute tool, BEFORE each scheduled run — no LLM, no credits. The task only runs when the script's last expression (or explicit return) is truthy; it skips on false/null. Default to setting this whenever the task is "act only when X" (new/unfulfilled/failed records, a threshold crossed, an unread inbox, a metric at zero) — without it the agent wakes and spends credits on every tick even when there's nothing to do. Only omit it for tasks that genuinely should run every tick (e.g. a scheduled report the user always wants). End with a boolean, e.g. const r = await crevioApi.listOrders({ status: 'succeeded' }); r.data.some(o => o.fulfillment_status !== 'fulfilled'). Errors fail open (the task runs). Ignored for non-recurring triggers.
JavaScript run on the account's computer on each run; its logs and return value become the run's summary. Required for kind: script, must be absent for kind: agent.
Event tasks only: at most this many runs started by events per calendar day, in the account's time zone. Every further event that day is recorded as a skipped run (skip_reason: rate_limited) and starts nothing, webhook deliveries included. Test runs don't count. Set it whenever the user names a daily cap; null removes it.
Event tasks only: cooldown after a run started by an event. An event within this many seconds of that run is recorded as a skipped run (skip_reason: rate_limited) and starts nothing. Set it whenever the user says "at most once every N minutes"; null removes it.
Where each run's result is delivered. Omit it to get the default, in-app notification plus email; set it only when the user asked for a specific channel. [] delivers nowhere.
Event tasks only: what starts a run. event_type is one event from GET /v1/events. To run after another task finishes, use {event_type: "task_run.completed", after_task_id: "task_..."} (or task_run.failed to run when it fails): each real run of that task that finishes starts this one, and the run receives the finished run (id, summary, status) as event.data.object. Test runs start nothing. A chain that loops back on itself or runs longer than 5 tasks is refused. email_message.* events also take inbox_id; external.slack.* events take channel_id, from_user_id, reaction and channel_type; external.discord.* events (message, mention, reaction_added) take channel_id, from_user_id, emoji and guild_id.
Site this task works on (site_...); its repo is mounted as the run's workspace. Defaults to the account's default working site.
Response
Task updated
Event tasks: the most event-started runs per day (account time zone); later events are skipped as rate_limited.
Event tasks: the cooldown after an event-started run; events inside it are skipped as rate_limited.
How the task came to exist: user (a person made it in the dashboard), agent (the agent made it inside the chat origin_chat_id, whose person is created_by_id), or system (a built-in task).
The person (user_...) who made the task or asked for it. Null for built-in tasks.
The chat (aichat_...) the task was set up in. A member's chat opens only for that member.
Changes
No recorded changes to this operation across all 2 revisions of this API.