Semaphore
Run and react to your Semaphore workflows
Triggers
Section titled “Triggers” On Pipeline Done Listen to Semaphore pipeline done events
Actions
Section titled “Actions” Run Workflow Run Semaphore workflow
On Pipeline Done
Section titled “On Pipeline Done”The On Pipeline Done trigger starts a workflow execution when a Semaphore pipeline completes.
Use Cases
Section titled “Use Cases”- Pipeline orchestration: Chain workflows together based on pipeline completion
- Status monitoring: Monitor CI/CD pipeline results
- Notification workflows: Send notifications when pipelines succeed or fail
- Post-processing: Process artifacts or results after pipeline completion
Configuration
Section titled “Configuration”- Project: Select the Semaphore project to monitor
Event Data
Section titled “Event Data”Each pipeline done event includes:
- pipeline: Pipeline information including ID, state, and result
- workflow: Workflow information including ID and URL
- project: Project information
- result: Pipeline result (passed, failed, stopped, etc.)
- state: Pipeline state (done)
Webhook Setup
Section titled “Webhook Setup”This trigger automatically sets up a Semaphore webhook when configured. The webhook is managed by SuperPlane and will be cleaned up when the trigger is removed.
Example Data
Section titled “Example Data”{ "data": { "blocks": [ { "jobs": [ { "id": "00000-00000-00000-00000-00000", "index": 0, "name": "Report result to SuperPlane", "result": "passed", "status": "finished" } ], "name": "Block #1", "result": "passed", "result_reason": "test", "state": "done" } ], "organization": { "id": "00000000-0000-0000-0000-000000000000", "name": "test" }, "pipeline": { "created_at": "2026-01-19T12:00:00Z", "done_at": "2026-01-19T12:00:00Z", "error_description": "", "id": "00000000-0000-0000-0000-000000000000", "name": "Initial Pipeline", "pending_at": "2026-01-19T12:00:00Z", "queuing_at": "2026-01-19T12:00:00Z", "result": "passed", "result_reason": "test", "running_at": "2026-01-19T12:00:00Z", "state": "done", "stopping_at": "1970-01-01T00:00:00Z", "working_directory": ".semaphore", "yaml_file_name": "semaphore.yml" }, "project": { "id": "00000000-0000-0000-0000-000000000000", "name": "test" }, "repository": { "slug": "test/test", "url": "https://github.com/test/test" }, "revision": { "branch": { "commit_range": "0000000000000000000000000000000000000000^...0000000000000000000000000000000000000000", "name": "test" }, "commit_message": "Merge branch 'test' into test", "commit_sha": "0000000000000000000000000000000000000000", "pull_request": null, "reference": "refs/heads/test", "reference_type": "branch", "sender": { "avatar_url": "https://avatars2.githubusercontent.com/u/0000000000000000000000000000000000000000?s=460\u0026v=4", "email": "test@test.com", "login": "test" }, "tag": null }, "version": "1.0.0", "workflow": { "created_at": "2026-01-19T12:00:00Z", "id": "00000000-0000-0000-0000-000000000000", "initial_pipeline_id": "00000000-0000-0000-0000-000000000000" } }, "timestamp": "2026-01-19T12:00:00Z", "type": "semaphore.pipeline.done"}Run Workflow
Section titled “Run Workflow”The Run Workflow component triggers a Semaphore CI/CD workflow and waits for it to complete.
Use Cases
Section titled “Use Cases”- CI/CD orchestration: Trigger builds and deployments from SuperPlane workflows
- Pipeline automation: Run Semaphore pipelines as part of workflow automation
- Multi-stage deployments: Coordinate complex deployment pipelines
- Workflow chaining: Chain multiple Semaphore workflows together
How It Works
Section titled “How It Works”- Creates and starts a Semaphore workflow with the specified pipeline file and parameters
- Waits for the pipeline to complete (monitored via webhook and polling)
- Routes execution based on pipeline result:
- Passed channel: Pipeline completed successfully
- Failed channel: Pipeline failed or was cancelled
Configuration
Section titled “Configuration”- Project: Select the Semaphore project containing the workflow
- Pipeline File: Path to the pipeline YAML file (e.g.,
.semaphore/pipeline.yml) - Ref: Git reference to run the workflow on (branch, tag, or commit SHA)
- Commit SHA: Optional specific commit SHA to run (if not provided, uses latest from ref)
- Parameters: Optional workflow parameters as key-value pairs (supports expressions)
Output Channels
Section titled “Output Channels”- Passed: Emitted when pipeline completes successfully
- Failed: Emitted when pipeline fails or is cancelled
- The component automatically sets up webhook monitoring for pipeline completion
- Falls back to polling if webhook doesn’t arrive
- Can be cancelled, which will stop the running Semaphore workflow
Example Output
Section titled “Example Output”{ "data": { "blocks": [ { "jobs": [ { "id": "00000-00000-00000-00000-00000", "index": 0, "name": "Job #1", "result": "passed", "status": "finished" } ], "name": "Block #1", "result": "passed", "result_reason": "test", "state": "done" } ], "organization": { "id": "00000000-0000-0000-0000-000000000000", "name": "test" }, "pipeline": { "created_at": "2026-01-22T15:32:47Z", "done_at": "2026-01-22T15:32:55Z", "error_description": "", "id": "00000000-0000-0000-0000-000000000000", "name": "Initial Pipeline", "pending_at": "2026-01-22T15:32:48Z", "queuing_at": "2026-01-22T15:32:48Z", "result": "passed", "result_reason": "test", "running_at": "2026-01-22T15:32:48Z", "state": "done", "stopping_at": "1970-01-01T00:00:00Z", "working_directory": ".semaphore", "yaml_file_name": "semaphore.yml" }, "project": { "id": "00000000-0000-0000-0000-000000000000", "name": "test" }, "repository": { "slug": "test/test", "url": "https://github.com/test/test" }, "revision": { "branch": { "commit_range": "0000000000000000000000000000000000000000^...0000000000000000000000000000000000000000", "name": "test" }, "commit_message": "test", "commit_sha": "0000000000000000000000000000000000000000", "pull_request": null, "reference": "refs/heads/test", "reference_type": "branch", "sender": { "avatar_url": "https://example.com/avatar.png", "email": "test@test.com", "login": "test" }, "tag": null }, "version": "1.0.0", "workflow": { "created_at": "2026-01-22T15:32:47Z", "id": "00000000-0000-0000-0000-000000000000", "initial_pipeline_id": "00000000-0000-0000-0000-000000000000" } }, "timestamp": "2026-01-22T15:32:56.061430218Z", "type": "semaphore.workflow.finished"}