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

# workflows

## Constructor

```typescript
workflows(http: HttpClient, config: ModusConfig): ManagementWorkflowsResource
```

### Parameters

<ResponseField name={"http"} type={"HttpClient"} required />

<ResponseField name={"config"} type={"ModusConfig"} required />

### Returns

`ManagementWorkflowsResource`

## Properties

<ResponseField name={"ops"} type={"ManagementWorkflowsOperations"} required />

## Methods

### acceptOwnershipTransfer()

```typescript
acceptOwnershipTransfer(workflowId: string | number): Promise<object>
```

Accept a pending workflow ownership transfer.

#### Parameters

<ResponseField name={"workflowId"} type={"string | number"} required />

#### Returns

`Promise<object>`

### cancelOwnershipTransfer()

```typescript
cancelOwnershipTransfer(workflowId: string | number): Promise<object>
```

Cancel a pending workflow ownership transfer.

#### Parameters

<ResponseField name={"workflowId"} type={"string | number"} required />

#### Returns

`Promise<object>`

### create()

```typescript
create(options: CreateWorkflowOptions): Promise<object>
```

Create a new workflow in the organization.

```ts
const wf = await mgmt.workflows.create({ name: 'Daily report', type: WorkflowType.Task })
```

#### Parameters

<ResponseField name={"options"} type={"CreateWorkflowOptions"} required />

#### Returns

`Promise<object>`

The created workflow (draft).

### delete()

```typescript
delete(workflowId: string | number): Promise<void>
```

Delete a workflow.

#### Parameters

<ResponseField name={"workflowId"} type={"string | number"} required>
  Workflow id.
</ResponseField>

#### Returns

`Promise<void>`

Resolves when the workflow is deleted.

### deploy()

```typescript
deploy(workflowId: string | number): Promise<object>
```

Publish the current draft of a workflow.

```ts
await mgmt.workflows.update(workflowId, { description: 'Runs every morning' })
const published = await mgmt.workflows.deploy(workflowId)
```

#### Parameters

<ResponseField name={"workflowId"} type={"string | number"} required>
  Workflow id.
</ResponseField>

#### Returns

`Promise<object>`

The published workflow.

### get()

```typescript
get(workflowId: string | number, options?: { view: VariationView }): Promise<object>
```

Retrieve a workflow with full configuration.

#### Parameters

<ResponseField name={"workflowId"} type={"string | number"} required>
  Workflow id.
</ResponseField>

<ResponseField name={"options"} type={"{ view: VariationView }"} />

#### Returns

`Promise<object>`

The workflow.

### interfaces()

```typescript
interfaces(workflowId: string | number): WorkflowInterfacesResource
```

Interfaces attached to a workflow.

#### Parameters

<ResponseField name={"workflowId"} type={"string | number"} required>
  Workflow id.
</ResponseField>

#### Returns

`WorkflowInterfacesResource`

An interfaces resource scoped to the workflow.

### list()

```typescript
list(options?: { pageSize: number; pageToken: string; search: string; type: WorkflowType; view: VariationView; includeVariation: boolean }): Promise<Page<object>>
```

List workflows in the organization.

#### Parameters

<ResponseField name={"options"} type={"{ pageSize: number; pageToken: string; search: string; type: WorkflowType; view…"} />

#### Returns

`Promise<Page<object>>`

A page of workflows.

### requestOwnershipTransfer()

```typescript
requestOwnershipTransfer(workflowId: string | number, options: { newOwnerUserId: string }): Promise<object>
```

Start transferring ownership of a workflow to another organization member.

#### Parameters

<ResponseField name={"workflowId"} type={"string | number"} required>
  Workflow id.
</ResponseField>

<ResponseField name={"options"} type={"{ newOwnerUserId: string }"} required />

#### Returns

`Promise<object>`

The workflow with a pending ownership transfer.

### restore()

```typescript
restore(workflowId: string | number): Promise<object>
```

Restore a previously deleted workflow.

#### Parameters

<ResponseField name={"workflowId"} type={"string | number"} required>
  Workflow id.
</ResponseField>

#### Returns

`Promise<object>`

The restored workflow.

### toggle()

```typescript
toggle(workflowId: string | number, options: { active: boolean }): Promise<object>
```

Enable or disable a workflow without deleting it.

#### Parameters

<ResponseField name={"workflowId"} type={"string | number"} required>
  Workflow id.
</ResponseField>

<ResponseField name={"options"} type={"{ active: boolean }"} required />

#### Returns

`Promise<object>`

The updated workflow.

### update()

```typescript
update(workflowId: string | number, options?: UpdateWorkflowOptions): Promise<object>
```

Update a workflow's configuration.

Only the fields you pass are changed. To clear a field, name it in
`updateMask` and leave its argument unset.

#### Parameters

<ResponseField name={"workflowId"} type={"string | number"} required>
  Workflow id.
</ResponseField>

<ResponseField name={"options"} type={"UpdateWorkflowOptions"} />

#### Returns

`Promise<object>`

The updated workflow.
