---
title: "Scripting"
description: "Put a script in the library, sign it, run it against endpoints on a schedule, and collect what it returns."
url: "https://support.outpostplatform.com/guides/scripting/"
product: "depot"
type: "how-to"
status: "stub"
ai_summary: "Guide to the Outpost script library. Covers adding and versioning a script, signing and why an unsigned script is refused, running against endpoints or groups, schedules, collectors that turn script output into inventory, and the revision history and scoping of the library."
source: "https://gitlab.com/outpostplatform/docs/-/edit/main/src/content/docs/guides/scripting.md"
license: "CC BY 4.0"
---

# Scripting

The script library is how you run your own code across managed endpoints
without shipping a new Agent. Every script is signed before it runs, which is
the whole point of the feature and also the part that surprises people. This
guide is for the administrator or engineer who writes and schedules that work.

<!-- TODO: write this page against the how-to template.

Sections:

- Before you begin: the scripting permissions and a signing setup.
- Add a script to the library, and where it is scoped: shared or one client.
- Signing: how a script is signed, and why an Agent with no signing
  configuration refuses everything rather than trusting it.
- Run a script once against an endpoint or a group.
- Read the result, including output, exit code and duration.
- Schedule a script, and what happens when an endpoint is offline at the time.
- Collectors: turning script output into a value the console can filter on.
- Revision history, and rolling back to a previous version.
- If something goes wrong: refused because unsigned, refused by policy,
  timed out, and output that never came back.
-->

Follow the [how-to template](https://gitlab.com/outpostplatform/docs/-/blob/main/templates/how-to.md).
