---
schema_version: "1"
id: fd4b2284aa798e8bbbc2967b22dc13491aecfd219e693e3075c7f37ca330b20c
title: Distribute Flows to Automated Systems
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/platform/264-0-0/flow_distribute_system.md
canonical_url: https://help.salesforce.com/s/articleView?id=platform.flow_distribute_system.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: cd8091a5e4006e98a59390e84eca785b87326b85d3d5a7a578f66ceb08721431
description: Some flows don't require any user interaction to start. To enable a system to automatically launch a flow you can use the start Apex method.
products:
  - Flow Builder
  - Salesforce Platform
release: "264"
---
# Distribute Flows to Automated Systems

Some flows don't require any user interaction to start. To enable a system to automatically launch a flow you can use the `start` Apex method.

Most of these methods can be used only with an autolaunched flow. A flow can be launched without user interaction, such as from the Apex `interview.start` method. Autolaunched flows run in bulk and without user interaction. They can't contain steps, screens, choices, or dynamic choices in the active or latest flow version. When a flow user invokes an autolaunched flow, the active flow version runs. If there’s no active version, the latest version runs. When a flow admin invokes a flow, the latest version always runs.

- **[Start a Flow from REST API](https://help.salesforce.com/s/articleView?id=platform.flow_distribute_system_rest.htm&release=264.0.0&type=5)**  
    Use a REST call to run an autolaunched flow by using the invocable action endpoint and setting the path to flow. For example, you can run a flow from a non-Salesforce application or piece of code. The flow retrieves data from Salesforce and returns it as an output variable in your REST call.
- **[Start a Flow from Apex](https://help.salesforce.com/s/articleView?id=platform.flow_distribute_system_apex_invoke_a_flow_from_apex.htm&release=264.0.0&type=5)**  
    Flows started from Apex can include complex business logic and enhanced error handling, and can integrate with external systems more effectively. This approach promotes reusability by encapsulating logic within flows that can be called as needed. It also provides greater control over execution context and order of operations. The combination of Apex and flow helps you create more powerful and flexible apps that are easier to maintain.

#### See Also

- [_Actions Developer Guide_: Flow Actions](https://developer.salesforce.com/docs/atlas.en-us.api_action.meta/api_action/actions_obj_flow.htm)
- [_Apex Reference Guide_: Interview Class](https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/flow_interview_class.htm)