Example: Minimal
import { Aside } from ‘@astrojs/starlight/components’;
The simplest possible OrgLoop setup. One webhook source, one console logger, no environment variables. Use this to understand the config format before building anything real.
What this example shows
Section titled “What this example shows”- The
orgloop.yamlproject file and how it references external config files - Connector and logger configuration in separate YAML files
- How to send a test event and see it logged
Prerequisites
Section titled “Prerequisites”- Node.js >= 22
- OrgLoop CLI installed (
npm install -g @orgloop/cli) - No accounts or API tokens required
Copy the example and run it:
cp -r examples/minimal my-projectcd my-projectorgloop validateorgloop startOr scaffold from scratch:
orgloop init # select "webhook" when prompted for connectorscd my-projectorgloop validateorgloop startConfiguration
Section titled “Configuration”The example uses three files. No environment variables are required.
orgloop.yaml
Section titled “orgloop.yaml”The project root. References connectors and loggers by path.
# orgloop.yaml — Minimal example# The simplest possible OrgLoop setup: one source, one actor, one route.
apiVersion: orgloop/v1alpha1kind: Projectmetadata: name: minimal-org description: "Minimal OrgLoop example"
defaults: poll_interval: 5m log_level: info
connectors: - connectors/webhook.yaml
loggers: - loggers/default.yamlconnectors/webhook.yaml
Section titled “connectors/webhook.yaml”A generic webhook source that listens for inbound HTTP POST requests.
apiVersion: orgloop/v1alpha1kind: ConnectorGroup
sources: - id: webhook description: Generic webhook receiver connector: "@orgloop/connector-webhook" config: path: "/webhook" emits: - resource.changed - message.receivedloggers/default.yaml
Section titled “loggers/default.yaml”Console logger with color output.
apiVersion: orgloop/v1alpha1kind: LoggerGroup
loggers: - name: console-log type: "@orgloop/logger-console" config: level: info color: trueTesting
Section titled “Testing”Send a test event with curl:
curl -X POST http://localhost:3000/webhook \ -H "Content-Type: application/json" \ -d '{"type": "test", "message": "hello from orgloop"}'What you will see
Section titled “What you will see”The console logger prints each event as it flows through the system:
[info] event.ingested webhook resource.changed evt_abc123[info] event.routed webhook resource.changed (no matching routes)Since this example has no routes or actors, events are ingested and logged but not delivered anywhere. That is the point — it shows the config format and event lifecycle without any external dependencies.
Next steps
Section titled “Next steps”Once you are comfortable with the config format, add a real source:
- GitHub to Slack — one source, one actor, two tokens. The simplest real-world setup.
- Multi-Agent Supervisor — the feedback loop pattern with Claude Code and a supervisor agent.
- Engineering Org — the full multi-source setup with GitHub, Linear, Claude Code, and OpenClaw.