Checking what competitors changed is the kind of job that slips. You open their pricing page, their changelog and their careers page, skim, try to remember what was there last week, and by Thursday you have stopped doing it. The work is mostly searching and comparing, which an AI agent does well, but a chat assistant only answers when you ask, and it has no idea what it told you last Monday. What the job needs is an agent that starts on its own at a set time, reports only what is new since its previous report, and is strict about where each claim came from. The osFoundry desktop app has a ready-made loop for exactly this, and the steps below set it up to run every weekday morning.
Pick the starter loop
Open Loops and press New session. The "New loop run" dialog lists the app's starter loops. Type "competitor" in the search box and choose Watch the competitors.
It sits under "Start here — these need nothing set up" because its only tools are web search, page extraction and news search. It never reads or writes your files, so it needs no folder permissions and no connected accounts.
The card on the right is worth reading once, because it is the loop's standing brief: report what each tracked competitor changed since the last run (product, pricing, positioning, hiring), date everything, and never present a vendor claim as an independent finding. An orchestrator agent leads three members (a competitive analyst, a market researcher and a trend analyst), a run stops after at most 3 rounds, and a grader agent judges whether the goal was met.
Say who to watch, then run it once
Under "Start it", choose Run once now. Pick a project to file the run under, and type the specifics into "Goal for this run": the companies and the things you care about. The goal you type applies to this run only and leaves the starter loop unchanged.
Press Run it now. Running it by hand first is the quickest way to see whether the goal is specific enough before anything happens unattended.
Read the first report
The run opens in a session of its own, and the report lands in that session's chat. Each line carries a date and a source, grouped by company.
The rule about vendor claims shows up where you would want it. A competitor's own blog saying it is "2× faster" is listed, but labeled as a vendor claim that was not verified, not mixed in with the price change that its pricing page actually shows. A company with nothing new gets one line saying so.
"Since the last run" is handled by the app, not left to the agent's memory. From the second run on, the time the previous run finished is added to that run's goal, with the instruction to report only what changed since then and to say so if nothing did. The first run has no such line, so it reports the current state.
Put it on a schedule
Open the Trigger tab on the right and press Add a schedule. Choose a preset or type a cron expression. The dialog lists the next 3 runs in your own time zone.
Read that list before saving. Schedules are stored in UTC ("Stored in UTC" under the list), so the preset "Weekdays 09:00" is 0 9 * * 1-5 in UTC. In London that is 09:00 in winter and 10:00 in summer. If your morning is somewhere else, type the cron for it: 0 0 * * 1-5 is 09:00 on weekdays in Tokyo, and 0 14 * * 1-5 is 09:00 in New York during winter time. The list updates as you type.
The two blocks underneath answer the questions a cron expression can't.
"If a run is still going when the next is due": Skip it leaves the running one alone and waits for the next scheduled time. Wait, then run starts the next one as soon as the current run finishes. Skip it is the safer choice for a report like this, because two copies of the same check would only duplicate the same findings.
"If this device was asleep when it was due": Up to an hour late, Up to 12 hours late, or However late. The app runs schedules only while it is open, so a laptop that was closed at 09:00 has missed the run. With Up to 12 hours late, opening the laptop at 10:30 still produces that morning's report. Opening it the next day doesn't produce yesterday's report at 08:00; the missed run is dropped and the schedule waits for its next time.
Press Save schedule. Nothing runs when you save. The Trigger tab now shows the schedule, its next run and both policies.
If you want reports while the window is closed, turn on Keep agents running under Device → Background, which keeps the app in the menu bar with agents running.
Where the reports go
Scheduled runs belong to this same session, and the Trigger tab shows when the last one ran and how it ended. A run that was skipped says why there, for example that the previous run was still going. The scheduled agents page covers the other trigger types, and the app is free from the osFoundry download page.





![AMR Sensors and Perception — Ch.24: Industrial Perception Case Studies [KR]](https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F3eo7otf0yw0mo2jejvcp.png)
![AMR Sensors and Perception — Ch.25: Future Robot Perception [KR]](https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fy4fzjnsgx5o5xom1n9ur.png)
![AMR Sensors and Perception — Ch.18: 3D Perception [KR]](https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fi3kxzzmrzsvfs689e3le.png)
![AMR Sensors and Perception — Ch.19: Obstacle Detection [KR]](https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F3lffj7uhnhqf595di3cg.png)
![AMR Sensors and Perception — Ch.20: Free Space Detection [KR]](https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fp0wbiulutk98s8jf56aw.png)