Team operating layer
for coding agents.
Work enters from your tools
Slack requests, GitHub issues, CI failures, and tickets become governed agent runs.
Agents come to you
Agents run on their own and bring plans, PRs, or risky actions to your inbox for approval. You choose which steps to gate.
Every run makes the next one better
See what context the agent used, who approved it, what changed, and where the workflow bottlenecks, so the next run is sharper.
The agent does the work. Viewport runs the process.
Agents can write code. Viewport handles the team loop around them: triggers, context, approvals, private execution, side effects, audit, and insights.
- 01
Work comes in
Slack, GitHub, Jira, CI, schedules, or manual runs.
- 02
Viewport routes it
Match the right workflow, team, runner, repo, and agent.
- 03
Agent gets context
Give each step only the docs, repos, runbooks, and history it should see.
- 04
Humans review
Approve plans, request changes, or block risky actions.
- 05
Ship with proof
Run tests, propose PRs, post receipts, and keep the audit trail.
Everything a team needs around the agent.
Define how agent work should happen.
Choose what starts the workflow, which repos it can touch, what context it can use, who approves it, what actions it can take, and where it runs. Viewport compiles that into a governed agent run.
- Trigger from Slack, GitHub, Jira, CI, or manually
- Attach repos, context, approvals, actions, and runner targets
- See why each event matched a workflow
name: bug-to-pr
trigger:
linear:
event: issue_assigned
team: Payments
repos:
- acme/payments-api
context:
- payments.domain-rules
- checkout.runbook
approvals:
- plan_review
- pr_approval
actions:
- github.open_pr
- slack.comment
runner:
pool: payments-secureRetry & idempotency rules
payments.domain-rules
Checkout incident runbook
checkout.runbook
Test conventions
acme/runbooks
Payment service overview
acme/payments-api/docs
Run agents where your code already lives.
The open-source vpd runner runs on a laptop, VPS, CI worker, or private cloud. It checks out authorized repos, runs Claude, Codex, or custom agents, executes tests, and reports back to Viewport.
- Keep code, model keys, and raw context on your infrastructure
- Runners advertise tools, agents, models, and capabilities
- Add more runners for more parallel agent work
Fix double-charge on checkout retry. Implementing patch + tests.
codex · payments-vps · 3s
Updating retry policy section based on PAY-1842 evidence.
claude-code · ci-runner-2 · 12s
Waiting on PM review for proposed plan.
claude-code · acme-mbp · 4m
One inbox for every decision agents need.
Plans, PR proposals, Slack replies, risky commands, and context updates stop for review. The right humans approve, reject, or request changes before the workflow continues.
- Route reviews to PMs, engineers, on-call, or security
- Comment once and send the agent back to revise
- Every decision is attached to the run audit
Allow `git push` to acme/payments-api on a workflow branch
Workflow paused. codex · payments-vps · 28s ago
Fix double-charge on checkout retry
6-step plan · 3 files touched · 8 min ago
Remember: retry queue workers cap at 3 attempts before alerting
Proposed after triaging PAY-1842 · 6h ago
Learn which agent workflows actually work.
Viewport turns runs into insights: which plans get rejected, which context helps, where approvals bottleneck, which models cost too much, and which workflows produce good PRs.
- Track cost, latency, failures, approvals, and human intervention
- Compare workflows, models, prompts, and context sources
- Use run history to improve the next agent run
Fix double-charge on checkout retry
from linear PAY-1842 · codex · payments-vps
- apps/api/Checkout/RetryHandler.php96 lines
- apps/api/Checkout/PaymentService.php64 lines
- apps/api/tests/CheckoutRetryTest.php71 lines
- database/migrations/...idempotency.php38 lines
Live in three steps.
Install where your code lives, connect your tools, and ship your first governed workflow.
# 1 · install the daemon
$ npm i -g @viewportai/daemon
# 2 · pair a private runner (auto-detects agents + tools)
$ vpd pair --worker --transport=polling
open app.getviewport.com/pair · code: A4-X91-7QH
✓ approved · paired as "payments-vps"
✓ detected: git, node, claude-code, codex
# 3 · bring it online
$ vpd worker start --mode persistent --transport polling
✓ online · waiting for assignments
# connect Slack, GitHub, and Linear and build the
# workflow in the web app, then trigger it.
Keep code, docs, and secrets at the customer edge.
In self-hosted mode, the open-source runner runs inside your environment. It clones repos, reads local docs, runs agents, and uses your credentials. Viewport stores workflow policy, approvals, citations, digests, receipts, and audit state.
Raw code stays local
The runner touches repos and docs; Viewport stores refs, citations, and receipts.
Credentials are scoped
Separate access for checkout, publish, provider actions, model keys, and tools.
Managed modes are opt-in
Use local runners by default; choose managed execution or managed context only when it fits.
Daemon
Customer edge
- repo checkoutyes
- context retrievalyes
- agent executionyes
- proposal receiptsmetadata
Transport
Relay or polling
- runner framestransit
- provider secretsno
- repo tokensno
- context bodiesno
Viewport
Self-host or hosted
- workflow policymetadata
- provider brokerscoped
- context bodiesopt-in
- audit packetyes
The daemon is open source. github.com/ViewportAI/viewport
Start with one workflow.
Scale to every agent.
Pair a runner, connect Slack and GitHub, choose a template, and run your first governed agent workflow.
Open-source runner. Self-hosted execution by default. Managed options when you want them.