Learn

Quickstart

The quickest first win is morning-brief: one agent step that you run by hand, tune once, and then leave on a weekday schedule.

This quickstart uses an internal operations example because it needs no integration setup. If you are building Mobius into a product, do this once to learn the runtime, then read Agent messaging for API-backed sessions.

When you want a fuller business operations example, build Review every pull request. It adds GitHub and human review without letting the agent speak for the team.

You do not need Slack, GitHub, OAuth, a worker, or a custom integration for this path. You need access to the Mobius app and a project you can edit.

What you'll build

  • An agent named Scout.
  • A loop named morning-brief with one schedule trigger.
  • One agent step that asks Scout for an engineering brief.
  • A manual run you can inspect through Timeline, Input, and Output.
  • One small change so you can see how iteration feels.

Prerequisites

  • Mobius access. If you do not have an invite yet, join the waitlist.
  • A project. The examples use platform, but the steps work in any project.
  • About ten minutes.

1. Create Scout

  1. In the app, open your project.
  2. In the sidebar, click Build > Agents.
  3. Click Create agent.
  4. Choose Custom agent.
  5. Set Agent name to Scout.
  6. Set Agent description to Reads project context and writes concise operating briefs.
  7. Set Agent instructions to:
You are Scout, the agent Acme uses for morning briefs. Read the request,
gather the useful context you already have, and return a concise markdown
brief with bullets and a short next-step list.
  1. Click Create agent.

Scout now exists as an agent. The loop step will call Scout by ID. The run timeline will show Scout's output when the step finishes.

2. Create the loop

  1. In the sidebar, click Build > Loops.
  2. Click New loop.
  3. Click Edit loop name and set the name to Morning brief.
  4. Click Add trigger, then choose Schedule.
  5. Set Schedule frequency to Every weekday (Mon-Fri).
  6. Set Schedule time to 07:00.

The trigger summary should read like this:

Weekdays at 7:00 AM · America/New_York

If your project timezone is different, keep that timezone. The important part is that the loop has one enabled schedule trigger before you create it.

3. Configure the agent step

The new loop starts with one agent step. Keep it.

  1. In agent instructions, enter:
Write a morning engineering brief for Acme. Include project status, risks to
watch, and the next three actions for the platform team. Return markdown and
keep it concise.
  1. Click Select agent.
  2. Choose Scout.
  3. Leave Active on.
  4. Click Create.

Your loop is active. The loop page should show Active, one enabled schedule trigger, and one agent step.

4. Run it once now

The schedule will start future runs. For the first run, start it by hand.

  1. On the loop page, click Run.
  2. In Recent runs, open the newest run.
  3. Watch the Timeline tab.

A successful run should have the same shape as this event stream:

run.started
step.started   step=agent kind=agent
step.completed step=agent
run.completed

If the run fails with a model-provider authentication error in local development, the loop wiring is still correct. The local server needs a configured model route before an agent step can complete. In the hosted app, use the run failure message to fix the route or the agent model, then click Run again.

5. Read the result

On the run page:

  • Timeline shows when each step started, completed, retried, suspended, or failed.
  • Input shows the trigger and manual-run payload.
  • Output shows the final saved step result.

The run page is the first place to look when a loop surprises you. It shows the definition revision, trigger source, step states, event stream, and output.

Now make one small change: edit the agent instructions, ask for a shorter brief, and click Run again. The old run keeps its original definition revision, and the new run shows the edited behavior. That is the basic Mobius rhythm: try, inspect, adjust.

The loop spec underneath

The app writes the same loop shape you can send through the API:

schema_version: "1"
name: morning-brief
description: Run a focused agent task with project context.
concurrency: queue
triggers:
  - key: weekday-brief
    name: Weekday brief
    kind: schedule
    enabled: true
    config:
      cron: "0 7 * * MON-FRI"
      timezone: "America/New_York"
steps:
  - id: agent
    name: agent
    kind: agent
    config:
      agent_id: agt_scout
      instructions: |
        Write a morning engineering brief for Acme. Include project status,
        risks to watch, and the next three actions for the platform team.
        Return markdown and keep it concise.
output:
  brief: ${{ steps.agent.output }}

The important names are kind, config, instructions, and output. The output: block is the declared run result, rendered after the final step. If a later step needed the brief, it would reference it at ${{ steps.agent.output }}. See steps for the full template and namespace reference.

Next

  • Try Agent messaging when Scout should answer from Slack, Telegram, or your app.
  • Add a Slack notification with an action step.
  • Add a human approval with an interaction step.
  • Connect your own code with a worker.
  • Swap the schedule for a GitHub or Slack event when the brief should react to work already happening.
  • Read the full object model in How Mobius works.