> For the complete documentation index, see [llms.txt](https://docs.keeper.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.keeper.io/keeperpam/endpoint-privilege-manager/custom-tooling/jobs-and-plugins/custom-plugin-guide/plugin-examples.md).

# Plugin Examples

<figure><img src="/files/aC0do0K9gNG6SCG1BJ4t" alt=""><figcaption></figcaption></figure>

This section provides a library of ready-to-use JSON templates covering the most common plugin integration scenarios for Keeper Endpoint Privilege Manager. Each sub-page focuses on a single scenario, includes a complete, deployable JSON file, and explains what the example demonstrates and when to use it.

All examples are self-describing — each file's `description` field begins with `SCENARIO:` so you can identify the purpose of the template at a glance without reading the entire file. Replace placeholder paths, IDs, and topic names before deploying to your environment.

## Plugin Examples

Plugin files are placed under `Plugins/{id}.json` on the agent. The examples below cover the most common plugin registration and communication patterns.

<table data-header-hidden="false" data-header-sticky><thead><tr><th width="289.3333740234375">Example</th><th>What It Covers</th></tr></thead><tbody><tr><td><a href="/pages/oaM326uSx5LhetmE8q4u">Minimal Plugin — Windows</a></td><td>The simplest valid managed plugin on Windows: <code>autoStart</code>, a primary MQTT <code>Subscription</code>, and KeeperLogger output. Use this as your starting template on Windows.</td></tr><tr><td><a href="/pages/c3u5QnMWwX4mGWxsDPek">Minimal Plugin — macOS</a></td><td>The same minimal plugin pattern adapted for macOS, including the correct binary path and platform configuration.</td></tr><tr><td><a href="/pages/BDm9hdTs1XU1R1uZrESr">Minimal Plugin — Linux</a></td><td>The same minimal plugin pattern adapted for Linux, including the correct binary path and platform configuration.</td></tr><tr><td><a href="/pages/sUaNXqWY7Ghl351MeNlv">Plugin with Command/Response over MQTT</a></td><td>A plugin using a command/response topic pattern (<code>Commands/+</code>, <code>Responses/+</code>, <code>Status</code>). Use this when your plugin needs to receive instructions and reply over MQTT.</td></tr><tr><td><a href="/pages/AaWwVT7qgu3gj5jwV0Ox">Plugin with Manual Start</a></td><td>A plugin registered with <code>autoStart: false</code>, meaning it is not launched automatically when the agent starts. Use this for on-demand or conditionally launched plugins.</td></tr></tbody></table>

## Before You Begin

* Refer to the [Custom Plugin Integration Guide](/keeperpam/endpoint-privilege-manager/custom-tooling/jobs-and-plugins/custom-plugin-guide.md) before deploying any example to ensure you understand the binary layout, signing requirements, and MQTT topic permission model.
* For a richer Windows job sample with more fields filled in, see the `secrets-scanner-sample-job.json` reference in the parent integration bundle.
* Use `POST /api/Jobs/validate` to validate your job JSON before deploying it to an endpoint.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.keeper.io/keeperpam/endpoint-privilege-manager/custom-tooling/jobs-and-plugins/custom-plugin-guide/plugin-examples.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
