Skip to content
03WORKFLOWS

Draw the flow once. Trust every run after.

Webhooks, schedules, data changes and app events. Branching, looping, calling 19+ AI providers, with retries on every block and receipts for every run.

alpine-supply / order-followupSAVED
Run
Gmail trigger
orders@alpinesupply.co
AI · extract order
running · 812ms
Upsert orderssuccess
Notify teamerror
run #482 passingp50 212ms2 editingalpine_supply · 14 tables
25+
block types
6+
trigger sources
19+
AI providers
24h
max run timeout
3.0TRIGGERS

Where runs begin. Push, pull, or clock.

Secured webhooks with five methods, GitHub signature verification and respond-early. Cron schedules that respect timezones. Row-level changes in the built-in database and Firebase. App events from Gmail and GitHub over connected accounts, and the catalog shows what's landing next, honestly marked.

triggers / order-followup
webhooks · cron · data · apps
Webhooklive
POSTGETPUTPATCHDELETE
API key or public · GitHub signature · respond-early 202
Schedulelive
0 8 * * MON-FRI
cron + presets · timezone-aware
Data changelive
INSERTUPDATEDELETE
built-in database rows · Firebase docs & RTDB
App eventslive
Gmail · new mailGitHub · push / PR
OAuth connected accounts · filtered events
soon ·SlackStripeSheetsDriveOutlookMongoDBstraight from the in-product catalog
3.1BLOCKS

25+ blocks. Reliability in every one.

Branch, loop (sequential, parallel or batched), fan out with concurrency limits, reshape with JSONata, validate with schemas, run JavaScript or Python, call HTTP, query your data, message by email or SMS, touch file storage. Every single block carries its own retries, timeout and error path. Reliability isn't a separate product tier.

blocks / all categories
25+ block types
Control flow
BranchLoopParallelWaitApprovalSub-workflow
Data & logic
Transform · JSONataFilterAggregateJSON parseJSON stringifyMerge / split arraysSchema validationVariablesKV storage
Actions
HTTP requestRun queryRespondMessaging · email / SMSFile storageCode · JS / Python
AI
ChatStructured JSONEmbeddingsImage
every block ·retries · linear / exponentialtimeouton-error · continue or exitloops · sequential / parallel / batch
3.2AI BLOCKS

19+ providers. Your key, your models.

Chat, structured JSON, embeddings and image generation, all running against OpenAI, Anthropic, Google, Azure, Bedrock, Mistral, Groq, DeepSeek and more, and all bring-your-own-key. Swap a provider without rewiring the flow; the block's retry policy already knows AI calls flake.

AI block / providersyour key · your models
OpenAIAnthropicGoogleAzureBedrockMistralGroqDeepSeekxAICoherePerplexityTogetherFireworksCerebrasDeepInfraReplicateFalLumaOpenRouter
Chat
{ }
Structured JSON
[·]
Embeddings
Image
four operations · coverage varies by provider · switch models without rewiring the flow
3.3RELIABILITY

Every run leaves receipts. Waterfall included.

Watch each block's inputs, outputs, status and duration stream live, as a list or a waterfall. Retries back off linearly or exponentially, timeouts cap anything from one second to 24 hours, and failures route down the error path you drew instead of taking the run down.

run #482 / waterfall
● passing · 1.2s
Gmail trigger
38ms
AI · extract order
812ms
Upsert orders
249ms
Notify team
121ms
Per-block policy
retry ×3 · exponential backoff
timeout · 30s (run cap 1s–24h)
on error · continue or exit
Every block logs
inputs → outputs · duration
status · success / error / running
full run history · re-runnable
3.4DEBUG & TEST

Debug it like code. Without writing any.

Set a breakpoint on any block, step through the run, and inspect live variables. That means the trigger payload, every block's output, and your own vars. Rehearse webhooks with mock headers, params and body before anything real arrives.

debug / order-followup
Gmail trigger
AI · extract order● breakpoint
Upsert orders
mock inputs · test headers / params / body
Variables
trigger.from = "orders@…"
blocks.ai.json = { items: 2 }
vars.total = 612.50
3.5SCALE & SHARE

Compose flows from flows. Build them together.

Call workflows from workflows. Await the result or fire-and-queue. Save anything as a template in a growing template gallery, duplicate a flow in one click, and co-edit the canvas live with cursors and per-block comment threads.

templates / gallery
save any workflow as one
StarterWebhookScheduleDataIntegrationAICustom
compose / together
Sub-workflows
call · refund-flow
await finishqueue
Built together
live cursors · block comments
autosave · duplicate any flow

The result: automation your team can read.

Run #482 of Alpine's order flow. The same orders table the storefront writes and the dashboard charts.

order-followup / run #482
● passing
Gmail
AI extract
→ structured JSON
Upsert
Run log10:42:07 · 1.1s
Gmail trigger38ms
AI · extract order812ms
Upsert orders249ms
rows ← {{block.ai.json}}
ai · claude / gpt · your key
retry ×3 · error → notify

Common questions

Four trigger types with new sources landing steadily: secured webhooks (five HTTP methods, GitHub signature verification, respond-early), timezone-aware cron schedules, row changes in the built-in database (insert / update / delete) and Firebase documents, and app events from Gmail and GitHub via connected accounts. More sources are visible as 'soon' right in the product's trigger catalog.