> ## Documentation Index
> Fetch the complete documentation index at: https://www.activepieces.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# How to Manage Pieces

> Control which integrations are available to your users

<Snippet file="enterprise-feature.mdx" />

## Overview

**Pieces** are the building blocks of Activepieces — they are integrations and connectors (like Google Sheets, Slack, OpenAI, etc.) that users can use in their automation flows.

As a platform administrator, you have full control over which pieces are available to your users. This allows you to:

* **Enforce security policies** by restricting access to certain integrations
* **Simplify the user experience** by showing only relevant pieces for your use case
* **Deploy custom/private pieces** that are specific to your organization

There are **two levels** of piece management:

| Level              | Who Can Manage | Scope                                         |
| ------------------ | -------------- | --------------------------------------------- |
| **Platform Level** | Platform Admin | Install and remove across the entire platform |
| **Project Level**  | Project Admin  | Show/hide specific pieces for specfic project |

<Note>
  Pieces are standard npm packages — official pieces are **auto-synced from the registry hourly**, so you don't need to upgrade the server to get new versions. Each step in a flow is pinned to a specific piece version, and drafts can be upgraded from the builder. See [Piece Syncing & Versioning](/install/architecture/piece-syncing) for the full pipeline.
</Note>

***

## Platform-Level Management

Platform administrators can manage pieces for the entire Activepieces instance from **Platform Admin → Setup → Pieces**.

## Project-Level Management

Project administrators can further restrict which pieces are available within their specific project. This is useful when different teams or projects need access to different integrations.

### Show/Hide Pieces in a Project

<Steps>
  <Step title="Open Project Settings">
    Navigate to your project and go to **Settings → Pieces**.
  </Step>

  <Step title="Configure Visibility">
    You'll see a list of all pieces installed on the platform. Toggle the visibility for each piece:

    * **Enabled**: Users in this project can use the piece
    * **Disabled**: The piece is hidden from users in this project
  </Step>

  <Step title="Save Changes">
    Changes take effect immediately — users will only see the enabled pieces when building their flows.
  </Step>
</Steps>

<img src="https://mintcdn.com/activepieces/uHZ35vXyxX7goNO-/resources/screenshots/manage-pieces.png?fit=max&auto=format&n=uHZ35vXyxX7goNO-&q=85&s=540db43cc2af946e0459d0e991f62f8a" alt="Manage Pieces" width="1420" height="900" data-path="resources/screenshots/manage-pieces.png" />

<img src="https://mintcdn.com/activepieces/uHZ35vXyxX7goNO-/resources/screenshots/manage-pieces-2.png?fit=max&auto=format&n=uHZ35vXyxX7goNO-&q=85&s=6701c9458d14e2da3d158f2adc783820" alt="Manage Pieces" width="1420" height="900" data-path="resources/screenshots/manage-pieces-2.png" />

<Note>
  Project-level settings can only **hide** pieces that are installed at the platform level. You cannot add pieces at the project level that aren't already installed on the platform.
</Note>

### Install Private Pieces

<Tip>
  For detailed instructions on building custom pieces, check the [Building Pieces](/build-pieces/building-pieces/overview) documentation.
</Tip>

If you've built a custom piece for your organization, you can upload it directly as a tarball (`.tgz`) file.

<Steps>
  <Step title="Build Your Piece">
    Build your piece using the Activepieces CLI:

    ```bash theme={null}
    npm run pieces -- build --name=your-piece-name
    ```

    This generates a tarball in `dist/packages/pieces/your-piece-name`.
  </Step>

  <Step title="Navigate to Pieces Settings">
    Go to **Platform Admin → Setup → Pieces** and click **Install Piece**.
  </Step>

  <Step title="Select File Upload">
    Choose **Upload File** as the installation source.
  </Step>

  <Step title="Upload the Tarball">
    Select the `.tgz` file from your build output and upload it.
  </Step>
</Steps>

<img src="https://mintcdn.com/activepieces/uHZ35vXyxX7goNO-/resources/screenshots/install-piece.png?fit=max&auto=format&n=uHZ35vXyxX7goNO-&q=85&s=567001cb8e4a99373514c6e35453ed45" alt="Install Piece" width="1420" height="900" data-path="resources/screenshots/install-piece.png" />
