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.
TemporalModule.register({
connection: { address: 'localhost:7233', namespace: 'default' },
taskQueue: 'my-task-queue',
worker: {
workflowsPath: require.resolve('./workflows'),
activityClasses: [PaymentActivity],
autoStart: true,
},
})