For the complete documentation index, see llms.txt. This page is also available as Markdown.

How to Set Up Agent Schedule

Build an agent schedule from scratch — select an AI assistant, write a prompt, configure the schedule, and set up delivery.

This page demonstrates how to create an agent schedule. If you're not yet familiar with what agent scheduling does, read Agent Scheduling first.

Prerequisites

Before creating a schedule, confirm the following:

  1. You have created an AI assistant in Agent mode — Agent scheduling only supports AI assistants in Agent mode. Non-Agent mode assistants will not appear in the dropdown.

  2. The AI assistant is connected to at least one conversation platform — The schedule uses a conversation platform as its container to run the Agent.

  3. You have Agent Scheduling access — If you don't see the "Agent Scheduling" menu, contact your organization admin to check permission settings.

From the left menu, click AI FeaturesAgent Scheduling. You'll see the schedule list:

Column descriptions:

Column
Description

Name

The schedule's identifier

AI Assistant

The AI assistant used by this schedule

Execution Mode

Context mode or independent mode

Schedule

Schedule type (Cron, interval, one_shot) and timing

Delivery

💬 = send to conversation, 🔗 = Webhook, auto = automatically created dedicated conversation

Last Execution

Time of the most recent execution

Status

Active / Paused

Create a Schedule

1. Click New Schedule

Click the New Schedule button in the upper-right corner to open the form. The form has four tabs: Basic Info, Prompt, Schedule Settings, and Delivery Settings.

2. Fill in Basic Info

Field
Required
Description

AI Assistant

Select an existing AI assistant (only Agent mode assistants are shown)

Name

The schedule's identifier, e.g., "Daily Customer Service Summary"

Execution Mode

Choose context mode or independent mode

Conversation Platform

