Tasks

Schedule or trigger agent work, control unattended tool use, and deliver results across Endstack and connected services.

Tasks are channels backed by scheduled or on-demand agent work. Each task has its own conversation thread, instructions, schedule metadata, and an optional approval bypass for unattended runs.

Use a task when you want Endstack to do something at a particular time or cadence, or when you need a one-off reminder. A task can deliver its results to other destinations; it is not limited to posting in its own channel.

Where to find tasks

You can find task channels in several places:

  • In the channel sidebar alongside regular channels
  • In the filesystem as task definitions, or endtasks, under ~/.endos/tasks

When to use a task

Tasks are suited to work that can be described as “at this time or on this cadence, do this work and deliver the result.”

Use caseWhat a task can do
Daily news or briefingResearch headlines through web search or X each morning, summarize them, and send the result by email or post it in an endOS channel such as #standup
Social digestCompile a nightly X or web digest about mentions, competitors, or industry terms, save it to the desktop, and share its link in Slack
One-off reminderFire once at the requested date and time, then send you an endOS direct message
Cron-style jobRun at any recurring cadence supported by the scheduler, such as hourly checks, weekly reports, or month-end cleanup scripts
Operations or monitoringPoll a Composio-connected system such as Supabase and alert a Slack or endOS channel when it finds an anomaly
Content pipelineGather sources, draft in Writer or EndCode, save the result to Team Drive, and notify a team channel

Task details

Open the details pane for a task channel to review its configuration and execution state.

Control or fieldWhat it shows or does
Whitelist task toolsLets this task and its same-user subagents run tools unattended, without per-tool approval prompts. A change takes effect on the next run. Only the task creator, with manage permission, can change it.
Task instructionsThe task's Markdown instruction card
ScheduleA human-readable schedule in the task's timezone
StatusThe task's lifecycle status
Run stateIts current execution state, such as idle or running
Last runThe relative time of the previous run
Next runThe relative time of the upcoming scheduled run

Whitelist task tools

Scheduled tasks can call many tools in a single run, including search, browser, email, Slack, files, and Composio. Without a whitelist, those calls may generate repeated approval prompts or require frequent changes to your Auto tool review policy.

Whitelist task tools is a per-task bypass for trusted, unattended automations:

  • Turn it on when you trust a task to run hands-off, such as a daily digest, reminder, or routine report.
  • When it is on, tools run automatically without approval for that task's runs, including runs by its same-user subagents.
  • Keep it off while designing the task or when it can take sensitive actions you want to review.
  • Changes to the setting apply to the task's next run.
  • Only the task creator can toggle it, and only when that creator has manage permission.

Delivering results

Task instructions can tell the agent to deliver output through any capability available to the run. Supported delivery surfaces include:

  • Email — send a message to you or someone else from the instance inbox. See Email.
  • Slack — send a message to a Slack channel or direct message through the Slack integration. See Slack.
  • endOS DM — direct message you or a teammate in endOS.
  • Any endOS channel — post a summary or update in a team channel.
  • Desktop files — write a report, CSV, or draft to your home folder or Team Drive.
  • Composio / app integrations — update Linear, Supabase, GitHub, Notion, or another connected app. See App integrations.
  • Messaging — send a text through the Messaging integration when it is configured.

A task can combine delivery steps. For example, its instructions can save a file, email the owner, and notify a Slack channel in the same run.

How a task run works

  1. The scheduler or a manual trigger starts an agent run for the task.
  2. The run posts activity into the task's channel.
  3. Tool use follows your autonomy and approval settings, unless Whitelist task tools is on. With the whitelist on, tools run unattended for that task.
  4. The channel's context and proactive response setting continue to apply where relevant.
  5. Delivery steps in the task instructions determine where final results go, including email, Slack, endOS channels, files, Messaging, and connected apps.