A pylon is the central building block in Pylon. Each pylon defines a complete pipeline: what event starts it (Documentation Index
Fetch the complete documentation index at: https://docs.pylon.to/llms.txt
Use this file to discover all available pages before exploring further.
trigger), what code the agent works with (workspace), which AI agent runs (agent), and where results are sent (channel). When an event fires, Pylon loads the pylon config, spins up a sandboxed Docker container, runs the agent, and posts the output to your channel.
Config location
Each pylon stores its config at~/.pylon/pylons/<name>/pylon.yaml. Pylon also keeps a job history database at ~/.pylon/pylons/<name>/jobs.db — a SQLite file that records every job run by that pylon, including status, timestamps, and output.
Complete example
The following is a real-world pylon that triages Sentry errors. When Sentry sends a webhook, Pylon asks you to approve before the agent investigates.Fields
| Field | Required | Description |
|---|---|---|
name | Yes | Unique identifier for the pylon. Must match the directory name. |
description | No | Human-readable description, shown in pylon list. |
disabled | No | Set to true to pause the pylon without deleting it. |
created | Yes | ISO 8601 timestamp set automatically when the pylon is constructed. |
trigger | Yes | Defines what event starts the pipeline. See Triggers. |
workspace | Yes | Defines how the agent accesses your codebase. See Workspaces. |
agent | No | Configures the AI agent. Falls back to global defaults if omitted. See Agents. |
channel | No | Where results are sent. Falls back to global defaults if omitted. See Channels. |
Managing pylons
Use these commands to work with your pylons:pylon destroy removes the entire ~/.pylon/pylons/<name>/ directory, including jobs.db. This is irreversible.Creating pylons from templates
Usepylon construct with the --from flag to start from a pre-built template instead of answering prompts:
pylon edit <name> to fill in repo URLs, secrets, and any other fields the template left blank.
Disabling a pylon
To pause a pylon without destroying it, setdisabled: true in the config:
false to re-enable.