Quickstart

This guide walks you from an empty account to a running workflow in five minutes. You'll create an organization, register a worker, and trigger a run from the dashboard.

Prerequisites

  • A Mobius account (sign up at /sign-up)
  • Go 1.22+ or Node.js 20+ on your machine
  • The mobiusctl CLI (optional but recommended)

1. Create an organization

When you sign in for the first time, Mobius walks you through onboarding. Pick a name for your organization — this is the top-level tenant that contains all your workflows, runs, and workers.

Each user can belong to multiple organizations. Switch between them from the user menu.

2. Generate an API key

Workers authenticate to Mobius with API keys. From the dashboard:

  1. Open Settings → API Keys
  2. Click Create key
  3. Copy the key somewhere safe — it's only shown once
export MOBIUS_API_KEY="mob_sk_..."
export MOBIUS_BASE_URL="https://api.mobius.deepnoodle.ai"

3. Register a worker

A worker is any process that claims jobs from Mobius and runs them. Here's a minimal Go worker:

package main
 
import (
    "context"
    "log"
 
    "github.com/deepnoodle-ai/mobius/worker"
)
 
func main() {
    w, err := worker.New(worker.Config{
        BaseURL: "https://api.mobius.deepnoodle.ai",
        APIKey:  "mob_sk_...",
        Name:    "hello-worker",
        Handler: func(ctx context.Context, job *worker.Task) (*worker.Result, error) {
            log.Printf("got job %s with input %s", job.ID, job.Input)
            return &worker.Result{Output: map[string]any{"status": "ok"}}, nil
        },
    })
    if err != nil {
        log.Fatal(err)
    }
    if err := w.Run(context.Background()); err != nil {
        log.Fatal(err)
    }
}

Run it:

go run ./cmd/hello-worker

The worker will appear under Admin → Workers within a few seconds.

4. Trigger a run

From the dashboard, open Workflows and click Run on the sample workflow Mobius provisioned for your org. Watch the execution stream live in the run inspector.

Next steps