Skip to main content

Installation

npm

Quick Start

Client Setup

Worker Setup

What Gets Traced

  • Workflow triggers — span created when a client starts a workflow, with workflow type and context propagation
  • Workflow execution — span covering the full workflow lifecycle
  • Activity execution — each activity appears as a tool call in the dashboard with the activity type as the tool name
  • Child workflows — nested under their parent workflow with correct span hierarchy
  • Distributed traces — context propagated across workers via Temporal headers
  • Errors — captured with error status on both workflow and activity spans, re-thrown to caller

What shows in the dashboard

  • Events page — each workflow appears as an event with input (Workflow: {type}) and output (Workflow completed: {type})
  • Tool calls — activities appear in the event’s tool calls list with their activity type as the name
  • Traces tab — full span hierarchy: trigger → workflow → activities, with parent-child nesting for child workflows
  • Propertiestemporal.workflow_type, temporal.workflow_id, temporal.run_id, and child workflow statuses

Configuration

Projects

Route events to a specific project by passing its slug as projectId:
This sets the X-Raindrop-Project-Id header on every event. Omit it (or pass "default") to use your org’s default Production project, which is the existing behavior. Single-project orgs need nothing new.

Architecture

The integration uses four layers:
  1. Client interceptor — wraps client.workflow.start() to create a root trigger span and inject trace context into workflow headers
  2. Activity interceptor — creates a span per activity execution, parenting under the workflow span (same-worker) or using header-propagated context (cross-worker)
  3. Workflow interceptors — propagate trace context from workflows to their activities and child workflows
  4. Sinks — manage workflow-level spans, tracking start and completion events

Flushing and Shutdown

Always call shutdown() before your process exits to ensure all telemetry is delivered.

Known Limitations

  • Abnormally terminated workflows — if a workflow is externally terminated or cancelled without completing normally, the corresponding event may remain in a pending state.
  • Cross-worker trace nesting — when an activity runs on a different worker than its workflow, the trace hierarchy may appear flatter than for same-worker activities. The spans are still linked via headers but may not show a deep parent-child tree.
  • TypeScript only — this integration is currently available for TypeScript. Python support is not yet available.