> For the complete documentation index, see [llms.txt](https://developer.harness.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.harness.io/open-source/use-harness-open-source/pipelines-1/steps/plugin.md).

# Plugin

[Plugin steps](https://github.com/iKettles/harness-gitbook/tree/main/open-source/use-harness-open-source/reference/pipelines/yaml/step-plugin/README.md) perform pre-defined tasks as steps in your pipeline.

Plugins can build and publish artifacts, send notifications, and more.

## Editor <a href="#editor" id="editor"></a>

1. From the pipeline editor, select **Plugins** from the **Select a step** menu on the right
2. Scroll through the available plugins, or use the **Search** field, then select a plugin
3. Enter the necessary inputs in the fields provided, then select **Add**

The plugin step will be added in the pipeline editor.

## Manual <a href="#manual" id="manual"></a>

You can optionally add plugin steps directly to your pipeline file manually.

This pipeline executes a `test` run step followed by a `notify` plugin step that uses the Slack plugin.

```yaml
kind: pipeline
spec:
  stages:
  - type: ci
    spec:
      steps:
      - name: test
        type: run
        spec:
          container: node
          script: |-
            npm install
            npm test

      - name: notify
        type: plugin
        spec:
          name: slack
          inputs:
            webhook: ${{ secrets.get("slack_webhook") }}
```
