A schedule runs a loop for you on a recurring basis — hourly, daily, weekly, monthly or yearly — so nobody has to remember to start it.
There are two ways to set one up. Ask Loopy, or set it yourself on the loop's page. Both do the same thing.
Ask Loopy
In Studio, tell Loopy in plain English: "Run this every weekday at 8 AM." Loopy asks for anything missing — a timezone, usually — summarises the schedule, and you select Approve. You can change or remove it from the chat later the same way.
Set it on the loop's page
Select Loops in the left navigation and open the loop.
In the settings panel on the right, find the Schedule row. It reads Not scheduled until you set one.
Select Set (or Edit, if there is already a schedule).
In the Schedule this loop dialog, choose Quick setup and pick a frequency:
Hourly — runs at the same minute each hour
Daily — runs once daily at a specific time
Weekly — runs on selected days of the week
Monthly — runs on a specific day each month
Yearly — runs on specific months and a day
Set Run at time and check the timezone. Common US timezones are grouped at the top of the list; every other timezone is below.
Select Save.
If you need something the presets do not cover — two runs a day, say — switch to Custom and describe it, for example "every day at 2pm and 5pm".
Once saved, the Schedule row shows the schedule in plain English and the next runs. To stop a loop running on its own, open the dialog again and select Remove schedule.
Common issues
1. A schedule pauses when an input has no value
A scheduled run uses the input values saved for the person who created the schedule. If any of those inputs is empty or invalid when the schedule fires, Caddi does not run the loop. It records the run as Needs Review with a message saying why, and notifies the person who created the schedule.
You can see this coming on the loop's page: the Schedule row reads "<your schedule> · paused until inputs have values". Fill in the missing values under Loop inputs and the next fire will run normally. Nothing is lost in the meantime, but nothing runs either.
Where a value is shared across your team, the team value takes precedence over your own. See Loop Inputs: Personal and Team Values.
2. A schedule only ever runs the live version
Scheduling is tied to a loop's live version, never its test version. Two consequences:
A loop with no live version cannot be scheduled. The control is disabled and says "This loop has no live version yet. Make a version live to put it on a schedule." Test the loop in Studio and select Make it Live first.
While you are looking at a test version, you cannot change the schedule: "Only the live version can be scheduled. Switch back to live to change it."
Editing a loop in Studio creates a test version, and your schedule carries on running the live version untouched until you make the new one live. A run already in flight when you promote a new version finishes on the version it started with.
Other reasons a scheduled run might not happen
You lost access to the loop. Same outcome as a missing input: a Needs Review run stating the cause, and a notification.
Your organisation hit its plan limit. The fire is skipped — no run record is created — and you get a notification saying the plan limit was reached. An admin can review it under Billing.
A tool is disconnected. The loop page shows "Runs stopped until <tool> is connected." Reconnect it from Integrations.
Checking that it ran
Open Run History in the left navigation, or the Activity section on the loop's page. Scheduled runs are badged Scheduled. As with any run, a Success badge means the loop finished, not that the business result is right — check the system the loop writes to, and use Ask about a run in Studio if something looks off.
