Skip to main content
This builds a daily briefing that actually runs on its own: at a fixed time each morning, an agent gathers information in a domain you care about, writes it up, and delivers it somewhere you’ll see it. Scheduled tasks are the only feature on Profy that spends your money while you’re not there, so this guide is less about how to create one and more about making it run on the schedule you think it does and noticing when it goes wrong. The recurrence options are far narrower than natural language suggests; knowing that up front avoids most of the rework.

What you’ll get

A new message in your conversation with that expert at 08:30 every day (time configurable), containing that day’s briefing. If you create it from an IM channel like Feishu, the briefing is pushed back into that conversation too.

The key constraint: there are only four recurrence types

This is the most important section in this guide. A scheduled task’s repeat type has exactly four possible values: Several consequences follow that you need to know:
  • “Mondays and Fridays” is not supported. One task maps to one weekday. Two days means two tasks.
  • “Weekdays” is not supported. There is no weekday concept. Either create five tasks, or use daily and have the prompt make the agent say “it’s the weekend, skipping” — but that still executes and bills every single day.
  • Hourly or minute-level recurrence is not supported. The tightest legal cadence is once a day. “Every 30 minutes” cannot be done.
  • Be careful with the 31st. If the first execution is on the 31st, months without a 31st simply won’t fire. For “last day of the month,” the 28th is the safer choice.
Times are interpreted in Asia/Shanghai by default; another timezone can be specified at creation.

Prerequisites

1

Pick the host expert

A scheduled task belongs to an expert. Choose one you’ll actually open regularly, because results land in your conversation with it.
2

Run it manually once first

Do not create the scheduled task first. Run the briefing manually in conversation, confirm the output quality and the cost of one run, and only then freeze it into a schedule. Skip this and you get a task that burns credits on time every day producing output you don’t want.
3

Price a single run

After that manual run, check what the conversation consumed. Monthly cost ≈ per-run cost × runs per day × 30. Make sure you’re comfortable with that number before continuing.

Steps

Step 1: Run it manually and finalize the prompt

Iterate until you’re happy, then save that exact prompt verbatim — it becomes the scheduled task’s prompt.
The “say nothing when there’s nothing” constraint is essential. Without it, the briefing degrades on quiet days into a repackaging of three-day-old news, and it can take weeks before you notice.

Step 2: Create the task

Just say so in conversation:
The agent calls the schedule tool and returns a card with the task ID, execution time, and repeat type. Check the repeat type and time on that card — it’s your only chance to confirm it was created the way you meant.

Step 3: Confirm in the management UI

The agent’s schedule tool can do exactly two things: create and list. Editing and deleting must happen in the UI:
Don’t tell the agent “move the daily to 9am” or “cancel that briefing” — it has no tool that performs those actions. It may politely reply “done,” but nothing happened and the task still fires at 08:30. Changes must be made in the UI.

Step 4: Choose the execution type

There are two task types at creation, and the cost difference is an order of magnitude: A briefing needs execute. If what you actually want is “remind me to go look at it myself,” reminder costs nothing.

Step 5: Configure delivery

Results land in your conversation with the expert by default. If you created the task from Feishu / DingTalk / WeCom, the source channel is recorded automatically and the briefing is pushed back to that IM conversation as well. Tasks created on the web default to in-app only. To push to IM, enable the channel in the task detail.

Step 6: Check it every day for the first week

For the first seven days, check three things — none of which is content quality:
  1. Did it run at all — there’s a record for that day and its status is completed
  2. Did it run at the right time — actual execution time matches what you set
  3. Is the content new — compare with yesterday; it should not be the same links reworded
Item 3 is the one people skip and the one that most often goes wrong.

How execution actually behaves

Things you’ll eventually run into, better known in advance:
If a run fails (network issue, insufficient balance, model error), the task is marked failed with a reason and is not retried. For recurring tasks the next cycle fires as normal, but that day’s briefing simply doesn’t exist. So “I subscribed to a daily so I won’t miss anything” is not a safe assumption — check the execution history periodically.
If the system is busy at the scheduled moment, the run still happens within the next hour. Misses beyond an hour are skipped entirely.
Scheduled tasks use the model preference saved on your account, falling back to the platform default. Temporarily switching models in some other conversation doesn’t affect it.
A run with insufficient balance fails and records the reason, but nothing separately alerts you. Keep a buffer for long-running schedules.
A task can declare a predecessor: it runs only after the predecessor completes. If the predecessor fails you can choose to skip or continue anyway. Waiting for a predecessor is bounded (about an hour), after which it’s treated as failed. Useful for “fetch data first, then write the report.”

Boundaries and failure modes

Scheduled tasks

Full reference for scheduled tasks

Feishu channel

Deliver briefings into Feishu

Competitive research

Get the one-off flow working first

Limits and quotas

Every hard limit on the platform