Skip to main content
An automation has the pieces Flow needs to start work, run steps, call providers, and record the result.

Visual automation and code

Flow creates a visual automation first. Open Code when you want to inspect or extend the generated code.
Automation authoring surface showing the visual automation and generated code side by side.

Core pieces

Inputs

Inputs are the fields a run needs before it starts. Flow uses them to create the request form and to exercise Validation scenarios and draft runs. Examples:

Steps

Steps describe the work in order. A step can validate input, request approval, call an integration action, or prepare the output.

Integration actions

Integration actions are the provider operations the automation can call, such as:
  • Create a Jira Service Management request.
  • Add a user to a Google Workspace group.
  • Post a Slack message.
  • Create a PagerDuty incident.
Integration actions determine which provider connections Flow requires when you test or publish.

Flow actions

Flow actions read or update data that Flow owns, such as a ticket or asset. They use the automation run’s identity and team permissions and do not require a provider connection. Use Flow actions for the available imports, helpers, and authoring rules.

Outputs

An automation computes its result once. Output surfaces control who can consume that result:
  • API: The canonical structured result for applications and integrations.
  • Conversation: A requester-facing result in a supported Flow-managed conversation, including Slack.
  • MCP: A structured result for an authorized MCP caller.
When you ask Flow to create a new automation, it enables all three surfaces with the API fields. It explains this default and offers customization. You can request API-only output, disable a surface, or choose different fields for each surface. A blank automation created manually starts with API-only output. An unrelated edit preserves an existing automation’s output settings. For example, ask: “Keep status and reference in API and MCP. Return only status to the requester, presented in one sentence.” Sensitivity follows the data each surface receives, including nested fields. Sensitive conversational results follow Flow’s private-delivery rules. Output settings do not grant access or bypass credential redaction. They do not send messages to arbitrary recipients or create a Slack conversation for a scheduled run.

Triggers

A trigger is how a run starts. Flow supports multiple entry points depending on how the automation is exposed: Use Trigger automations for entry-point setup.

Versions

Publishing creates a version. New runs use the active published version. Existing runs keep using the version they started with.