Skip to content

Coolify

List and control Coolify applications and services, and trigger deployments

Setup steps:

  1. Base URL: Use your Coolify instance URL (for example https://coolify.example.com for self-hosted, or https://app.coolify.io for Coolify Cloud).
  2. API Token: In Coolify, go to Keys & Tokens → API tokens, click Create new token, give it a name, select the required permissions (read + write), and copy the generated token.
  3. The API token is team-scoped — SuperPlane will see all applications and services available to that team.

Component key: coolify.controlApplication

The Control Application component invokes a lifecycle operation on a Coolify application.

  1. Calls GET /api/v1/applications/{uuid}/{operation} on the configured Coolify instance
  2. Emits the API confirmation message on the default output channel
  • Application: The Coolify application to control
  • Operation: One of start, stop, or restart
{
"data": {
"applicationUuid": "abc123def456",
"message": "Application restarting.",
"operation": "restart"
},
"timestamp": "2024-01-15T10:30:00Z",
"type": "coolify.application.controlled"
}

Component key: coolify.controlService

The Control Service component invokes a lifecycle operation on a Coolify service (one-click or custom Docker Compose stack).

  1. Calls GET /api/v1/services/{uuid}/{operation} on the configured Coolify instance
  2. Emits the API confirmation message on the default output channel
  • Service: The Coolify service to control
  • Operation: One of start, stop, or restart
{
"data": {
"message": "Service restarting.",
"operation": "restart",
"serviceUuid": "svc111aaa222"
},
"timestamp": "2024-01-15T10:30:00Z",
"type": "coolify.service.controlled"
}

Component key: coolify.deployApplication

The Deploy Application component queues a deployment for a Coolify application. It does not wait for the deployment to finish — the execution emits as soon as Coolify acknowledges the request.

  1. Calls GET /api/v1/deploy?uuid={uuid}&force={force} on the configured Coolify instance
  2. Emits the queued deployment metadata (deployment UUID, message) on the default output channel and finishes immediately
  • Application: The Coolify application to deploy
  • Force: When enabled, Coolify rebuilds the image instead of redeploying the existing one (defaults to false)

A coolify.application.deploy.queued payload with applicationUuid, deploymentUuid (when returned), and message.

{
"data": {
"applicationUuid": "abc123def456",
"deploymentUuid": "deploy-uuid-xyz",
"force": false,
"message": "Deployment queued."
},
"timestamp": "2024-01-15T10:30:00Z",
"type": "coolify.application.deploy.queued"
}

Component key: coolify.listApplications

The List Applications component fetches every application available to the Coolify API token and emits the list on the default output channel.

  1. Calls GET /api/v1/applications on the configured Coolify instance
  2. Emits the array of applications, each with uuid, name, status, fqdn, description, gitRepository, and gitBranch
  • Iterate over every application with a downstream forEach to act on each (e.g. restart all)
  • Filter applications by status before invoking lifecycle actions
  • Surface application details into other workflows
{
"data": {
"applications": [
{
"description": "Marketing site",
"fqdn": "https://app.example.com",
"gitBranch": "main",
"gitRepository": "https://github.com/example/frontend",
"name": "frontend",
"status": "running",
"uuid": "abc123def456"
},
{
"fqdn": "https://api.example.com",
"gitBranch": "main",
"gitRepository": "https://github.com/example/api",
"name": "api",
"status": "exited",
"uuid": "def456abc789"
}
],
"count": 2
},
"timestamp": "2024-01-15T10:30:00Z",
"type": "coolify.applications.listed"
}

Component key: coolify.listServices

The List Services component fetches every Coolify service (one-click and custom Docker Compose stacks) available to the API token and emits the list on the default output channel.

  1. Calls GET /api/v1/services on the configured Coolify instance
  2. Emits the array of services, each with uuid, name, status, fqdn, description, and serverUuid
  • Iterate over every service with a downstream forEach to act on each
  • Filter services by status before invoking lifecycle actions
  • Inventory services across an environment
{
"data": {
"count": 2,
"services": [
{
"description": "Primary database",
"name": "postgres",
"serverUuid": "srv999zzz000",
"status": "running",
"uuid": "svc111aaa222"
},
{
"fqdn": "https://analytics.example.com",
"name": "plausible",
"serverUuid": "srv999zzz000",
"status": "running",
"uuid": "svc333bbb444"
}
]
},
"timestamp": "2024-01-15T10:30:00Z",
"type": "coolify.services.listed"
}