# 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: 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:

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

The question should be specific, self-contained, and written in natural language.
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.
