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

ConceptDescription
MissionA scheduled task with a goal, schedule, and optional Character
GoalWhat the agent should accomplish (plain text instructions)
ScheduleWhen to run: once, cron, continuous, or manual
CharacterOptional — runs the mission with this Character's persona, model, and capabilities
SpaceOptional — gives the mission access to files, MCPs, and secrets

Schedule Types

TypeDescriptionExample
noneManual trigger onlyRun on-demand
onceRun once immediatelyOne-time setup task
cronRecurring schedule0 9 * * MON (Mondays at 9am)
continuousRun continuouslyAlways-on monitoring

Cron Examples

Cron ExpressionDescription
0 9 * * *Every day at 9:00 AM
0 9 * * MONEvery Monday at 9:00 AM
0 9 * * 1-5Weekdays 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

  1. Navigate to the Missions section
  2. Click + New Mission
  3. 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)
  4. 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

StatusDescription
pendingCreated but not yet run
runningRunning on schedule
pausedTemporarily stopped
completedFinished (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