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

# Overview

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)
