> ## Documentation Index
> Fetch the complete documentation index at: https://upstash-worktree-docs-descriptions.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Overview

> Use the Upstash Workflow Client to programmatically interact with your workflow runs from your own app or any external service.

The Workflow Client lets you programmatically interact with your workflow runs.
You can use it from the same application that hosts your workflows, or from any external service.

## Initialization

Initialize a new client with your credentials:

```javascript theme={"system"}
import { Client } from "@upstash/workflow"

const client = new Client({
  baseUrl: process.env.QSTASH_URL!,
  token: process.env.QSTASH_TOKEN!
})
```

The client is lightweight and stateless. You can safely reuse a single instance across your application.

## Functionality

The client exposes a set of functions to manage workflow runs and inspect their state:

* [client.trigger](/workflow/basics/client/trigger)
* [client.cancel](/workflow/basics/client/cancel)
* [client.notify](/workflow/basics/client/notify)
* [client.logs](/workflow/basics/client/logs)
* [client.getWaiters](/workflow/basics/client/waiters)
* client.dlq
  * [client.dlq.list](/workflow/basics/client/dlq/list)
  * [client.dlq.restart](/workflow/basics/client/dlq/restart)
  * [client.dlq.resume](/workflow/basics/client/dlq/resume)
  * [client.dlq.delete](/workflow/basics/client/dlq/delete)
  * [client.dlq.retryFailureFunction](/workflow/basics/client/dlq/callback)
