Skip to main content

Actions

Actions are the steps your automation performs after being triggered. FlowStack provides 1,000+ pre-built actions across both engines, plus the ability to call any HTTP API.

Action Types

App Actions

Pre-built operations for specific apps. Examples:

CategoryAppsExample Actions
EmailGmail, Outlook, SendGrid, MailchimpSend email, create draft, add subscriber
MessagingSlack, Discord, Teams, TelegramSend message, create channel, update topic
SpreadsheetsGoogle Sheets, Airtable, ExcelAppend row, update cell, lookup value
CRMHubSpot, Salesforce, PipedriveCreate contact, update deal, add note
Project ManagementNotion, Asana, Jira, Trello, LinearCreate task, update status, add comment
Dev ToolsGitHub, GitLab, BitbucketCreate issue, merge PR, trigger pipeline
PaymentsStripe, PayPal, SquareCreate invoice, refund payment, list transactions
StorageGoogle Drive, Dropbox, S3, BoxUpload file, create folder, share link
DatabasesPostgreSQL, MySQL, MongoDB, SupabaseQuery, insert, update, delete
AIOpenAI, Anthropic, Google AI, GroqGenerate text, analyze image, embeddings

Utility Actions

Built-in operations for flow control and data transformation:

  • HTTP Request — Call any REST API with full configuration (method, headers, body, auth)
  • Code — Execute JavaScript or Python (Workflow Builder only)
  • Branch / IF — Conditional logic (if/else)
  • Switch — Multi-way branching
  • Loop — Iterate over arrays
  • Delay / Wait — Pause execution
  • Set Variable — Store values for use in later steps
  • Filter — Stop execution if conditions aren't met

FlowStack Actions

Operations on FlowStack's own platform:

  • Tables — Insert, update, query, or delete rows in FlowStack Tables
  • Execute Flow — Trigger another flow (sub-workflow pattern)
  • Send Notification — Send a notification to the FlowStack dashboard

Configuring Actions

Connection

Most app actions require a connection. The first time you use an app:

  1. Click the Connection dropdown in the action configuration
  2. Click + New Connection
  3. Complete the auth flow (OAuth popup or API key form)
  4. The connection is saved and reusable across all flows

Input Mapping

Map data from the trigger or previous steps into action inputs:

Static values:

Hello, welcome to our platform!

Dynamic values (expressions):

Hello {{trigger.body.name}}, welcome to our platform!

Computed values:

Order total: ${{ steps.calculate.output.total.toFixed(2) }}

Output

Every action produces output data that can be used by subsequent steps. The output structure depends on the action:

// Gmail "Send Email" output
{
"messageId": "18a1b2c3d4e5f6",
"threadId": "18a1b2c3d4e5f6",
"labelIds": ["SENT"]
}

// HTTP Request output
{
"status": 200,
"headers": { "content-type": "application/json" },
"body": { "result": "success" }
}

Error Handling

Configure what happens when an action fails:

  • Stop flow (default) — The flow stops and is marked as Failed
  • Continue — Skip the failed step and continue with the next action
  • Retry — Retry the action up to N times with a delay between attempts
  • Fallback — Execute an alternative action if this one fails

See Error Handling for detailed configuration.