Steadybase
Core Concepts

Human-in-the-Loop

Signal-based approval gates that keep humans in control of high-stakes AI decisions.

Human-in-the-Loop

Steadybase's AI workers operate autonomously within guardrails, but high-stakes decisions require human approval. The platform uses Temporal's signal mechanism to implement durable approval gates.

How It Works

Workflow executing...


┌──────────────────┐
│  Approval Gate   │
│  (waiting for    │◄──── Signal: approveStep
│   human signal)  │
└──────────────────┘


Workflow continues...

When a workflow reaches an approval gate:

  1. Execution pauses — The workflow enters a waiting state
  2. Notification sent — WebSocket event + optional Slack message
  3. Dashboard updated — The worker shows status waiting
  4. Wait begins — The workflow waits for a signal (configurable timeout)
  5. Signal received — Human approves or rejects
  6. Execution resumes — Workflow continues with the approval decision

Approval Gates in Practice

Client Onboarding

The Client Onboarding workflow has an approval gate at the compliance review step:

// Workflow pauses here
const approved = await condition(
  () => stepApprovals['compliance-review'] !== undefined,
  '7 days' // timeout
);
 
if (approved) {
  await sendFollowup(accountId, proposal);
} else {
  await escalateToManager(accountId, 'Compliance hold');
}

Drew Coordinator

Step 7 of the Drew Coordinator requires AE approval of outreach drafts before proceeding:

  • Outreach is generated but not sent
  • AE reviews the content in the dashboard
  • AE can approve, reject, or modify before the workflow continues

Signal API

Approval signals are sent via the Temporal client:

// Approve a workflow step
const handle = client.workflow.getHandle(workflowId);
await handle.signal('approveStep', {
  stepId: 'compliance-review',
  approved: true,
  approvedBy: 'sarah@steadybase.io',
  notes: 'Approved with minor edits'
});
 
// Skip a step entirely
await handle.signal('skipStep', {
  stepId: 'compliance-review',
  reason: 'Existing customer, no review needed'
});

Timeout Behavior

If no signal is received within the configured timeout:

WorkflowTimeoutOn Timeout
Client Onboarding7 daysEscalate to manager
Drew Coordinator7 daysWorkflow expires, results preserved
Ticket ResolutionSLA-basedEscalate to RevOps queue

:::warning Timed-out workflows preserve all work completed before the gate. No data is lost — the workflow simply stops advancing. :::

When Approval is Required

Steadybase requires human approval for:

  • External communications — Outreach emails, LinkedIn messages
  • Financial decisions — Discount approvals, pricing exceptions
  • Compliance-sensitive actions — New client onboarding, data access
  • Tier 1 account actions — Any automated action on strategic accounts

Routine operations (lead scoring, memory updates, internal analysis) execute without approval gates.

On this page