<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: jxrdancrane</title>
    <description>The latest articles on DEV Community by jxrdancrane (@jxrdancrane).</description>
    <link>https://dev.to/jxrdancrane</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3798975%2Ffa9581d0-c094-4acd-afdc-9ca709da405b.png</url>
      <title>DEV Community: jxrdancrane</title>
      <link>https://dev.to/jxrdancrane</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/jxrdancrane"/>
    <language>en</language>
    <item>
      <title>How I added human-in-the-loop approval to my AI agent in 5 minutes</title>
      <dc:creator>jxrdancrane</dc:creator>
      <pubDate>Sat, 28 Feb 2026 22:57:15 +0000</pubDate>
      <link>https://dev.to/jxrdancrane/how-i-added-human-in-the-loop-approval-to-my-ai-agent-in-5-minutes-55gm</link>
      <guid>https://dev.to/jxrdancrane/how-i-added-human-in-the-loop-approval-to-my-ai-agent-in-5-minutes-55gm</guid>
      <description>&lt;p&gt;I kept running into the same problem building AI agents: they'd take real-world actions: sending emails, creating tickets, deploying code, without asking first.&lt;/p&gt;

&lt;p&gt;The agent doesn't know the difference between a test environment and production. It doesn't know that "send follow-up email to all leads" means 3,000 emails. It just executes.&lt;br&gt;
So I built Queuelo - a dead simple approval layer you drop in front of any agent action.&lt;/p&gt;

&lt;h2&gt;
  
  
  How it works
&lt;/h2&gt;

&lt;p&gt;Instead of your agent acting directly, it POSTs to Queuelo:&lt;/p&gt;

&lt;p&gt;curl -X POST &lt;a href="https://queuelo.com/api/actions" rel="noopener noreferrer"&gt;https://queuelo.com/api/actions&lt;/a&gt; \&lt;br&gt;
  -H "Authorization: Bearer YOUR_API_KEY" \&lt;br&gt;
  -H "Content-Type: application/json" \&lt;br&gt;
  -d '{&lt;br&gt;
    "action_type": "send_email",&lt;br&gt;
    "summary": "Send follow-up to 3,000 leads",&lt;br&gt;
    "risk_level": "high",&lt;br&gt;
    "payload": { "template": "follow_up_v2", "count": 3000 },&lt;br&gt;
    "callback_url": "&lt;a href="https://your-agent.com/webhook" rel="noopener noreferrer"&gt;https://your-agent.com/webhook&lt;/a&gt;"&lt;br&gt;
  }'&lt;/p&gt;

&lt;p&gt;Queuelo holds the action, emails you instantly, you approve or reject from a dashboard. When you decide, it fires the callback and your agent proceeds.&lt;/p&gt;

&lt;h2&gt;
  
  
  What you get
&lt;/h2&gt;

&lt;p&gt;Instant email notifications with the full payload so you know exactly what you're approving&lt;br&gt;
Risk levels — low/medium/high/critical so you can prioritize your review queue&lt;br&gt;
Full audit trail — every decision logged with who approved it, their role, and timestamp. Immutable.&lt;br&gt;
Callback webhooks — 3 retries with exponential backoff so your agent always gets the answer&lt;br&gt;
Team support — invite teammates, assign approver roles, decisions scoped to your org&lt;/p&gt;

&lt;h1&gt;
  
  
  The integration
&lt;/h1&gt;

&lt;p&gt;Your agent submits an action and polls for the result:&lt;/p&gt;

&lt;h1&gt;
  
  
  Submit
&lt;/h1&gt;

&lt;p&gt;curl -X POST &lt;a href="https://queuelo.com/api/actions" rel="noopener noreferrer"&gt;https://queuelo.com/api/actions&lt;/a&gt; \&lt;br&gt;
  -H "Authorization: Bearer YOUR_API_KEY" \&lt;br&gt;
  -H "Content-Type: application/json" \&lt;br&gt;
  -d '{"action_type": "deploy_code", "summary": "Deploy v2.1 to prod", "risk_level": "critical"}'&lt;/p&gt;

&lt;p&gt;Returns immediately:&lt;br&gt;
{"id": "abc123", "status": "pending", "created_at": "..."}&lt;/p&gt;

&lt;p&gt;Later, check status&lt;br&gt;
curl &lt;a href="https://queuelo.com/api/actions/abc123" rel="noopener noreferrer"&gt;https://queuelo.com/api/actions/abc123&lt;/a&gt; \&lt;br&gt;
  -H "Authorization: Bearer YOUR_API_KEY"&lt;/p&gt;

&lt;p&gt;Or use callback_url to get notified automatically&lt;/p&gt;

&lt;h2&gt;
  
  
  Why this matters
&lt;/h2&gt;

&lt;p&gt;AI agents are getting more capable fast. The question isn't whether they can act autonomously — it's whether they should for every action.&lt;/p&gt;

&lt;p&gt;Low risk, reversible actions? Auto-approve them. High risk, irreversible actions? Human in the loop, every time.&lt;br&gt;
Queuelo gives you that control without rebuilding your agent.&lt;/p&gt;

&lt;p&gt;Free to start — queuelo.com&lt;/p&gt;

</description>
      <category>ai</category>
      <category>agents</category>
      <category>devtools</category>
    </item>
  </channel>
</rss>
