[{"data":1,"prerenderedAt":179},["ShallowReactive",2],{"doc:agents\u002Fschedules":3},{"title":4,"description":5,"url":6,"markdownPath":7,"file":8,"section":9,"sectionTitle":10,"html":11,"toc":12,"navigation":38,"previous":177,"next":178},"Schedules","Set one-time, daily or weekly reminders and recurring Agent work in L4, and recover a Schedule that is paused or blocked.","\u002Fdocs\u002Fagents\u002Fschedules","\u002Fdocs\u002Fagents\u002Fschedules.md","docs\u002Fagents\u002Fschedules.md","agents","Agents and MCP","\u003Cp>A Schedule triggers a reminder or Agent work at a time you choose, once, daily or weekly. It runs under the permissions you had when you saved it, and those permissions are checked again before every occurrence.\u003C\u002Fp>\n\u003Ch2 id=\"who-can-use-schedules\">\u003Ca class=\"heading-anchor\" href=\"#who-can-use-schedules\">Who can use Schedules\u003C\u002Fa>\u003C\u002Fh2>\n\u003Cp>Schedules need \u003Cstrong>Manage schedules\u003C\u002Fstrong> in your Role. No Role has it by default, not even Admin. When you have it, \u003Cstrong>Schedule\u003C\u002Fstrong> appears in the rail.\u003C\u002Fp>\n\u003Cp>Recurring Agent work additionally needs \u003Cstrong>Execute assigned tasks\u003C\u002Fstrong> and \u003Cstrong>Use agents\u003C\u002Fstrong> for you, and \u003Cstrong>Execute assigned tasks\u003C\u002Fstrong> for the Agent. Repository work also needs \u003Cstrong>Use a computer\u003C\u002Fstrong> for both.\u003C\u002Fp>\n\u003Ch2 id=\"kinds-of-schedule\">\u003Ca class=\"heading-anchor\" href=\"#kinds-of-schedule\">Kinds of Schedule\u003C\u002Fa>\u003C\u002Fh2>\n\u003Cul>\n\u003Cli>\u003Cstrong>Reminder\u003C\u002Fstrong> posts \u003Ccode>Reminder: …\u003C\u002Fcode> to the chosen conversation as you, at most 1,800 characters. It stays unread for you and sends you a push notification, so it reminds you even though you wrote it.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Run an assigned task\u003C\u002Fstrong> starts an Agent Run on a Task assigned to that Agent. It needs Agent execution configured on the Server and an active Agent. It stops by itself once the Task is done or archived.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2 id=\"create-a-schedule\">\u003Ca class=\"heading-anchor\" href=\"#create-a-schedule\">Create a Schedule\u003C\u002Fa>\u003C\u002Fh2>\n\u003Col>\n\u003Cli>Select \u003Cstrong>Schedule\u003C\u002Fstrong> in the rail.\u003C\u002Fli>\n\u003Cli>In \u003Cstrong>What should happen?\u003C\u002Fstrong>, write the reminder text or the instruction for the Agent.\u003C\u002Fli>\n\u003Cli>Choose the \u003Cstrong>Action\u003C\u002Fstrong>: \u003Cstrong>Reminder\u003C\u002Fstrong> or \u003Cstrong>Run an assigned task\u003C\u002Fstrong>.\u003C\u002Fli>\n\u003Cli>Choose the \u003Cstrong>Conversation\u003C\u002Fstrong>. For a task, also choose the \u003Cstrong>Assigned task\u003C\u002Fstrong>.\u003C\u002Fli>\n\u003Cli>Enter the \u003Cstrong>First time\u003C\u002Fstrong> and choose the \u003Cstrong>Timezone\u003C\u002Fstrong>. The form previews the time in that zone and in yours.\u003C\u002Fli>\n\u003Cli>Choose \u003Cstrong>Repeat\u003C\u002Fstrong>: \u003Cstrong>Once\u003C\u002Fstrong>, \u003Cstrong>Daily\u003C\u002Fstrong> or \u003Cstrong>Weekly\u003C\u002Fstrong>.\u003C\u002Fli>\n\u003Cli>Select \u003Cstrong>Schedule\u003C\u002Fstrong>.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>\u003Cfigure class=\"doc-shot doc-shot-missing\">\u003Cdiv class=\"doc-shot-frame\" role=\"img\" aria-label=\"The Schedules page with the new schedule form showing What should happen?, Action, Conversation, First time, Repeat and Timezone, and the Schedule button\">\u003Cspan class=\"doc-shot-label\">Screenshot coming soon\u003C\u002Fspan>\u003Cspan class=\"doc-shot-alt\">The Schedules page with the new schedule form showing What should happen?, Action, Conversation, First time, Repeat and Timezone, and the Schedule button\u003C\u002Fspan>\u003C\u002Fdiv>\u003Cfigcaption>Create a Schedule\u003C\u002Ffigcaption>\u003C\u002Ffigure>\u003C\u002Fp>\n\u003Cp>The first time must be between five seconds and 366 days ahead. Daily and weekly repetitions keep the same wall-clock time across daylight saving changes. A time that falls in a daylight saving gap moves to the first valid time, and a repeated hour uses its first occurrence; the form warns about both.\u003C\u002Fp>\n\u003Cp>You can have 50 active Schedules, paused ones included. The form shows how many you use, for example \u003Ccode>3 of 50 active\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Ch2 id=\"manage-schedules\">\u003Ca class=\"heading-anchor\" href=\"#manage-schedules\">Manage Schedules\u003C\u002Fa>\u003C\u002Fh2>\n\u003Cp>The list has \u003Cstrong>Current\u003C\u002Fstrong>, \u003Cstrong>Active\u003C\u002Fstrong>, \u003Cstrong>Paused\u003C\u002Fstrong>, \u003Cstrong>Blocked\u003C\u002Fstrong> and \u003Cstrong>History\u003C\u002Fstrong> filters. For each Schedule you can:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Pause\u003C\u002Fstrong> it, and \u003Cstrong>Resume\u003C\u002Fstrong> it later. Missed repetitions are skipped, never replayed. A one-time Schedule whose time has passed runs at once when resumed.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Edit\u003C\u002Fstrong> its text, next time, repeat or timezone, and for task work its Task. The action and conversation cannot change; cancel it and create a new one instead. Only the person who created a Schedule can edit it.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Cancel\u003C\u002Fstrong> it.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Remove\u003C\u002Fstrong> a completed or cancelled Schedule from your list.\u003C\u002Fli>\n\u003Cli>Open \u003Cstrong>History\u003C\u002Fstrong> to see recent occurrences with links to the delivered message or started Run.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Editing saves your current permissions as the Schedule&#39;s new ceiling. It never brings back a permission removed since you created it. While an occurrence is being delivered, you cannot change the time of an active Schedule; pause it first or wait until it finishes.\u003C\u002Fp>\n\u003Ch2 id=\"when-a-schedule-fails-or-is-blocked\">\u003Ca class=\"heading-anchor\" href=\"#when-a-schedule-fails-or-is-blocked\">When a Schedule fails or is blocked\u003C\u002Fa>\u003C\u002Fh2>\n\u003Cp>A temporary failure, such as a rate limit or the daily Run budget, is shown on the Schedule and retried after 30 seconds, 1 minute, 5 minutes, 15 minutes and 1 hour. After the last retry, the occurrence counts as missed: a repeating Schedule moves on to its next time, and a one-time Schedule becomes \u003Cstrong>blocked\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Cp>A Schedule is \u003Cstrong>blocked\u003C\u002Fstrong> at once when something it relies on is gone. The list shows the reason and a hint:\u003C\u002Fp>\n\u003Cdiv class=\"table-wrap\">\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Reason\u003C\u002Fth>\n\u003Cth>Cause\u003C\u002Fth>\n\u003Cth>What to do\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\u003Ctr>\n\u003Ctd>\u003Ccode>schedule_revoked\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>A Role, resource grant or Member was reduced or removed.\u003C\u002Ftd>\n\u003Ctd>Restore it, then \u003Cstrong>Resume\u003C\u002Fstrong>.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>channel_unavailable\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>The conversation was removed or no longer accepts your messages.\u003C\u002Ftd>\n\u003Ctd>Restore access, then \u003Cstrong>Resume\u003C\u002Fstrong>, or create a new Schedule.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>task_reassigned\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>The Task was assigned to someone else.\u003C\u002Ftd>\n\u003Ctd>Assign it back, then \u003Cstrong>Resume\u003C\u002Fstrong>.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>agent_unavailable\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>The Agent is paused or removed.\u003C\u002Ftd>\n\u003Ctd>Activate it, then \u003Cstrong>Resume\u003C\u002Fstrong>.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>pi_unconfigured\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>Agent execution is not configured on the Server.\u003C\u002Ftd>\n\u003Ctd>Ask the Server operator, then \u003Cstrong>Resume\u003C\u002Fstrong>.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>code_denied\u003C\u002Fcode>, \u003Ccode>code_revoked\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>The repository environment changed or computer permission was removed.\u003C\u002Ftd>\n\u003Ctd>Create a new Schedule after reviewing it.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Cp>\u003Cstrong>Resume\u003C\u002Fstrong> checks again first, so it fails with the same reason until the cause is fixed. Editing a blocked Schedule makes it active again once the edit passes the same checks.\u003C\u002Fp>\n\u003Cp>Archiving a channel blocks Schedules that post there until the channel is restored. You can always cancel a Schedule, even after losing access to its conversation; it is then listed as &quot;Conversation unavailable&quot;.\u003C\u002Fp>\n\u003Ch2 id=\"schedules-created-by-agents\">\u003Ca class=\"heading-anchor\" href=\"#schedules-created-by-agents\">Schedules created by Agents\u003C\u002Fa>\u003C\u002Fh2>\n\u003Cp>During a Run in a conversation, an Agent with \u003Cstrong>Manage schedules\u003C\u002Fstrong> can create, edit, list and cancel reminders in that conversation for you. Agents check the current Server time first and should confirm ambiguous times with you. A reminder an Agent created is the Agent&#39;s to edit.\u003C\u002Fp>\n\u003Ch2 id=\"api\">\u003Ca class=\"heading-anchor\" href=\"#api\">API\u003C\u002Fa>\u003C\u002Fh2>\n\u003Cp>Schedules also have an HTTP API under \u003Ccode>\u002Fapi\u002Fschedules\u003C\u002Fcode> for signed-in Members with \u003Cstrong>Manage schedules\u003C\u002Fstrong>. See \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Finchidev\u002Fllll\u002Fblob\u002Fmain\u002Fdocs\u002Fschedules.md#api\" rel=\"noopener\">docs\u002Fschedules.md\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch2 id=\"related\">\u003Ca class=\"heading-anchor\" href=\"#related\">Related\u003C\u002Fa>\u003C\u002Fh2>\n\u003Cul>\n\u003Cli>\u003Ca href=\"\u002Fdocs\u002Fagents\u002Foverview\">Agents overview\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"\u002Fdocs\u002Fguides\u002Fnotifications\">Notifications\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n",[13,17,20,23,26,29,32,35],{"id":14,"text":15,"depth":16},"who-can-use-schedules","Who can use Schedules",2,{"id":18,"text":19,"depth":16},"kinds-of-schedule","Kinds of Schedule",{"id":21,"text":22,"depth":16},"create-a-schedule","Create a Schedule",{"id":24,"text":25,"depth":16},"manage-schedules","Manage Schedules",{"id":27,"text":28,"depth":16},"when-a-schedule-fails-or-is-blocked","When a Schedule fails or is blocked",{"id":30,"text":31,"depth":16},"schedules-created-by-agents","Schedules created by Agents",{"id":33,"text":34,"depth":16},"api","API",{"id":36,"text":37,"depth":16},"related","Related",[39,64,92,108,127,145,167],{"id":40,"title":41,"pages":42},"get-started","Get started",[43,46,49,52,55,58,61],{"title":44,"url":45},"What is L4","\u002Fdocs\u002Fget-started\u002Fwhat-is-l4",{"title":47,"url":48},"Choose how to run your Server","\u002Fdocs\u002Fget-started\u002Fchoose-how-to-run",{"title":50,"url":51},"Create a Server on Cloudflare","\u002Fdocs\u002Fget-started\u002Fcreate-on-cloudflare",{"title":53,"url":54},"Install on a VPS","\u002Fdocs\u002Fget-started\u002Finstall-on-a-vps",{"title":56,"url":57},"Connect to a Server","\u002Fdocs\u002Fget-started\u002Fconnect-a-server",{"title":59,"url":60},"Invite your team","\u002Fdocs\u002Fget-started\u002Finvite-your-team",{"title":62,"url":63},"Create your first Agent","\u002Fdocs\u002Fget-started\u002Ffirst-agent",{"id":65,"title":66,"pages":67},"cloudflare","Cloudflare",[68,71,74,77,80,83,86,89],{"title":69,"url":70},"L4 on Cloudflare","\u002Fdocs\u002Fcloudflare\u002Foverview",{"title":72,"url":73},"Cloudflare access","\u002Fdocs\u002Fcloudflare\u002Faccess",{"title":75,"url":76},"Costs and limits","\u002Fdocs\u002Fcloudflare\u002Fcosts-and-limits",{"title":78,"url":79},"Custom domain","\u002Fdocs\u002Fcloudflare\u002Fcustom-domain",{"title":81,"url":82},"Mail on Cloudflare","\u002Fdocs\u002Fcloudflare\u002Fmail",{"title":84,"url":85},"Update a Cloudflare Server","\u002Fdocs\u002Fcloudflare\u002Fupdates",{"title":87,"url":88},"Backups on Cloudflare","\u002Fdocs\u002Fcloudflare\u002Fbackups",{"title":90,"url":91},"Remove a Cloudflare Server","\u002Fdocs\u002Fcloudflare\u002Fremove-a-server",{"id":93,"title":94,"pages":95},"self-host","Self-host",[96,99,102,105],{"title":97,"url":98},"Run a Server on a VPS","\u002Fdocs\u002Fself-host\u002Fvps",{"title":100,"url":101},"Run a Server with Docker Compose","\u002Fdocs\u002Fself-host\u002Fdocker",{"title":103,"url":104},"Run a Server on Coolify","\u002Fdocs\u002Fself-host\u002Fcoolify",{"title":106,"url":107},"Compute Nodes","\u002Fdocs\u002Fself-host\u002Fcompute-nodes",{"id":109,"title":110,"pages":111},"concepts","Concepts",[112,115,118,121,124],{"title":113,"url":114},"Servers and the Shell","\u002Fdocs\u002Fconcepts\u002Fserver-and-shell",{"title":116,"url":117},"Accounts, Members and Roles","\u002Fdocs\u002Fconcepts\u002Faccounts-members-roles",{"title":119,"url":120},"Agents, Tasks and Runs","\u002Fdocs\u002Fconcepts\u002Fagents-tasks-runs",{"title":122,"url":123},"Files and backups","\u002Fdocs\u002Fconcepts\u002Ffiles-and-backups",{"title":125,"url":126},"Releases and updates","\u002Fdocs\u002Fconcepts\u002Freleases-and-updates",{"id":9,"title":10,"pages":128},[129,132,135,138,141,144],{"title":130,"url":131},"Agents overview","\u002Fdocs\u002Fagents\u002Foverview",{"title":133,"url":134},"Models and Providers","\u002Fdocs\u002Fagents\u002Fmodels-and-providers",{"title":136,"url":137},"Connect an MCP client","\u002Fdocs\u002Fagents\u002Fmcp",{"title":139,"url":140},"External agents","\u002Fdocs\u002Fagents\u002Fexternal-agents",{"title":142,"url":143},"Repositories and code work","\u002Fdocs\u002Fagents\u002Frepositories",{"title":4,"url":6},{"id":146,"title":147,"pages":148},"guides","Guides",[149,152,155,158,161,164],{"title":150,"url":151},"Chat","\u002Fdocs\u002Fguides\u002Fchat",{"title":153,"url":154},"Projects and Tasks","\u002Fdocs\u002Fguides\u002Fprojects-and-tasks",{"title":156,"url":157},"Mail","\u002Fdocs\u002Fguides\u002Fmail",{"title":159,"url":160},"Calls and Live","\u002Fdocs\u002Fguides\u002Fcalls",{"title":162,"url":163},"Notifications","\u002Fdocs\u002Fguides\u002Fnotifications",{"title":165,"url":166},"Telegram","\u002Fdocs\u002Fguides\u002Ftelegram",{"id":168,"title":169,"pages":170},"reference","Reference",[171,174],{"title":172,"url":173},"Glossary","\u002Fdocs\u002Freference\u002Fglossary",{"title":175,"url":176},"Troubleshooting","\u002Fdocs\u002Freference\u002Ftroubleshooting",{"title":142,"url":143},{"title":150,"url":151},1793335826224]