Skip to content

Pipelines

A pipeline defines how agents collaborate on a task. It specifies the order of operations, what data flows between agents, and where humans can intervene.

This is the pipeline we use for our own demo. A customer reports a content error, and four agents collaborate to fix it.

Email arrives
Support Agent (triage + dispatch)
↓ posts brief to #research
Research Agent (verify the claim)
↓ posts findings to #research
↓ [timed review: 15 min]
Content Agent (fix the content)
↓ commits to GitHub → Vercel deploys
↓ posts to #ops
QA Agent (verify the deployment)
↓ screenshots + confirmation
↓ posts to #ops
Support Agent (reply to customer)
↓ sends email with fix summary
Done

What starts the pipeline. Can be:

  • Email — new message matching a filter
  • Telegram message — direct message or topic post
  • Scheduled — cron-based (daily report, weekly audit)
  • Webhook — external system fires an event
  • Manual — you tell an agent to start

Each step defines:

  • Agent — which agent handles this step
  • Input — what data it receives from the previous step
  • Action — what it should do
  • Output — what it produces for the next step
  • Review gate — none, timed, or required (see Human-on-the-Loop)

What happens when a step fails:

  • Retry — try again (with backoff)
  • Skip — move to the next step
  • Escalate — notify a human and pause
  • Abort — stop the pipeline and notify

What should happen end-to-end? Write it out in plain language first.

“When a customer emails about a pricing error, verify the error exists, fix the content, confirm the fix deployed correctly, and reply to the customer.”

Which agent is best suited for each part?

StepAgentWhy
Receive + triage emailSupportIt monitors the inbox
Verify the claimResearchIt can fetch and analyze web pages
Fix the contentContentIt has repo access and can commit
Verify deploymentQAIt can screenshot and compare
Reply to customerSupportIt owns the customer relationship

What data flows between steps? Keep it structured so receiving agents can parse it reliably.

Start with “timed review” on every step. As you build confidence, remove gates from low-risk steps and tighten them on high-risk ones.

Send a test email and watch the pipeline execute in your Telegram monitoring channel. Intervene if anything looks off.

For teams that want their agents to build and deploy web applications:

User: "Build me a task tracker app"
Coding Agent (scaffolds the app)
↓ creates project, writes code
↓ commits to user's repo
QA Agent (reviews + tests)
↓ runs tests, checks for issues
↓ approves or requests changes
Deploy Agent (ships it)
↓ deploys to user's subdomain
↓ e.g. username.moes.ai/apps/tasks
User gets notified: "Your app is live"

This requires:

  • A coding agent with access to a git repo (user’s GitHub or hosted)
  • A QA agent that can run tests and verify output
  • A deployment target (Vercel, Cloudflare Pages, or managed hosting)
  • Larger compute for the coding agent (builds need more resources than chat)

Users can connect their own GitHub and Vercel accounts for full control over their code and deployments. Or use Moe’s managed infrastructure for a simpler setup.

See Custom Agents for how to configure coding and deployment agents.