Skip to main content

Namespace: client

Client for communicating with Temporal Server.

Most functionality is available through WorkflowClient, but you can also call gRPC methods directly using workflowService and operatorService.

Usage

import { Connection, WorkflowClient } from '@temporalio/client';
import { example } from './workflows';
import { nanoid } from 'nanoid';

async function run() {
// Connect to the default Server location (localhost:7233)
const connection = await Connection.connect();
// In production, pass options to configure TLS and other settings:
// {
// address: 'foo.bar.tmprl.cloud',
// tls: {}
// }

const client = new WorkflowClient({
connection,
// namespace: 'foo.bar', // connects to 'default' namespace if not specified
});

const handle = await client.start(example, {
// type inference works! args: [name: string]
args: ['Temporal'],
taskQueue: 'hello-world',
// in practice, use a meaningful business id, eg customerId or transactionId
workflowId: 'workflow-' + nanoid(),
});
console.log(`Started workflow ${handle.workflowId}`);

// optional: wait for client result
console.log(await handle.result()); // Hello, Temporal!
}

run().catch((err) => {
console.error(err);
process.exit(1);
});

Enumerations

Classes

Interfaces

References

DataConverter

Re-exports DataConverter


Headers

Re-exports Headers


Next

Re-exports Next


defaultPayloadConverter

Re-exports defaultPayloadConverter

Type Aliases

ActivityInterface

Ƭ ActivityInterface: Record<string, ActivityFunction>

Mapping of Activity name to function

Deprecated

not required anymore, for untyped activities use UntypedActivities


AsyncCompletionClientOptionsWithDefaults

Ƭ AsyncCompletionClientOptionsWithDefaults: Replace<Required<AsyncCompletionClientOptions>, { connection?: ConnectionLike }>


ClientOptionsWithDefaults

Ƭ ClientOptionsWithDefaults: Replace<Required<ClientOptions>, { connection?: ConnectionLike }>


CommonWorkflowOptions

Ƭ CommonWorkflowOptions: BaseWorkflowOptions & WorkflowDurationOptions


ConnectionOptionsWithDefaults

Ƭ ConnectionOptionsWithDefaults: Required<Omit<ConnectionOptions, "tls" | "connectTimeout">> & { connectTimeoutMs: number }


DescribeWorkflowExecutionResponse

Ƭ DescribeWorkflowExecutionResponse: IDescribeWorkflowExecutionResponse


GetWorkflowExecutionHistoryRequest

Ƭ GetWorkflowExecutionHistoryRequest: IGetWorkflowExecutionHistoryRequest


HealthService

Ƭ HealthService: Health


LoadedAsyncCompletionClientOptions

Ƭ LoadedAsyncCompletionClientOptions: AsyncCompletionClientOptionsWithDefaults & { loadedDataConverter: LoadedDataConverter }


LoadedClientOptions

Ƭ LoadedClientOptions: ClientOptionsWithDefaults & { loadedDataConverter: LoadedDataConverter }


LoadedWorkflowClientOptions

Ƭ LoadedWorkflowClientOptions: WorkflowClientOptionsWithDefaults & { loadedDataConverter: LoadedDataConverter }


Metadata

Ƭ Metadata: Record<string, grpc.MetadataValue>

Mapping of string to valid gRPC metadata value


OperatorService

Ƭ OperatorService: OperatorService


Payload

Ƭ Payload: IPayload


ProtoFailure

Ƭ ProtoFailure: IFailure


RequestCancelWorkflowExecutionResponse

Ƭ RequestCancelWorkflowExecutionResponse: IRequestCancelWorkflowExecutionResponse


SearchAttributeValue

Ƭ SearchAttributeValue: string[] | number[] | boolean[] | Date[]


SearchAttributes

Ƭ SearchAttributes: Record<string, SearchAttributeValue | undefined>

If another SDK creates a Search Attribute that's not an array, we wrap it in an array.

Dates are serialized as ISO strings.


StartWorkflowExecutionRequest

Ƭ StartWorkflowExecutionRequest: IStartWorkflowExecutionRequest


TerminateWorkflowExecutionResponse

Ƭ TerminateWorkflowExecutionResponse: ITerminateWorkflowExecutionResponse


UntypedActivities

Ƭ UntypedActivities: Record<string, ActivityFunction>

Mapping of Activity name to function


WithCompiledWorkflowOptions

Ƭ WithCompiledWorkflowOptions<T>: Replace<T, { workflowExecutionTimeout?: IDuration ; workflowRunTimeout?: IDuration ; workflowTaskTimeout?: IDuration }>

Type parameters