The conversation platform container used during execution; context mode uses it to accumulate Agent memory (used internally — it won't appear in the customer service conversation list)

Save Results to Context

Only shown in context mode. Only affects memory for the next execution (doesn't affect whether you can view results — all past responses are retained on the execution log page)

How to choose the execution mode?

  • Context mode: Retains memory across executions. Suitable for tasks that need to accumulate information, such as continuously tracking complaint resolution progress or monitoring data trends.

  • Independent mode: Starts fresh each time with no previous memory. Suitable for standalone recurring tasks, such as daily reports or periodic statistics.

3. Write the Prompt

In the prompt field, describe what the Agent should do each time it runs. The prompt is sent to the Agent as its instruction, and the Agent will use its attached tools and skills to complete the task.

Prompt example:

Tips for writing prompts:

  • Clearly describe the task objective and output format

  • If you need the Agent to use a specific tool, guide it in the prompt (e.g., "Query the orders table in the database")

  • Avoid relying on external state beyond the current time; each execution should be an independent task (unless using context mode)

4. Configure Schedule Timing

There are three schedule types:

Use a standard 5-field cron expression to set a precise schedule: minute hour day month weekday.

Expression
Meaning

0 9 * * 1-5

Monday through Friday at 9:00 AM

0 */2 * * *

Every 2 hours on the hour

30 8 * * *

Every day at 8:30 AM

0 0 1 * *

First day of every month at midnight

Must be paired with the "Timezone" field, which defaults to Asia/Taipei (Taipei time).

Other fields:

Field
Description

Enabled

Whether to activate the schedule immediately. When off, the schedule is "Paused" and won't trigger

Maximum Executions

Limit the maximum number of times the schedule runs; it will automatically pause when the limit is reached. Leave empty for unlimited

5. Configure Delivery

Where should the results go after execution? Configure this in this tab.

This tab configures where results are actively pushed to (specified conversations, Webhook endpoints). Even if you don't set any delivery targets, the complete results of each execution are still retained on the Execution Log page — they just won't be actively pushed elsewhere.

Conversation

Click Add Conversation and select a conversation from the dropdown. Results will be sent as a bot message. You can add multiple conversations.

Webhook

Click Add Webhook URL. Results will be sent as a POST request to your external URL (must start with http:// or https://). Common use cases:

  • Integrate with Slack / Discord / LINE

  • Write to your own system for further processing

  • Trigger other automation workflows

6. Save and Enable

Click Confirm to save. If the "Enabled" toggle is on, the schedule will immediately start triggering according to the configured timing.

What Happens After Saving?

After the schedule is saved successfully, you'll immediately see the following:

  1. The modal closes and the schedule appears in the list

    • Status shows "Active" (green tag), or "Paused" (if the enabled toggle was off)

    • The "Last Execution" column is empty until the first trigger, after which it updates with the execution time

  2. The system does two things in the background (no UI changes visible, but happening behind the scenes)

    • Registers the schedule with the backend scheduler to automatically trigger at the configured time

    • Context mode also creates an internal system conversation container to accumulate Agent memory (this container won't appear in the Customer Service Conversations list)

  3. Wait for the schedule to trigger

    • Cron / Interval: Executes automatically at the configured time, e.g., cron 0 9 * * 1-5 triggers at the next Monday–Friday 9:00 AM

    • One-time: Executes once at the configured time

    • Don't want to wait? Click the ▶️ Run Now button in the list to trigger an immediate execution for testing

  4. During execution

    • The list status remains "Active," and the "Last Execution" column updates with each run

    • Each execution creates a record on the Execution Log page (with the complete Agent response)

    • If you added conversations or Webhooks in "Delivery Settings," results are also sent to those targets

    • For details on where to view results, see Where Do Results Go? below

  5. When the task ends

    • Reaches the "Maximum Executions" limit → automatically switches to "Paused" and stops triggering

    • One-time execution completes → the schedule remains in the list but won't trigger again

Where Do Results Go?

After a schedule runs, the Agent's response appears in the following locations. The Execution Log page is the primary entry point for viewing history — regardless of execution mode, every run leaves a complete record here. Other locations depend on your delivery settings.

1. Execution Log Page (Primary Entry Point)

Each execution generates a record. This is the most reliable way to view historical results.

How to access:

Agent Scheduling list → Click 🕘 View Execution Log on the schedule's row → Enter the execution history page → Click 👁 View Details on a specific record

You'll see:

  • Execution status (Success / Failed / Partial Success)

  • Start time, completion time

  • Complete Agent response (even if subsequent delivery failed, the content is still preserved here)

  • Error messages on failure

2. Your Specified Conversations (Conversations Added in Delivery Settings)

Execution results are sent as Agent messages into these conversations, just like messages seen by customers/colleagues.

How to find:

Customer Service Conversations → Enter the conversation you added in delivery settings → The message will be at the latest position.

3. Webhook URLs (URLs Added in Delivery Settings)

Execution results are sent as HTTP POST to your external URL. Body is JSON:

Technical details:

  • Content-Type: application/json

  • Timeout: 30 seconds (the Webhook endpoint must respond with 2xx within 30 seconds, otherwise it's treated as failed)

  • Failures are recorded in the execution log's "Error Message" field (execution log status becomes "Partial Success"), but no retry is attempted

What Does the "Save Results to Context" Toggle Do?

This toggle only affects the memory for the next execution in context mode — it doesn't affect whether you can view results.

Setting
Effect on Next Execution

On (default)

The previous prompt and Agent response are carried forward as conversation history for the next run, allowing the Agent to continue the context

Off

No messages are retained per execution, effectively behaving like independent mode

Regardless of the toggle state, the Execution Log page always retains the complete response from each run — this toggle doesn't affect your ability to view history.

Summary: Results Visibility Reference Table

Execution Mode / Setting
Execution Log
Specified Conversations
Webhook
Agent Cross-run Memory

Context mode + Save results to context (default)

✅ If configured

✅ If configured

✅ With memory

Context mode + Don't save results

✅ If configured

✅ If configured

❌ No memory

Independent mode

✅ If configured

✅ If configured

❌ No memory

Why is there no "Dedicated Conversation" entry point? Context mode creates a dedicated backend conversation to accumulate memory, but this conversation currently does not appear in the Customer Service Conversations list — it's an internal system container, not a conversation for human agents to handle. To view historical results, go to the Execution Log.

Full Example: Daily Customer Service Summary

Below is an end-to-end example showing how to create a schedule that automatically compiles the previous day's customer service summary every morning at 9:00 AM and sends the results to Slack.

Scenario

Every morning before work, you want the AI assistant to compile all unresolved complaints from yesterday, create a summary, and send it to the team's Slack #customer-support channel so the customer service manager can see it as soon as they open Slack.

Preparation

  • An AI assistant in Agent mode, with tools attached that can query complaint data (e.g., database tool or customer service system API tool)

  • A connected conversation platform (as the schedule's execution container)

  • A Slack incoming webhook URL (to receive results)

Configuration

Basic Info:

Field
Value

AI Assistant

Customer Service AI Manager

Name

Daily Complaint Summary - 9:00

Execution Mode

Independent mode (compile independently each day, no need to remember the previous day)

Conversation Platform

Internal Customer Service

Prompt:

Schedule Settings:

  • Schedule type: Cron

  • Cron expression: 0 9 * * 1-5 (Monday through Friday at 9:00 AM)

  • Timezone: Asia/Taipei

  • Enabled: On

  • Maximum executions: Leave empty (run continuously)

Delivery Settings:

  • Conversation: Don't add extra conversations (the Execution Log page already retains the Agent's complete output — no need to send it to a customer service conversation and take up space)

  • Webhook URL: https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXX

After Saving

  1. Monday at 9:00 AM (first trigger): The schedule triggers automatically and the Agent starts querying and compiling

  2. Within ~30 seconds (depending on Agent processing speed):

    • The team's Slack #customer-support channel receives the summary via Webhook push (POST body is {"content": "..."})

    • The "Last Execution" in the schedule list updates to 2026-04-20 09:00:12

  3. Want to review what the Agent produced? Two places:

    • Execution Log page (primary entry): Agent Scheduling → Click the schedule's 🕘 → Click 👁 → View the complete bot response and token usage

    • Slack: Go directly to the #customer-support channel (this is the Webhook endpoint you configured)

  4. Tuesday, Wednesday… ongoing execution: Triggers automatically every weekday at 9:00 AM with no further human intervention needed

Troubleshooting

  • Slack didn't receive a message → First check the Execution Log page to confirm the execution status. If "Failed," check the error message. If "Success" but Slack didn't receive it, verify the Webhook URL is correct and check for Slack rate limits

  • Summary content doesn't match expectations → Check the Agent's actual output in the execution log details, then adjust the prompt

  • Schedule didn't trigger → See the "FAQ" section below

Manage Existing Schedules

Back in the schedule list, the action area on the right side of each row provides these functions:

Icon
Function
Description

✏️

Edit

Modify schedule content (except AI Assistant, Execution Mode, and Conversation Platform)

🕘

View Execution Log

Enter the schedule's execution history page

▶️

Run Now

Trigger an immediate execution without waiting for the scheduled time

⏸️ / ⏻

Pause / Enable

Toggle the schedule's active status

🗑

Delete

Delete the schedule. Execution logs are also removed

Run Now

"Run Now" is the fastest way to test if a schedule is configured correctly. After clicking:

  1. The system triggers an immediate execution without affecting the original schedule timing

  2. A "Schedule triggered" notification appears

  3. Check "View Execution Log" to observe the execution results

Pause and Enable

After pausing, the schedule won't trigger, but settings and execution logs are preserved. You can re-enable it at any time.

View Execution Logs

Click the 🕘 icon in the list to enter the execution log page:

Filters

  • Status: Pending / Running / Success / Failed

  • Date Range: Specify start and end dates

Column Descriptions

Column
Description

Status

Pending (queued), Running, Success, Failed

Start Time

When the Agent started execution

Completion Time

When execution ended

Error Message

If execution failed, displays the error reason

Bot Response

Response content generated by the Agent (full content available in details)

View Execution Details

Click the 👁 icon on the right side of each row to open the details modal, where you can view the complete bot response and error messages:

FAQ

Why didn't the schedule trigger?

Possible reasons:

  1. The schedule status is "Paused" — check the status column in the list

  2. The "Maximum Executions" limit has been reached — the schedule auto-pauses

  3. The cron expression or timezone setting is incorrect — check in the edit page

  4. One-time execution mode has already run — one-time schedules only trigger once

Try using "Run Now" first to confirm the schedule itself can execute correctly, then troubleshoot the timing settings.

Why can't I find my AI assistant in the dropdown?

Agent scheduling only supports Agent mode AI assistants. If your assistant is in Chatbot mode or another mode, it won't appear in the dropdown. Go to the AI Assistant settings page to confirm the mode, then come back to create the schedule.

The schedule ran — where do I see what the Agent produced?

The primary entry point is Agent Scheduling → Click the schedule's 🕘 View Execution Log → Click a record's 👁. The details will show the Agent's complete response.

If you've set delivery targets (conversation/Webhook), a copy is also sent there:

  • Specified conversations: Go directly to that conversation to view the message

  • Webhook: Check the POST body at your external endpoint

After turning on "Save Results to Context," where do I see that conversation?

This toggle doesn't affect whether you can see results — all past responses are always retained on the Execution Log page.

It only affects "whether the Agent remembers what happened last time when it runs next":

  • On (default): The Agent uses the same backend conversation container to accumulate memory, and can continue the context on the next execution

  • Off: No messages are retained per execution, effectively behaving like independent mode

This backend conversation container currently doesn't appear in the Customer Service Conversations list — it's used internally by the system, not meant for human agents to handle.

What's the data format received by Webhook?

POST request with Content-Type application/json, body structure:

30-second timeout, no retry. The Webhook endpoint should respond with a 2xx status code within 30 seconds, otherwise the delivery is recorded as failed (but the Execution Log page still retains the Agent's complete response).

Independent mode vs. context mode — what's the actual difference?

The biggest difference is whether the Agent can see the conversation history from previous runs when it executes:

  • Context mode: Uses the same backend conversation to accumulate messages. On the next execution, the Agent can see the prompts and responses from previous runs, allowing it to continue its analysis (suitable for tasks that need to track trends, avoid duplicates, or accumulate context)

  • Independent mode: Creates a temporary conversation each time, deleted immediately after execution. The Agent starts from scratch every time with no knowledge of what happened before (suitable for tasks with independent daily output, such as daily reports)

The execution results from both modes are saved on the Execution Log page — the difference isn't "whether you can view history," but "whether the Agent carries memory while working."

Last updated

Was this helpful?