Core Concepts

Understanding these concepts will help you build effective automations in Flow.


Workspace

A workspace is your team's isolated environment. Everything you create — automations, connections, resources — lives in your workspace.

  • Each workspace has its own team members, settings, and billing
  • You can be a member of multiple workspaces
  • Workspaces are isolated: data doesn't cross between them

Automations

An automation is a workflow that runs when triggered. It consists of:

Triggers

A trigger is the event that starts your automation:

Trigger When It Runs
Manual When a user clicks "Run" or calls the API
Webhook When an external app sends an HTTP request
Schedule At specified times (cron-based)
Slack When a Slack message or command is received
Teams When a Microsoft Teams event occurs
VoIP When an incoming phone call arrives
SQS When an AWS SQS message is received
AI_ASSISTANT When an AI assistant invokes the automation
AI_AGENT When an AI agent triggers the automation

Steps

Steps are the building blocks of your automation. They run sequentially after the trigger fires.

Trigger → Step 1 → Step 2 → Step 3 → SUCCESS

Step types include:

Step Type Purpose
CONNECTOR Execute operations on external services via OpenAPI
VARIABLE Set or transform variables
CONDITION Branch based on logic (if/else)
LOOP Iterate over a collection
FUNCTION Execute custom JavaScript/TypeScript code
DATABASE Execute SQL queries directly
AIAGENT Invoke an AI agent for intelligent processing
SMART_FUNCTION AI-generated code execution
SMART_DECISION AI-powered routing logic
HUMAN_INTERACTION Pause for human input, approval, or form
VOIP Execute voice operations
ETL Execute data pipeline jobs
WORKFLOW Call another workflow as a sub-workflow
SUCCESS Mark workflow as completed successfully
ERROR Mark workflow as failed with error details
END Exit a loop early

Data Flow

Data flows through your automation like water through pipes:

  1. Trigger produces initial data (e.g., webhook payload)
  2. Each step can read previous data and produce new data
  3. Use expressions to reference data from any step
// Reference data from the trigger (input)
{{ input.customer_email }}

// Reference data from a previous step's output
{{ steps.lookupCustomer.output.name }}

// Reference a secret
{{ secrets.api_key }}

// Reference a connection
{{ connections.myDatabase }}

Connections

A connection stores credentials for an external service. Once configured, any automation can use that connection.

Connectors

Connectors are generated from OpenAPI specifications. Each connector defines:

  • Available operations (endpoints)
  • Authentication method
  • Data schemas

Connector Categories

Category Examples
API Generic REST APIs
DATABASE PostgreSQL, MySQL, MongoDB
STORAGE AWS S3, Azure Blob
MESSAGING SQS, SNS, Kafka
AI_PROVIDER OpenAI, Anthropic, Azure OpenAI
COLLABORATION Slack, Microsoft Teams
IDENTITY Auth0, Okta
CRM Salesforce, HubSpot
OBSERVABILITY Datadog, New Relic
SPEECH Twilio Voice, Azure Speech

Authentication Methods

Method Use Case
OAuth 2.0 Most SaaS apps (Slack, Salesforce, Google)
API Key Simple token authentication
Bearer Token JWT or access tokens
Basic Auth Username + password
AWS Signature AWS services

Apps

Apps let you package automations for distribution. Use them to:

  • Share automations with your team
  • Distribute to customers
  • Publish to a marketplace

An app contains:

  • One or more automations
  • Required connections
  • Configuration options
  • Documentation

Resources

Resources are shared assets available to all automations:

Resource Type Description
Variables Global key-value storage
Secrets Encrypted sensitive values (API keys, passwords)
Files Static files (images, documents)

How to Use Resources

In any step, reference resources using expressions:

// Use a secret (credential stored securely)
{{ secrets.stripe_api_key }}

// Use a variable (global value)
{{ variables.company_name }}

Runs

A run is a single execution of an automation. Each run has:

  • Status — Success, Failed, or Running
  • Duration — How long it took
  • Input — Data from the trigger
  • Output — Results from each step
  • Logs — Detailed step-by-step execution

Use the run history to:

  • Debug failed automations
  • Monitor performance
  • Audit what happened

Next Steps

Now that you understand the concepts, put them into practice:

Build Your First Automation