Automations
Islo automations are repeatable workloads that run in managed sandboxes. Use them when work should survive disconnects, run on a schedule, react to an external event, or be started by another system.
For AI agents, start with islo-labs/skills. The skills repo is the maintained, agent-readable reference for Islo automations, sandbox lifecycle, gateway integrations, SDK usage, and templates. It is the best way to teach Cursor, Claude Code, Codex, and other agents how to use Islo correctly.
Automation building blocks
Durable jobs
A job defines what to run and which sandbox it needs. A deployment creates a versioned job definition, and a run executes that version with parameters.
The standard manifest path is:
Discover the full schema
Do not hand-write job.toml from memory. Use:
islo schema job returns the machine-readable manifest schema under job_toml. The control-plane OpenAPI JobManifest type is the API source of truth for deploy/validate bodies.
Manifest sections
[run] fields
[run.sandbox] fields
Step actions
Each step must define exactly one action:
upload / download are not available yet.
Use a gateway profile when an automation needs provider access. This keeps GitHub, Slack, model provider, and other secrets out of the sandbox environment by default.
Scheduled jobs
Use [schedule] in job.toml for recurring runs:
Deploying the job creates or updates its schedule:
Every param a scheduled run needs must have a default. Keep scheduled job tasks idempotent — retries and repeated runs are part of the automation model.
Webhooks
Webhooks connect external HTTP events to Islo automations. They are not only for sandbox lifecycle work — a common pattern is to trigger a deployed job when GitHub, Linear, Stripe, Slack, or your own service sends an event.
Webhook-triggered jobs
Add a trigger_job action to a webhook rule to start a job run:
Webhooks still require a target (fixed name or event-derived) for ingress routing, even when the only action is trigger_job. The job provisions its own sandbox at run time.
The action runs against the latest deployed version unless you pin version_id or override region. Map job params from the webhook request with params entries (json_path, header, query, header_param, raw_body, method, or path).
Typical flow:
- Deploy the job with
islo job deploy <name>. - Create a webhook whose rule includes
trigger_jobfor that job name. - Paste the webhook
receiver_urlinto the external provider.
Use this for event-driven automations such as Linear issue updates, GitHub PR events, or custom app callbacks that should run your job.toml workload instead of managing a long-lived sandbox directly.
Webhook sandbox actions
Webhooks can also drive sandbox lifecycle without starting a job:
- ensure a sandbox exists
- resume a paused sandbox
- pause or delete a sandbox
- deliver the request to a port inside a sandbox
For auth, targets, rules, idempotency, and full action reference, see Incoming Webhooks.
Agent guidance
When you want an agent to build or maintain Islo automations, point it at islo-labs/skills. The repository includes an Islo skill and plugin metadata that explain the current automation model, recommended CLI discovery commands, gateway credential patterns, and runnable-template pointers.
Recipes and examples are useful for humans looking at a specific pattern, but the skills repo should be the first link for agent setup and agent-authored automation work. Always have agents run islo schema job before editing [run.sandbox], and islo schema webhook before editing ensure-sandbox templates.