Floyd icon

Floyd

Atomic booking holds for AI agent workflows

Booking → Create Hold

AI-generated

Summary

Reserve a time slot with a TTL. Hold expires automatically if not confirmed.

Inputs

  • resourceId (required) — The resource to book. Find it at console.floyd.run → Resources.
  • startAt (required) — Slot start time (ISO 8601 format)
  • endAt (required) — Slot end time (ISO 8601 format)
  • ttlSeconds — How long the hold lasts before expiring (default: 5 minutes). Must be greater than zero if provided.
  • idempotencyKey — Optional key for retry-safe requests. Same key produces the same result.
  • metadata — Arbitrary JSON payload (customer info, external refs, etc.). Must be a valid JSON object if provided.
  • returnConflictsAsOutput — Whether to return 409 conflicts as branchable output or fail the workflow. Defaults to true.

Output shape

array of items, each with json field

Outputs depend on API response and conflict handling. See source for exact field shapes per scenario.

Examples

Example 1: Successful hold creation

resourceId + startAt + endAt + ttlSeconds (optional) + metadata (optional) + idempotencyKey (optional) + returnConflictsAsOutput (optional, default true). Node makes POST /v1/bookings. On 2xx response, returns json with bookingId, status, expiresAt, requestId per item. On 409 with returnConflictsAsOutput=true, returns {outcome, message, requestId}. On 409 with returnConflictsAsOutput=false, throws NodeOperationError. Other errors propagate as NodeOperationError or continue-on-fail payload {error: message}.

Links

Discussion