Skip to main content

Check out Port for yourself ➜ 

Workflows (Beta)

Closed Beta Notice

This feature is currently in closed beta with limited availability. Workflows may undergo breaking changes and occasional downtime without prior notice. There is no SLA or guaranteed issue-resolution timeline during this period. Support is provided directly by the Workflows team.

Workflows provide a visual, node-based way to build automations and self-service experiences in Port. Unlike traditional actions and automations, workflows allow you to chain multiple operations together, add conditional logic, and create complex automation flows with an intuitive graph-based interface.

Workflows can be triggered in two ways: manually by users for on-demand operations, or automatically in response to events in your software catalog.

1. Self-service workflows

Self-service workflows are triggered manually by users through Port's UI or API. Users provide inputs through a form, making these ideal for on-demand operations that require human input or decision-making. Self-service workflows drive developer productivity by providing controlled, repeatable ways to perform tasks with guardrails.

Common use cases include:

  • Provisioning cloud resources.
  • Scaffolding new microservices.
  • Deploying services to environments.

For more information and instructions for creating self-service workflows, see self-service trigger.

2. Event-driven workflows

Event-driven workflows run automatically in response to changes in your software catalog. Use events in your infrastructure as triggers to run custom automation flows. Event-driven workflows enforce policies, send notifications, or perform any logic you need without manual intervention. They free up your team to focus on other priorities by handling routine and repetitive tasks automatically.

Common use cases include:

  • Auto-assigning teams to new entities.
  • Triggering cleanup when resources are deleted.
  • Sending notifications when critical services change status.

For more information and instructions for defining event-driven workflows, see event trigger.

For more information about workflow components and structure, see concepts and structure.

When to use workflows

Use workflows when you need to:

  • Chain multiple operations together - Execute a sequence of actions where each step depends on the previous one.
  • Add conditional logic - Create different execution paths based on runtime data or entity properties.
  • Visualize complex flows - See the entire automation logic in a visual graph for easier understanding and maintenance.
  • Combine self-service and automation - Use the same action types for both manual and automated workflows.
  • Pass data between steps - Reference outputs from previous nodes to build dynamic payloads and make decisions.

Comparison with actions & automations

Workflows are the next evolution of Port's Actions & Automations. While they share many concepts, there are some key differences:

FeatureActions & AutomationsWorkflows (Beta)
Multi-step viewNoYes
Use AI from WorkflowsNoNot yet supported
Backend typesAll supportedWebhook, Kafka, Upsert Entity, GitHub (more coming soon)
Secret user inputsYesNot yet supported
Multi-steps user inputs formYesNot yet supported
Run from specific entityYesNot yet supported
Port Execution AgentYesNot yet supported
Approval flowsYes (only for self-service actions)Not yet supported
Re-run from UIYesNot yet supported
Port's GitHub Action supportYesNot yet supported
MCP toolsYesNot yet supported
Dynamic permissionsYesNot yet supported
Custom widget button textYesNot yet supported
Terraform / Pulumi resourcesYesNot yet supported

Port AI integration

Interacting with Port AI directly from workflows is not currently supported out-of-the-box. We will release a tailored feature for interacting with AI from Port Workflows in the future.

In the meantime, you can interact with Port AI from workflows using the following approach:

  1. Use a webhook node to call the Port AI API.
  2. Create a separate workflow with an event trigger that listens for changes on the _ai_invocation blueprint. This allows you to react to AI invocations and build custom automation flows based on AI responses.

Next steps