Skip to main content

NestJS Temporal Core

NestJS integration for Temporal.io workflow orchestration

Seamless NestJS Integration

Native decorators and dependency injection โ€” no boilerplate glue code between NestJS and the Temporal SDK.

Auto-Discovery

@Activity() / @ActivityMethod() classes are found and registered automatically via the NestJS DiscoveryModule.

Type Safety

A typed workflow proxy (IWorkflowProxy<T>) infers start/signal/query args and return types from your workflow function.

Health Monitoring

A built-in /health endpoint plus programmatic getHealth() and getStatistics() for production observability.

Modular Architecture

Use client-only, worker-only, activity-only, schedules-only, or the full stack โ€” pick what your service needs.

Production Grade

Connection pooling, multi-worker support, graceful shutdown, and TLS for Temporal Cloud.

Testing Utilities

Fakes for unit tests, an activity harness, a time-skipping test environment and history replay under nestjs-temporal-core/testing.

Register once, run anywhere

One dynamic module wires up connection pooling, worker lifecycle, and auto-discovered activities. Client-only, worker-only, and schedules-only variants are available when you don't need the full stack.

Read the full Getting Started guide โ†’

app.module.ts
TemporalModule.register({
connection: { address: 'localhost:7233', namespace: 'default' },
taskQueue: 'my-task-queue',
worker: {
workflowsPath: require.resolve('./workflows'),
activityClasses: [PaymentActivity],
autoStart: true,
},
})