# Save shell scripts on agents and run them from triggers

> Agents keep named shell scripts that run in Bashkit with their tools, and schedule or webhook triggers can run one with the event payload and no model call.

Source: <https://everruns.com/docs/changelog/2026-10-09-agent-saved-scripts/>

Date: 2026-10-09
Products: Platform, Cloud, CLI
Category: Feature
Available: In 0.46.0
Pull request: everruns/everruns#4390
Pull request: everruns/everruns#4400
Pull request: everruns/everruns#4403
Pull request: everruns/everruns#4423

An agent can own saved scripts: a name, a description, an optional input schema and a shell body. Manage them with `everruns agents scripts` or under `/v1/agents/{agent_id}/scripts`; every change is in the agent’s history.

Inside the shell, `tools scripts` lists and runs them with the caller’s tools and identity, and with `manage_scripts` on the agent can save new ones.

A schedule or webhook trigger can run a script without asking the model:

```json
{ "script": { "script": "triage-prs", "input": { "pr": "{{payload.pull_request}}" } } }
```

Input strings are templates over the event, so a webhook payload reaches the script.

See [Saved scripts](https://everruns.com/docs/capabilities/tools-in-shell/#saved-scripts), [Agent triggers](https://everruns.com/docs/features/agent-triggers/) and [#4390](https://github.com/everruns/everruns/pull/4390), [#4400](https://github.com/everruns/everruns/pull/4400), [#4403](https://github.com/everruns/everruns/pull/4403), [#4423](https://github.com/everruns/everruns/pull/4423).