Missions
Missions are scheduled AI tasks. Set up a mission, assign it to a Character, and it runs automatically on your schedule.
Use missions for recurring work: daily reports, weekly SEO audits, content publishing, data monitoring, and more.
Core Concepts
| Concept | Description |
|---|---|
| Mission | A scheduled task with a goal, schedule, and optional Character |
| Goal | What the agent should accomplish (plain text instructions) |
| Schedule | When to run: once, cron, continuous, or manual |
| Character | Optional — runs the mission with this Character's persona, model, and capabilities |
| Space | Optional — gives the mission access to files, MCPs, and secrets |
Schedule Types
| Type | Description | Example |
|---|---|---|
none | Manual trigger only | Run on-demand |
once | Run once immediately | One-time setup task |
cron | Recurring schedule | 0 9 * * MON (Mondays at 9am) |
continuous | Run continuously | Always-on monitoring |
Cron Examples
| Cron Expression | Description |
|---|---|
0 9 * * * | Every day at 9:00 AM |
0 9 * * MON | Every Monday at 9:00 AM |
0 9 * * 1-5 | Weekdays at 9:00 AM |
0 */6 * * * | Every 6 hours |
0 9 1 * * | First of every month at 9:00 AM |
Create a Mission
Via Web App
- Navigate to the Missions section
- Click + New Mission
- Configure:
- Title: "Weekly SEO Report"
- Goal: "Analyze this week's search performance. Compare to last week. Send the summary."
- Schedule: Cron —
0 9 * * MON - Character: Select "Sarah" (optional)
- Space: Select your SEO workspace (optional)
- Save
Via TeamdayAdmin (In-Chat)
{
"action": "createMission",
"data": {
"title": "Weekly SEO Report",
"goal": "Analyze this week's search performance, compare to last week, and summarize the findings.",
"spaceId": "space-abc123",
"characterId": "char-sarah",
"schedule": {
"type": "cron",
"value": "0 9 * * MON"
}
}
}
Via API
curl -X POST "https://us.teamday.ai/api/v1/missions" \
-H "Authorization: Bearer $TEAMDAY_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"title": "Weekly SEO Report",
"goal": "Analyze this week search performance, compare to last week, and summarize the findings.",
"spaceId": "space-abc123",
"characterId": "char-sarah",
"schedule": {
"type": "cron",
"value": "0 9 * * MON"
}
}'
Response:
{
"success": true,
"id": "mission-xyz789",
"title": "Weekly SEO Report",
"status": "pending",
"schedule": {
"type": "cron",
"value": "0 9 * * MON",
"nextRun": "2026-02-24T09:00:00.000Z",
"runCount": 0
}
}
Mission Examples
Daily Data Summary
{
"title": "Daily Analytics Summary",
"goal": "Pull yesterday's Google Analytics data. Report: total visitors, top 5 pages, bounce rate change. Save to reports/daily/.",
"schedule": { "type": "cron", "value": "0 8 * * *" }
}
Weekly Content Audit
{
"title": "Weekly Content Audit",
"goal": "Check all blog posts published this week for SEO compliance. Verify: meta descriptions, image alt text, internal links. Report any issues.",
"schedule": { "type": "cron", "value": "0 17 * * FRI" }
}
Continuous Monitoring
{
"title": "Error Monitor",
"goal": "Monitor the application for critical errors. If error rate exceeds 5%, send an alert notification.",
"schedule": { "type": "continuous" }
}
One-Time Setup
{
"title": "Initial SEO Baseline",
"goal": "Run a comprehensive SEO audit of example.com. Document current rankings, backlinks, and technical issues. Save the baseline report to reports/.",
"schedule": { "type": "once" }
}
Managing Missions
Update a Mission
Pause, change the schedule, or update the goal:
{
"action": "updateMission",
"resourceId": "mission-xyz789",
"data": {
"status": "paused",
"schedule": { "type": "cron", "value": "0 9 * * 1-5" }
}
}
Via API:
curl -X PATCH "https://us.teamday.ai/api/v1/missions/mission-xyz789" \
-H "Authorization: Bearer $TEAMDAY_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"status": "paused"}'
Mission Statuses
| Status | Description |
|---|---|
pending | Created but not yet run |
running | Running on schedule |
paused | Temporarily stopped |
completed | Finished (one-time missions) |
Session Continuity
Missions support session continuity. When a mission runs multiple times, it can resume from the previous session, maintaining context across runs.
This is managed automatically — each run picks up where the last one left off.
Characters and Missions
Binding a Character to a mission means:
- The mission runs with the Character's system prompt
- It uses the Character's model preference
- It has access to the Character's skills and MCP references
If no Character is bound, the mission runs with default settings.
Best Practice
Create dedicated Characters for mission types:
teamday characters create \
--name "Report Bot" \
--role "Automated Reporting" \
--category data \
--system-prompt "You generate daily and weekly reports. Be concise. Use tables. Save reports to the reports/ directory with dated filenames."
Then bind it to multiple missions:
{"title": "Daily Sales Report", "characterId": "report-bot-id", "schedule": {"type": "cron", "value": "0 8 * * *"}}
{"title": "Weekly Performance Review", "characterId": "report-bot-id", "schedule": {"type": "cron", "value": "0 9 * * MON"}}
Writing Good Mission Goals
The goal field is the instruction the agent receives. Write it like you'd brief a human colleague:
Vague (bad):
Check the website.
Specific (good):
Check example.com for broken links, missing meta descriptions, and pages with no H1 tag.
Save the results to reports/site-audit-{date}.md.
If critical issues are found, create a summary at the top.
Key tips:
- State the objective clearly
- Specify output format and location
- Include thresholds or criteria when relevant
- Mention what to do with the results
Next Steps
- Missions API Guide — Full API reference for mission management
- Agent Configuration — Configure Characters for missions
- Spaces & Workspaces — Set up the workspace for mission execution