Documentation Index
Fetch the complete documentation index at: https://mintlify.com/pixlcore/xyops/llms.txt
Use this file to discover all available pages before exploring further.
Overview
Actions in xyOps handle responses to job outcomes and alert state changes. You attach actions to events (jobs) and alerts so when specific conditions occur, xyOps executes one or more actions in parallel. Typical actions include sending email, firing a web hook, running a job, creating a ticket, taking a snapshot, and more.Actions are small definition objects with three core fields:
enabled, condition, and type. Extra fields depend on the type.Where Actions Are Defined
- Event editor: Add job actions to run on job start or completion outcomes
- Workflow builder: Attach job actions to workflow nodes
- Alert setup: Add alert actions to run when alerts fire and/or clear
- Categories: Event categories can set default job actions
- Groups: Server groups can set default alert actions
- Universal: Server config can add universal job and alert actions
Action Conditions
Each action has acondition selecting when it runs.
Job Conditions
| Condition | Fires When |
|---|---|
start | Job first starts (before remote launch) |
complete | Job completes (regardless of outcome) |
success | Job completes successfully (code 0 or false) |
error | Job completes with any error (non-zero code) |
user | Job completes with custom error code |
warning | Job completes with code “warning” |
critical | Job completes with code “critical” |
abort | Job is aborted (by user or failure condition) |
tag:TAGID | On job completion, only if tag is present |
Workflow Conditions
| Condition | Fires When |
|---|---|
continue | After Controller completes all connected jobs |
Alert Conditions
| Condition | Fires When |
|---|---|
alert_new | Alert fires on a server |
alert_cleared | Active alert clears |
Action Execution
- Parallel Execution: All matched actions for a given trigger run in parallel
- Deduplication: Actions are deduped by composite of type + target (e.g., same email recipients, same webhook ID)
- Recording: Activity and details appear in job’s Activity log and metadata
Action Types
| Name | Type | Description |
|---|---|---|
users | Array(String) | Array of usernames to email |
email | String | Comma-separated additional recipients |
body | String | Optional custom email using Markdown |
Custom Email Body
Custom Email Body
If the Supported comment properties:
body property is provided, it’s used instead of a standard template. Use GitHub-Flavored Markdown and xyOps Expression Format:To: Email “To” header (use{{email_to}}for combined list)From: Email “From” headerSubject: Email subject lineTitle: Large bold text in HTML headerButton: Large button with label and link (separated by|)Logo_URL: Custom logo image URL
Web Hook
Fire a configured outbound web hook with rich context payload. Parameters:| Name | Type | Description |
|---|---|---|
web_hook | String | WebHook ID |
text | String | Extra text appended to message |
Run Event
Launch another event as a follow-up action. The new job inherits context. Parameters:| Name | Type | Description |
|---|---|---|
event_id | String | Target Event ID to run |
params | Object | Override parameters for launched event |
target_server | Boolean | For alerts: override targets to alert’s server |
clear_alert | Boolean | For alerts: clear alert when job completes |
Channel
Notify a configured channel. Channels can bundle users (email/notify), a web hook, and/or an event to run.Snapshot
Capture a server snapshot. For jobs, the job must target a specific server. For alerts, snapshot is taken for the alert’s server.Ticket
Create a ticket with a generated body based on context (job or alert). Parameters:| Name | Type | Description |
|---|---|---|
ticket_type | String | Ticket type (issue, task, etc.) |
ticket_assignees | Array(String) | Array of usernames |
ticket_tags | Array(String) | Array of Tag IDs |
Plugin
Invoke a custom Action Plugin. xyOps executes your plugin command/script with a structured JSON payload. Parameters:| Name | Type | Description |
|---|---|---|
plugin_id | String | Plugin ID with type “action” |
params | Object | Plugin-defined parameter values |
Suspend Job
Suspend the running job until a user resumes it in the UI. Optionally notify users and/or fire a web hook. Parameters:| Name | Type | Description |
|---|---|---|
users | Array(String) | Usernames to email |
email | String | Additional recipients |
web_hook | String | WebHook ID to fire |
text | String | Extra text for webhook |
Disable Event
Disable the current event when the action runs. Useful after failures to prevent subsequent scheduled executions.Delete Event
Delete the current event when the action runs. Designed for ephemeral one-shot events.Store Bucket
Store job data and/or files into a storage bucket. Control whether to sync data, files, or both, and filter files via glob pattern. Parameters:| Name | Type | Description |
|---|---|---|
bucket_id | String | Bucket ID target |
bucket_sync | String | data, files, or data_and_files |
bucket_glob | String | Glob pattern (default *) |
Fetch Bucket
Fetch bucket data and/or files and attach them to the job’s input context. Parameters:| Name | Type | Description |
|---|---|---|
bucket_id | String | Bucket ID target |
bucket_sync | String | data, files, or data_and_files |
bucket_glob | String | Glob pattern (default *) |
Apply Tags
Apply a custom set of tags to the job or workflow.Tags are deduplicated when the job completes.
Compatibility
Some action types are job-only and cannot be used with alerts: Job-Only Actions:store(Store Bucket)fetch(Fetch Bucket)disable(Disable Event)delete(Delete Event)suspend(Suspend Job)
Universal Default Actions
Set universal defaults in server config:Action Execution Details
When actions run, they track performance and results:date: When action executed (Unix timestamp)elapsed_ms: How long it took in millisecondscode: 0 for success, error code otherwisedescription: Human-readable resultdetails: Extended markdown details
Notes and Tips
- For job actions, email/webhook payloads include job links, log excerpts, performance metrics, and attached files
- For alert actions, payloads include server details, links to server and alert, and alert message
- Tag-based job conditions are specified as
tag:TAGIDand fire only at job completion - Bucket actions respect configured limits such as maximum file size and maximum files per bucket
Related Documentation
Events
Learn about event configuration
Triggers
Configure when jobs run
Limits
Set resource constraints
Workflows
Build job orchestration graphs