> For the complete documentation index, see [llms.txt](https://docs.inverter.network/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.inverter.network/sdk/api/getworkflow.md).

# getWorkflow

The `getWorkflow` method is the standard way of getting a whole workflow with instances of all associated modules.

**Import**: imported as follows

```typescript
import { getWorkflow } from '@inverter-network/sdk'
```

**Parameters**: an object with the following properties

{% code overflow="wrap" %}

```ts
{
    // the public client / provider to make RPC calls
    publicClient: PublicClient
    // the wallet client to sign and submit transactions
    walletClient?: WalletClient
    // the address of a deployed orchestrator proxy contract
    orchestratorAddress: 0x${string}
    // includes a specification of the modules used by the workflow. That is which Authorizer, Funding Manager, Payment Processor and optional logic modules are used.
    requestedModules?: MixedRequestedModules
    // name of the issuance token - strongly types the return
    issuanceTokenType?: WorkflowIssuanceToken
    // name of the funding token - strongly types the return
    fundingTokenType?: WorkflowToken
}
```

{% endcode %}

*Note*: passing a requestedModules will ensure typesafety and type completion.

**Returns**: on object with the following properties

```ts
// each ModuleName corresponds to the name of a module (e.g. FM_DepositVault_v1) 
// and each Module is a module instance as described in the previous section
{
    orchestrator: GetModuleReturnType
    fundingManager: GetModuleReturnType
    authorizer: GetModuleReturnType
    paymentProcessor: GetModuleReturnType
    optionalModule: {
        [name: ModuleName]: GetModuleReturnType
    }
    fundingToken: {
        address: `0x${string}`
        module: GetModuleReturnType
        decimals: number
        symbol: string
    }
    // issuance token is conditional based on modules which use issuance logic
    issuanceToken: {
        address: `0x${string}`
        module: GetModuleReturnType
        decimals: number
        symbol: string
    }
}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.inverter.network/sdk/api/getworkflow.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
