Introducing Relayna: Human-in-the-Loop for AI Workflows
AI agents are getting remarkably capable. They can write code, draft documents, browse the web, and orchestrate complex multi-step workflows — often without any human guidance at all.
But there’s a category of tasks where autonomy isn’t enough. When an agent is about to send an email to a client, transfer funds, publish content, or hand off a sensitive file, you need a human to review and approve it first. That’s the gap Relayna fills.
What Relayna Does
Relayna is a secure file relay and human-approval layer for AI workflows. At its core, it gives your agents a simple REST API to:
- Upload files — anything from PDFs and images to CSVs and JSON
- Create a review checkpoint — a structured request for human approval
- Generate a magic review link — a token-based URL you can send to any reviewer, no account required
- Wait for a decision — via webhook callbacks or lightweight status polling
The reviewer sees a polished UI showing the files and any context your agent provided. They can approve, reject, or request changes. Once they decide, Relayna fires a webhook back to your system so the agent can continue.
Why We Built It
We kept running into the same pain point while building AI-assisted workflows. The agent part was easy — the hard part was the handoff. You’d end up with a mess of ad-hoc email threads, shared drives, and manual status checks.
We wanted something that felt like a first-class primitive. Something an agent could call as naturally as any other API endpoint, that would handle the entire review lifecycle automatically.
How It Works
Here’s a minimal example using our Python client:
import relayna
client = relayna.Client(api_key="your-api-key")
# Upload the file the agent generated
asset = client.assets.upload("report.pdf")
# Create a review checkpoint
checkpoint = client.checkpoints.create(
title="Q1 Financial Report — Please Review",
asset_ids=[asset.id],
webhook_url="https://your-app.com/webhooks/relayna",
ttl_seconds=86400 # 24-hour expiry
)
# Send the review link to your team
print(checkpoint.review_url)
Your webhook receives a POST when the reviewer decides, with the full decision payload including any notes they left.
What’s Next
We’re just getting started. In the coming months we’re shipping:
- Structured decision fields — let reviewers fill in forms, not just approve/reject
- Multi-reviewer workflows — require consensus from multiple people before proceeding
- Audit logs — a full trail of every review decision for compliance
- SDK libraries — official clients for Python, TypeScript, and Go
We’d love to hear how you’re building with AI agents and where human review is still a bottleneck for you. Reach out at [email protected].