Goal
Create, validate, publish, approve, activate, run, and inspect an immutable production media workflow.Prerequisites
- Assets access
- Publish authority for versions containing production, costly, or external actions
- An active execution principal that retains access to every referenced resource
Workflow
1
Open Assets Workflows and choose a template or blank canvas; both produce the same graph contract.
2
Connect typed ports, configure nodes in the inspector, and resolve every validation issue.
3
Save the draft with its expected revision. Layout-only edits do not change the semantic digest.
4
Publish an immutable version. Review and approve its exact risks and constraints when required.
5
Activate that version, then let its trigger dispatch or start a manual run.
6
Inspect persisted node attempts, sanitized inputs/outputs, branch decisions, waits, nested Stackie calls, warnings, and approvals.
Graph contract and validation limits
- One trigger; an acyclic, fully reachable graph; at most 100 nodes, 200 edges, depth 50, branch fan-out 10, and eight concurrently runnable nodes.
- Semantic definition and layout are separate. Position, viewport, grouping, and annotations do not change the semantic digest or invalidate approval.
- Nodes declare retry, timeout, and failure policy. Conditions support equals, not-equals, exists, contains, in, and numeric/date comparisons—no regex or arbitrary expression execution.
- Joins use
all_success,all_settled, orany_success. Branches must terminate and edge ports must be type-compatible. - Inline secrets and credential-bearing strings are rejected. Destructive, credential-revealing, billing, ownership, team-membership, arbitrary SQL/shell/JavaScript, and unrestricted HTTP operations are absent from the catalog.
Minimal graph
Triggers and node catalog
- Triggers: asset upload, asset lifecycle event, typed StackShift event, five-field cron with IANA timezone, signed inbound webhook, and manual run.
- Asset nodes: search/get, scan, moderate, analyze, transform, transcribe, generate, organize/tag/collect/move, branch/version promotion, publish, and signed webhook notification.
- Native StackShift actions cover registered reversible and governed operations across projects/apps, builds/deployments, databases/backups, S2/storage, domains/mail, mobile/commerce, compute/BYOC/sandboxes, incidents/governance, and notifications.
- Native actions invoke owning Go services directly under the workflow principal. They do not call loopback HTTP, mint internal PATs, or bypass service authorization and idempotency.
- Control nodes are condition, parallel split, join, durable delay, success, and failure. Integration nodes are governed Stackie and restricted external HTTP.
Templates and blank canvas
- Secure Image Publish; Video Ready Publish; Scheduled Library Publish; AI Image Generation and Moderation; Moderation Review Branch; Transform, Publish, and Notify.
- Asset Publish and Project Redeploy; Approved Media and Mobile Release Promotion; Media Failure to Incident and Stackie Diagnosis; Asset Event to StackShift Mail Campaign; Cross-service Operations Review.
- Catalog responses mark each template
validand include concrete issues if an action is unavailable or configuration is incomplete. A template never silently becomes executable with a missing action. - Every template opens as an ordinary editable graph. The desktop editor supports search, drag/drop, typed handles, reconnect, copy/paste, multi-select, groups, undo/redo, ELK auto-layout, minimap, and test output. The outline editor is the accessible and small-screen operating surface.
Workflow API and SDK sequence
Expected result
Only the active immutable version receives events or schedules, and no path can publish an asset before successful scan and moderation.
Common failures
Related guides
Media Workflow authority, integrations, and recovery
Operate workflow grants, execution principals, durable waits, restricted HTTP connections, signed inbound hooks, retries, cancellation, and post-publish warnings.
Deterministic image, video, and audio transforms
Define ordered v2 transforms for images, video renditions, audio extraction, and timestamp thumbnails; store eager presets or materialize durable derivatives.
Stackie asset tools and MCP
Use the same governed asset actions from Stackie, workflow Stackie nodes, and stateless Streamable HTTP MCP clients.