resonate-human-in-the-loop-pattern-typescript

Pause durable TypeScript workflows for human input and resume on resolution.

6|Updated Jan 8, 2026
One-click install
npx skills add https://github.com/resonatehq/resonate-skills --skill resonate-human-in-the-loop-pattern-typescript
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: resonate-human-in-the-loop-pattern-typescript
Source: https://github.com/resonatehq/resonate-skills/tree/main/resonate-human-in-the-loop-pattern-typescript
Command: npx skills add https://github.com/resonatehq/resonate-skills --skill resonate-human-in-the-loop-pattern-typescript

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This pattern enables durable workflows to pause for human input—approvals, reviews, or interventions—without consuming resources and to resume exactly where left off when the external decision arrives.

Core Features & Use Cases

  • Durable promise-based pausing with explicit IDs to coordinate external resolution.
  • External resolution via emails, UI links, or webhooks, allowing asynchronous human decisions.
  • Support for multi-stage, parallel, or sequential approvals and audit trails across services.
  • Safe timeout handling and recovery on failures to ensure durable continuation or fallback.

Quick Start

Initialize a HITL workflow by creating an explicit-id promise, notify a human participant with the prompt URL, and await resolution to continue.

Frequently Asked Questions about resonate-human-in-the-loop-pattern-typescript

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I pause a durable workflow for human approval and resume it later?

To pause a durable workflow for human approval, create a promise with an explicit ID and await its external resolution. The workflow resumes exactly where it left off once the human decision arrives via HTTP or messaging.

What is a human-in-the-loop pattern for durable functions?

A human-in-the-loop pattern for durable functions allows workflows to suspend execution and wait for manual input without consuming resources. It uses durable promises with explicit IDs to coordinate asynchronous external resolutions.

Can I handle timeouts and failures when waiting for manual intervention in distributed services?

Yes, this pattern supports safe timeout handling and recovery on failures. It ensures durable continuation or fallback if a manual intervention promise times out or encounters a system failure across distributed services.

How do I trigger external resolution for workflow approval gates?

You trigger external resolution for workflow approval gates via emails, UI links, or webhooks. These channels allow human participants to submit base64-encoded decision payloads that resolve the paused durable promise.

Does this human-in-the-loop approach support multi-stage and sequential approvals?

Yes, this approach supports multi-stage, parallel, or sequential approvals. It maintains audit trails across services by using durable promises with explicit IDs to coordinate each step of the external resolution process.