Home > @aws/durable-execution-sdk-js > DurableContext > createCallback
Creates a callback that external systems can complete
Signature:
createCallback<TOutput = string>(name: string | undefined, config?: CreateCallbackConfig<TOutput>): DurablePromise<CreateCallbackResult<TOutput>>;|
Parameter |
Type |
Description |
|---|---|---|
|
name |
string | undefined |
Step name for tracking and debugging |
|
config |
CreateCallbackConfig<TOutput> |
(Optional) Optional configuration for timeout and serialization |
Returns:
DurablePromise<CreateCallbackResult<TOutput>>
Tuple of [promise that resolves when callback is submitted, callback ID]
{CallbackError} When callback fails, times out, or external system reports failure (thrown by the returned promise)
const [callbackPromise, callbackId] = await context.createCallback(
"external-approval",
{ timeout: { hours: 1 } }, // 1 hour timeout
);
// Send callback ID to external system
await sendApprovalRequest(callbackId, requestData);
// Wait for external system to submit callback
const approvalResult = await callbackPromise;