Product

An orchestration layer around AI at work

A workflow engine that calls models where judgment is required, runs deterministic steps everywhere else, and keeps the boundary between the two in a definition anyone on the team can read.

68 seconds, narrated · Filmed in a demo account

The definition

One document that says what the automation may do

A workflow is YAML with a trigger, optional inputs, an optional budget and a list of steps. Steps run in dependency order, each one only after everything it depends on succeeded and only when its condition is met. Nothing about what it may reach is implied.

  • Model output can be constrained to a JSON schema the next step relies on
  • Agent steps get a named tool list and an iteration limit, 10 by default and 50 at most
  • Conditions branch on values in the run, not on a judgement made at run time
  • Budgets cap tokens, cost, agent turns and duration, per run and per calendar month
murmurator.app/a/northwind/workflows/pr-review-bot
One document that says what the automation may do
One document that says what the automation may do

Execution

A dependable engine under every workflow

Triggers fire from GitHub, Slack, Linear, Stripe and other connection events, from schedules, from webhooks or from a click. Each run is pinned to the exact version it started with, and survives the worker it started on going away.

  • Manual, schedule, webhook and connection event triggers
  • Conditional branches, with dependents skipped and the reason recorded
  • Crash-safe: interrupted runs resume at the step boundary they reached
  • Per-step input, output, logs, errors and token counts, streaming in live
murmurator.app/a/northwind/workflows/daily-engineering-digest/runs/231
A dependable engine under every workflow
A dependable engine under every workflow

Connections

Scope access once, and every workflow inherits it

Add GitHub, Slack, Linear, Stripe, Shopify, Zendesk, Jira, PagerDuty, databases, email and dozens more with encrypted credentials. Each exposes typed tools your workflows and agents can call, and the limits you set live on the connection rather than being repeated in every prompt.

  • Allow-lists for repositories, channels, teams, paths and recipients
  • Read-only SQL with statement timeouts and row caps until you opt in to writes
  • Webhook deliveries verified against the provider's own signature
  • Decide per connection whether its tools appear on the MCP server at all
murmurator.app/a/northwind/connections/github
Scope access once, and every workflow inherits it
Scope access once, and every workflow inherits it

The assistant

The fast way to write one, not the reason to have one

Describe the outcome and the assistant reads your connections and models, drafts the steps, validates them against the account, tests JavaScript in the sandbox and saves a version. The value is the workflow it produces, which you read and own afterwards.

  • Asks clarifying questions instead of guessing channels or repositories
  • Refuses to reference connections, tools or models the account does not have
  • Every save is a version with a summary, an author and a diff
  • Diagnoses failed runs: “why did the last run fail?”
murmurator.app/a/northwind/workflows/pr-review-bot/versions/3
The fast way to write one, not the reason to have one
The fast way to write one, not the reason to have one

Workspaces

A folder of its own, and a coding agent in it

A run can clone a repository into a sandboxed workspace, hand the job to a coding agent that edits files and runs commands on its own, then run your test suite over the result and open a pull request only if it passed. The folder is deleted when the run finishes.

  • Describe the job the way you would to a developer
  • Pick the agent: opencode or codex, on your own models
  • Your tests decide whether anything gets pushed
  • Cloning and pushing obey the connection's allowed repositories

Example: Issue to pull request

Trigger
GitHub
github · issues · northwind/api
tool
Read the issue
github.get_issue
if trigger.label.name == "automate"
tool
Clone into a workspace
workspace.create
tool
Hand it to the coding agent
workspace.agent
tool
Run the test suite
workspace.exec
tool
Commit the change
workspace.commit
if tests.output.exit_code == 0
tool
Report a failing suite
github.create_comment
if tests.output.exit_code != 0
tool
Push the branch
workspace.push
tool
Open the pull request
github.create_pull_request

Label an issue `automate`, get a pull request with passing tests.

Models

Built-in models, or bring your own

Start instantly with Murmurator AI, billed per token, or add Anthropic, OpenAI, Gemini, OpenRouter, Mistral, DeepSeek, xAI or Ollama with your own keys. Steps name a model rather than a provider, so you can swap what sits behind a name without touching a workflow.

  • Murmurator AI: prepaid per token, with auto-recharge and a monthly spend limit an owner sets
  • Your own keys: no markup, billed by your provider under your agreement
  • Per-step token usage and cost on every run
murmurator.app/a/northwind/ai_models
Built-in models, or bring your own
Built-in models, or bring your own

Teams

Shared by default, owned by the account

A workflow belongs to the account, not to the person who wrote it. Invite your team with roles, improve a process once, and everyone gets the improvement. Every change lands in version history with who made it and where it came from.

  • Owner, admin and member roles, with connections and models managed centrally
  • Changes attributed to a person, the assistant or an agent over MCP
  • Multiple accounts per person
  • Runs in flight keep the version they started on
murmurator.app/a/northwind
Shared by default, owned by the account

Step kinds

Two kinds reason. Two do exactly what you wrote.

Every step is one of four kinds, and you choose per step which side of the line it sits on.

Tool

Deterministic. Call one tool on one connection: post to Slack, query Postgres, comment on a pull request, or change code in a workspace.

LLM

Reasoning. One model call, optionally constrained to a JSON schema so the next step can rely on its shape.

Agent

Reasoning, with a leash. A model chooses which of its listed tools to call, bounded by an iteration limit and a budget.

JavaScript

Deterministic. Sandboxed code with typed inputs and declared outputs, checked on every run.

Turn one person's AI process into the company's.

Murmurator is invite-only. Already invited? Sign in and build something real.