sherlock.
DELEGATION / MODULE REFERENCE

Relay

Delegate scoped tasks between published graphs with verified caller identity and cryptographic context.

When to use it

Safely hand off an authenticated support interaction into a dedicated, isolated payment execution workflow.

Supported Operations & Data Contracts

This module operates within published graph systems and task workflows.

delegate · Delegate Task to Sub-Graph (Graph Only)POST /api/v1/modules/relay

Forwards context and parameters to another published component with cryptographic signing.

Input Parameters

FieldTypeRequirementDescription
targetGraphIdUUIDRequiredPublished system ID of receiving graph.
targetNodeIdstringRequiredEntry node ID inside receiving graph.
scopesstring[]RequiredNarrowed authorization scopes (e.g. ['sandbox:transfer']).

Output Fields

FieldTypeDescription
taskIdUUIDCreated child task ID in the durable task tree.
statusstringChild task status (waiting_approval, running, completed).

Example Request Payload

JSON Request BodyContent-Type: application/json
{
  "operation": "delegate",
  "input": {
    "targetGraphId": "550e8400-e29b-41d4-a716-446655440000",
    "targetNodeId": "bridge",
    "scopes": [
      "sandbox:transfer"
    ]
  }
}

Example Response

JSON Response (HTTP 200)Cache-Control: no-store
{
  "module": "relay",
  "output": {
    "taskId": "task_12345",
    "status": "waiting_approval"
  }
}

Configuration in Graph Builder

When adding Relay into a visual component or graph workflow, configure its node runtime settings in the builder inspector:

In node settings, specify targetGraphId and targetNodeId. Wire upstream data into Relay's inputs. Downstream nodes wait until the delegated child task completes or is approved.

Current Boundaries & Guarantees

Published same-owner components only. Maximum 3 delegation hops and 32 tasks per tree. Direct module calls return HTTP 501. Customer authority requires separate interactive confirmation.

Related Trust Modules