---
title: AMWorkflowController
framework: automator
role: symbol
role_heading: Class
path: automator/amworkflowcontroller
---

# AMWorkflowController

An object that lets you manage an Automator workflow in your app.

## Declaration

```swift
class AMWorkflowController
```

## Overview

Overview A controller can run and stop a workflow and obtain information about its state. The controller’s delegate (AMWorkflowControllerDelegate) receives messages as the workflow is executed and its actions are run. You can load and run a workflow with minimal overhead by using the AMWorkflow class method run(at:withInput:). Use AMWorkflowController where you need greater control, such as the ability to start and stop the workflow. In that case, you must create and initialize both the workflow and the workflow controller objects.

## Topics

### Accessing the Workflow

- [workflow](automator/amworkflowcontroller/workflow.md)

### Accessing the Workflow View

- [workflowView](automator/amworkflowcontroller/workflowview-swift.property.md)

### Accessing the Delegate

- [delegate](automator/amworkflowcontroller/delegate.md)
- [AMWorkflowControllerDelegate](automator/amworkflowcontrollerdelegate.md)

### Controlling the Workflow

- [pause(_:)](automator/amworkflowcontroller/pause(_:).md)
- [reset(_:)](automator/amworkflowcontroller/reset(_:).md)
- [run(_:)](automator/amworkflowcontroller/run(_:).md)
- [step(_:)](automator/amworkflowcontroller/step(_:).md)
- [stop(_:)](automator/amworkflowcontroller/stop(_:).md)

### Getting Workflow Information

- [canRun](automator/amworkflowcontroller/canrun.md)
- [isPaused](automator/amworkflowcontroller/ispaused.md)
- [isRunning](automator/amworkflowcontroller/isrunning.md)

## Relationships

### Inherits From

- [NSController](appkit/nscontroller.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSCoding](foundation/nscoding.md)
- [NSEditor](appkit/nseditor.md)
- [NSEditorRegistration](appkit/nseditorregistration.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Workflows

- [AMWorkflow](automator/amworkflow.md)
- [AMWorkflowView](automator/amworkflowview.md)
- [AMWorkspace](automator/amworkspace.md)
