Start a new workflow run.
QStash authentication token
Optional custom run ID for the workflow run. A random ID will be generated if not provided.
You can send custom headers to your workflow.
To send a custom header, prefix the header name with Upstash-Forward-. We will strip prefix and send them to the destination.
| Header | Forwarded To Destination As |
|---|---|
| Upstash-Forward-My-Header: my-value | My-Header: my-value |
| Upstash-Forward-Authorization: Bearer | Authorization: Bearer |
Number of retries for the workflow steps in case of failure.
Delay the message delivery.
The format of this header is <value><unit> where value is a number and unit is one of:
s for secondsm for minutesh for hours.d for days."50s"
"1d10h30m"
"10h"
"1d"
Delay the message delivery until a certain timestamp in the future.
The format is a unix timestamp in seconds, based on the UTC timezone.
When both Upstash-Not-Before and Upstash-Delay headers are provided, Upstash-Not-Before will take precedence.
Optional label to attach to the workflow run for easier identification in logs and DLQ.
Flow control key to manage concurrency for the workflow run. Steps with the same key will respect the same concurrency limit.
Make sure you pass Upstash-Flow-Control-Value header as well to define the limits for the key.
Parallelism and rate limit configuration for the flow control key in the format:
parallelism=<value>, rate=<value>, period=<value>.
See flow control for details.
Failure callback URL to be called if the workflow run fails after all retries. That is when all the defined retries are exhausted. To call the failure function defined on server, this options should be left empty. A url should be given with this header only to call a different endpoint on failure. See failureUrl.
You can send custom headers along with your failure callback message.
To send a custom header, prefix the header name with Upstash-Failure-Callback-Forward-. We will strip prefix and them to the failure callback URL.
| Header | Forwarded To Callback Destination As |
|---|---|
| Upstash-Failure-Callback-Forward-My-Header: my-value | My-Header: my-value |
| Upstash-Failure-Callback-Forward-Authorization: Bearer | Authorization: Bearer |
Customize the delay between retry attempts when step delivery fails.
By default, Upstash Workflow uses exponential backoff. You can override this by providing a mathematical expressions to compute next delay. This expression is computed after each failed attempt.
You can use the special variable retried, which is how many times the message has been retried. The retried is 0 for the first retry.
Supported functions:
| Function | Description |
|---|---|
pow(x, y) | Returns x raised to the power of y |
exp(x) | Returns e raised to the power of x |
sqrt(x) | Takes the square root of x |
abs(x) | Returns the absolute value of x |
floor(x) | Returns the largest integer less than or equal to x |
ceil(x) | Returns the smallest integer greater than or equal to x |
round(x) | Rounds x to the nearest integer |
min(x, y) | Returns the smaller of x and y |
max(x, y) | Returns the larger of x and y |
Examples:
1000: Fixed 1 second delay1000 * (1 + retried): Linear backoffpow(2, retried) * 1000: Exponential backoffmax(1000, pow(2, retried) * 100): Exponential with minimum 1s delayThe URL of the workflow to trigger.
The raw request payload passed to the workflow endpoints as is. You can access it via requestPayload parameter on the context object.
The body is of type string.