Scheduled Jobs | User Guide

Table of contents

  • 1. What scheduled jobs are
  • 2. Setting up a scheduled job
    • Setting a schedule to Never
  • 3. Writing an effective initial prompt
  • 4. Viewing and managing your schedules
  • 5. Worked example: daily planner
    • Assistant setup
    • Schedule configuration
    • Initial prompt
    • How it works
    • Adjusting the schedule
  • 6. Worked example: sequential document processing pipeline
    • How it works
    • Example pipeline
    • Tools needed for this pattern

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

  1. At 7:00am each weekday, Theta Assist sends this prompt to the Daily Planner assistant.
  2. The assistant works through each step using the M365 tools — reading Teams messages, emails, transcripts, and calendar.
  3. It assembles the summary and sends an email to you using the template defined in the system prompt.
  4. 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:

  1. Use M365 tools to list documents from SharePoint or OneDrive.
  2. Start a batch processing job (async_start_process_tool_results or async_start_process_files) to analyse each document.
  3. 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).
  4. 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:

  1. The assistant lists modified files from SharePoint via M365 tools.
  2. It starts a batch processing job across all returned files and waits for it to complete.
  3. Once the batch finishes, it POSTs the structured results to the configured endpoint via cURL.
  4. 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.