Scheduled Jobs | User Guide
Table of contents
1. What scheduled jobs are
A scheduled job runs an assistant automatically on a recurring schedule — daily, weekly, or on a schedule you define. At the scheduled time, Theta Assist sends your prompt to the assistant, runs the task using its configured tools and connected services, and saves the result as a thread.
Common uses:
- A daily morning brief that checks your emails, Teams messages, calendar, and meeting transcripts, then emails you a summary.
- A weekly report that pulls data from Business Central or Dynamics and prepares a formatted summary.
- A recurring monitoring or extraction task that runs overnight and has results ready when you start work.
Scheduled jobs require the Jobs feature to be enabled by your administrator.
2. Setting up a scheduled job
Schedules are attached to an assistant. Open the assistant you want to schedule and navigate to Advanced Options → Schedules.
Click Add Schedule and fill in the following:
| Field | Description |
|---|---|
| Name | A label for this schedule so you can identify it in the Jobs page (e.g., "Daily Morning Brief") |
| Schedule | When the job should run. Use the visual builder to set the frequency, day, and time. Set to Never to save the schedule without activating it. |
| Time Zone | Set automatically from your browser — shown for reference only |
| Initial Prompt | The prompt sent to the assistant each time the schedule fires |
Click Save when done. The schedule becomes active immediately and will run at the next matching time.
Setting a schedule to Never
If you want to save a schedule configuration but not have it run automatically — for example, while you're still writing the prompt — set the frequency to Never. You can still trigger it manually from the Jobs page (see section 4).
3. Writing an effective initial prompt
The initial prompt tells the assistant what to do each time the schedule runs. Because scheduled jobs run without back-and-forth, the prompt should be complete, clear, and specific enough for the assistant to finish the task on its own.
Tips:
- State the task clearly. Say exactly what the assistant needs to do.
- List the steps in order. If the task has several parts, number them so the assistant follows them in the right sequence.
- Include edge cases. Tell the assistant what to do when the usual process should not run. For example: “If today is Saturday or Sunday, stop and do not proceed.”
- Define the output. Say what the final result should look like, such as a summary in the thread, a formatted report, or an email.
- Set completion rules. Tell the assistant when the task is complete and what to do if no results are found.
- Keep permanent instructions in the system prompt. Use the initial prompt for the task to run each time. Use the assistant’s system prompt for ongoing context, formatting rules, and persona.
4. Viewing and managing your schedules
Navigate to Jobs → Scheduled to see all your schedules.
Each schedule shows:
- The schedule description (e.g., "Every weekday at 07:00") or Never if inactive
- When it last ran
- When it will next run
- The assistant it uses
Actions available:
| Action | How |
|---|---|
| Run now | Trigger an immediate one-off execution, regardless of the configured schedule |
| Edit | Change the name, schedule, or initial prompt |
| Delete | Remove the schedule permanently |
Executions appear in the Jobs tab as background operations once they run. You can click through to see the full thread and output.
5. Worked example: daily planner
This example shows how to set up a daily morning brief that checks Teams, email, meeting transcripts, and your calendar, then sends you a structured summary by email.
Assistant setup
Assistant name: Daily Planner (or similar)
MCP Server: M365 Tools — needed for access to Teams, email, calendar, and transcripts.
System prompt: Define the output structure and any standing formatting rules here. For email output, include your HTML email template in the system prompt so the assistant knows how to format and send the message each run.
Schedule configuration
| Field | Value |
|---|---|
| Name | Daily Morning Brief |
| Schedule | Every weekday at 7:00am |
| Initial Prompt | See below |
Initial prompt
Do all these steps one after another.
Use the M365 tools to help me plan my day. You run daily at 7am.
If it is Saturday or Sunday you can stop and not do these steps.
1. Check my Teams chats for open loops: unanswered asks, commitments I made,
unanswered questions I asked, blockers, dependencies, and coordination threads
that imply a follow-up may be needed.
2. Check my unread emails from overnight. Ignore all transactional emails unless
they look critical. Ignore Microsoft 365 quarantine notifications. Do not
mention any ignored emails in the output.
3. Review the meeting transcripts from the prior day (those that are
accessible) and extract any actions I was assigned or committed to.
4. Look at my upcoming meetings for the day and suggest what I might need to
prepare for them. Ignore daily recurring meetings.
5. Include commitments from my direct reports, customers, and wider team
regarding: unanswered asks, commitments made, unanswered questions,
blockers, dependencies, and coordination threads that imply follow-up.
Use this to prepare a summary with priorities made clear. Include links inline
where available.
When complete, email it to me.
How it works
- At 7:00am each weekday, Theta Assist sends this prompt to the Daily Planner assistant.
- The assistant works through each step using the M365 tools — reading Teams messages, emails, transcripts, and calendar.
- It assembles the summary and sends an email to you using the template defined in the system prompt.
- The execution appears in the Jobs tab. If the email arrives but you want to review what the assistant found, click through to the thread.
Adjusting the schedule
- To pause the brief temporarily, edit the schedule and set it to Never. Run it manually on demand from the Jobs page when needed.
- To try it immediately without waiting for 7am, click Run now from the Scheduled tab.
- To run it on weekends too, remove the weekend check from the initial prompt and change the schedule to every day.
6. Worked example: sequential document processing pipeline
Scheduled jobs can run an end-to-end workflow in a single scheduled run — fetching documents, processing them in batches, sending results to another system, and notifying stakeholders when finished.
How it works
When a scheduled job runs, the assistant continues working through the prompt until each step is complete. This includes waiting for a batch processing job to finish before moving on. The assistant starts the batch, waits for it to complete, then continues with follow-on actions — all within the same scheduled run.
A typical pipeline looks like this:
- Use M365 tools to list documents from SharePoint or OneDrive.
- Start a batch processing job (
async_start_process_tool_resultsorasync_start_process_files) to analyse each document. - Once the batch completes, use the cURL Executor to POST the results to an external endpoint (a Power Automate flow, a data lake, an API).
- Use M365 tools to email a summary to yourself or your team.
Example pipeline
Assistant setup:
| Field | Value |
|---|---|
| Tools | async_start_process_tool_results, M365 Tools, cURL Executor |
| cURL Executor config | POST only, locked to your data endpoint domain; API key in Additional Headers |
Initial prompt:
You are running as a scheduled pipeline. Work through these steps in order.
Wait for each step to fully complete before moving to the next.
1. Use the M365 tools to list all files modified in the last 24 hours in the
SharePoint folder: Documents/Contracts.
2. Use async_start_process_tool_results to analyse each file. For each document,
extract: document title, effective date, parties involved, key obligations,
and any renewal or expiry dates.
Return the extracted data in this structure: title, effective_date, parties, obligations, renewal_date
3. Once the batch is complete, POST the full results to:
https://pipeline.example.com/api/intake/contracts
Use the cURL Executor with Content-Type: application/json.
4. Send me an email summarising:
- How many documents were processed.
- Any documents where extraction was incomplete or uncertain.
- Confirmation that the data was submitted successfully (or an error if not).
What happens:
- The assistant lists modified files from SharePoint via M365 tools.
- It starts a batch processing job across all returned files and waits for it to complete.
- Once the batch finishes, it POSTs the structured results to the configured endpoint via cURL.
- It sends you an email confirming the run, including any items that failed.
Tools needed for this pattern
| Capability | Tool required |
|---|---|
| List / read SharePoint or OneDrive files | M365 Tools MCP server |
| Batch document analysis | async_start_process_tool_results or async_start_process_files built-in tools |
| POST results to an external endpoint | cURL Executor MCP server |
| Send email notification | M365 Tools MCP server |
All tools must be enabled by your administrator and added to the assistant's configuration. The cURL Executor must be configured with appropriate domain or URL restrictions and credentials for your target endpoint. See the cURL Executor Admin Guide and Batch Processing Tools Guide for setup details.