Getting started
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
mobiusctlCLI (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:
- Open Settings → API Keys
- Click Create key
- 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-workerThe 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
- Read the Workflows concept guide.
- Plug in your own integrations via the Worker Protocol.
- Set up Triggers for webhooks and schedules.