NameType
Textends CommonWorkflowOptions

WithWorkflowArgs

Ƭ WithWorkflowArgs<W, T>: T & Parameters<W> extends [any, ...any[]] ? { args: Parameters<W> } : { args?: Parameters<W> }

Type parameters

NameType
Wextends Workflow
TT

Workflow

Ƭ Workflow: (...args: any[]) => WorkflowReturnType

Type declaration

▸ (...args): WorkflowReturnType

Broad Workflow function definition, specific Workflows will typically use a narrower type definition, e.g:

export async function myWorkflow(arg1: number, arg2: string): Promise<string>;
Parameters
NameType
...argsany[]
Returns

WorkflowReturnType


WorkflowClientOptionsWithDefaults

Ƭ WorkflowClientOptionsWithDefaults: Replace<Required<WorkflowClientOptions>, { connection?: ConnectionLike }>


WorkflowExecutionStatusName

Ƭ WorkflowExecutionStatusName: "UNSPECIFIED" | "RUNNING" | "COMPLETED" | "FAILED" | "CANCELLED" | "TERMINATED" | "CONTINUED_AS_NEW" | "TIMED_OUT" | "UNKNOWN"


WorkflowQueryType

Ƭ WorkflowQueryType: (...args: any[]) => any

Type declaration

▸ (...args): any

Parameters
NameType
...argsany[]
Returns

any


WorkflowResultType

Ƭ WorkflowResultType<W>: ReturnType<W> extends Promise<infer R> ? R : never

Get the "unwrapped" return type (without Promise) of the execute handler from Workflow type W

Type parameters

NameType
Wextends Workflow

WorkflowReturnType

Ƭ WorkflowReturnType: Promise<any>

Type that can be returned from a Workflow execute function


WorkflowService

Ƭ WorkflowService: WorkflowService


WorkflowSignalType

Ƭ WorkflowSignalType: (...args: any[]) => Promise<void> | void

Type declaration

▸ (...args): Promise<void> | void

Parameters
NameType
...argsany[]
Returns

Promise<void> | void


WorkflowSignalWithStartOptions

Ƭ WorkflowSignalWithStartOptions<SignalArgs>: SignalArgs extends [any, ...any[]] ? WorkflowSignalWithStartOptionsWithArgs<SignalArgs> : WorkflowSignalWithStartOptionsWithoutArgs<SignalArgs>

Type parameters

NameType
SignalArgsextends any[] = []

WorkflowStartOptions

Ƭ WorkflowStartOptions<T>: WithWorkflowArgs<T, WorkflowOptions>

Options for starting a Workflow

Type parameters

NameType
Textends Workflow = Workflow

Variables

HealthService

HealthService: typeof Health


LOCAL_TARGET

Const LOCAL_TARGET: "127.0.0.1:7233"


OperatorService

OperatorService: typeof OperatorService


WorkflowService

WorkflowService: typeof WorkflowService

Functions

compileWorkflowOptions

compileWorkflowOptions<T>(options): WithCompiledWorkflowOptions<T>

Type parameters

NameType
Textends CommonWorkflowOptions

Parameters

NameType
optionsT

Returns

WithCompiledWorkflowOptions<T>


defaultAsyncCompletionClientOptions

defaultAsyncCompletionClientOptions(): AsyncCompletionClientOptionsWithDefaults

Returns

AsyncCompletionClientOptionsWithDefaults


defaultClientOptions

defaultClientOptions(): ClientOptionsWithDefaults

Returns

ClientOptionsWithDefaults


defaultGrpcRetryOptions

defaultGrpcRetryOptions(options?): GrpcRetryOptions

Generates the default retry behavior based on given backoff options

Parameters

NameType
options?Partial<BackoffOptions>

Returns

GrpcRetryOptions


defaultWorkflowClientOptions

defaultWorkflowClientOptions(): WorkflowClientOptionsWithDefaults

Returns

WorkflowClientOptionsWithDefaults


isRetryableError

isRetryableError(status): boolean

Parameters

NameType
statusStatusObject

Returns

boolean


isServerErrorResponse

isServerErrorResponse(err): err is ServerErrorResponse

Type assertion helper, assertion is mostly empty because any additional properties are optional.

Parameters

NameType
errunknown

Returns

err is ServerErrorResponse


makeGrpcRetryInterceptor

makeGrpcRetryInterceptor(retryOptions): Interceptor

Returns a GRPC interceptor that will perform automatic retries for some types of failed calls

Parameters

NameTypeDescription
retryOptionsGrpcRetryOptionsOptions for the retry interceptor

Returns

Interceptor