---
agentTools:
  projectIndex: https://developers.pipefy.com/llms.txt
---

# Features

The places in Pipefy where your app can appear.

A **feature** is a place in Pipefy where your app appears. You declare which ones your app uses in the `features` array of its [manifest](https://developers.pipefy.com/docs/manifestjson), then register a handler for each one in `PipefyApp.initCall()`:

```javascript
PipefyApp.initCall({
  'card-badges': function (p, context) { /* ... */ },
  'card-buttons': function (p, pipe) { /* ... */ },
  'card-tab': function (p, pipe) { /* ... */ },
  'pipe-buttons': function (p, pipe) { /* ... */ },
});
```

An app can use as many as it needs. Each handler returns a description of what to render — the shapes differ, so see the individual pages below.

> 📘 Handlers can be async
>
> Pipefy awaits whatever your handler returns, so you can return a `Promise` — or use an `async function` — if you need to fetch configuration before deciding what to render. Returning a plain array or object works exactly as well; both are shown throughout these docs.
>
> `card-badges` is the exception: Pipefy stores your handler and calls it per card as cards render, rather than once at startup.

## The features

| Feature                          | What it is                                                         | Use it when you want to                             |
| :------------------------------- | :----------------------------------------------------------------- | :-------------------------------------------------- |
| [card-badges](https://developers.pipefy.com/docs/card-badges)   | Icons or symbols that represent actions on your cards              | Show a small status indicator on cards in the board |
| [card-buttons](https://developers.pipefy.com/docs/card-buttons) | A clickable button on a card that activates a feature              | Add an action to a single card                      |
| [card-tab](https://developers.pipefy.com/docs/card-tab)         | A tab inside an open card, holding related information             | Show a panel of related data inside a card          |
| [pipe-buttons](https://developers.pipefy.com/docs/pipe-buttons) | Buttons on pipes that reveal dropdown options, modals, or sidebars | Add an action that applies to the whole pipe        |
| [pipe-view](https://developers.pipefy.com/docs/pipe-view)       | A full-width view of your own that replaces the Kanban board       | Replace the board with your own full-page view      |

Buttons and badges only *trigger* UI — the sidebars, modals and dropdowns they open are covered in [User Interface functions](https://developers.pipefy.com/docs/user-interface-functions).