Skip to main content

Overview

lua triggers manages agent triggers: URLs that start an agent turn when an external service POSTs to them. There are two flavours, managed with the same command:
  • URL triggers — created entirely from the CLI with lua triggers create, no code required. Paste the printed URL into any service that can send a webhook; every delivery becomes an agent turn carrying the payload (optionally prefixed with an instruction you set at creation time).
  • SDK triggers — defined in code with defineTrigger and deployed via lua push. These add declarative verify / filter / transform shaping in front of the agent turn.
For defining SDK triggers in code, see the LuaTrigger API. Looking for integration triggers (Linear, HubSpot, and other connected apps)? Those are managed with lua integrations webhooks.

Subcommands

Running lua triggers with no action opens an interactive menu covering all of the above.

Options

The Paste-Anywhere URL Workflow

Create a trigger, paste its URL somewhere, and every POST to it becomes an agent turn:
The URL works from anywhere that can send an HTTP POST — CI pipelines, monitoring tools, Zapier, curl, another agent. The agent receives the request body as its message, prefixed with [Trigger: <name>] and the instruction if you set one.
The URL is the credential. The token embedded in the URL is the only thing gating a plain URL trigger. Treat trigger URLs like API keys, and rotate them if they leak. For real authentication (HMAC signatures), define an SDK trigger with a verify slot.

Examples

Output Shapes

list

Each trigger is shown with its type — URL (a plain paste-anywhere trigger) or SDK (a deployed defineTrigger version owns the pipeline) — plus its status, URL, and creation date. --json emits the same fields as machine-readable JSON.

logs

Executions are listed newest first, with a status per delivery:

rotate-token

Prints the new URL and confirms the old one is dead:

SDK Triggers and lua push

SDK triggers are not created with this command — they are defined in code and deployed with lua push, which compiles each trigger, uploads a new version, and records it in lua.skill.yaml:
Once pushed, SDK triggers appear in lua triggers list alongside URL triggers, and logs, activate/deactivate, and rotate-token all work the same way.

Common Workflow