Files
upstream-twenty/packages/twenty-docs/user-guide/views-pipelines/how-tos/set-up-a-sales-pipeline.mdx
upstream-mirror e7da97194a
Some checks failed
App Prod-Parity E2E Dispatch / dispatch (push) Failing after 10s
CD Storybook UI / build (push) Failing after 3m25s
CD Storybook UI / dispatch (push) Has been skipped
CD deploy main / website-changed-files (push) Successful in 18m8s
CI Agent Skills / changed-files-check (push) Successful in 18m9s
CI Create App E2E minimal / changed-files-check (push) Successful in 24s
CI Create App / changed-files-check (push) Successful in 26s
CI Docs / changed-files-check (push) Successful in 26s
CI Emails / changed-files-check (push) Successful in 28s
CI Example App Hello World / changed-files-check (push) Successful in 23s
CI Front / changed-files-check (push) Has been skipped
CI Example App Postcard / changed-files-check (push) Successful in 27s
CI UI / changed-files-check (push) Has been skipped
CI Utils Test / changed-files-check (push) Successful in 45s
CI Twenty Apps / discover (push) Successful in 1m3s
CD deploy main / deploy-main (push) Failing after 3s
CI Agent Skills / agent-skills-validate (push) Has been skipped
CI Create App / create-app-test (lint) (push) Has been skipped
CI Emails / emails-test (push) Has been skipped
CI Front / front-task (lingui:compile) (push) Has been skipped
CI Front / front-task (lint) (push) Has been skipped
CI Example App Postcard / example-app-postcard (push) Has been skipped
CI UI / ui-task (lint) (push) Has been skipped
CI UI / ui-task (pack-size) (push) Has been skipped
CI UI / ui-task (size) (push) Has been skipped
CI UI / ui-task (test) (push) Has been skipped
CI UI / ui-task (typecheck) (push) Has been skipped
CI Utils Test / utils-test (push) Has been skipped
CI Twenty Apps / ${{ matrix.app.name }} (push) Has been skipped
CI Emails / ci-emails-status-check (push) Successful in 2s
CI Example App Hello World / ci-example-app-hello-world-status-check (push) Successful in 2s
CI Example App Postcard / ci-example-app-postcard-status-check (push) Successful in 3s
CI UI / ui-sb-test (push) Has been skipped
CI Utils Test / ci-utils-test-status-check (push) Successful in 2s
CI Twenty Apps / ci-twenty-apps-status-check (push) Successful in 2s
CI UI / ci-ui-status-check (push) Successful in 2s
CI Desktop / desktop (push) Failing after 1m8s
Push docs to Crowdin / Push documentation to Crowdin (push) Failing after 55s
Push translations to Crowdin / Extract and upload translations (push) Failing after 5s
Push website translations to Crowdin / Extract and upload website translations (push) Failing after 5s
CI Create App / create-app-test (test) (push) Has been skipped
CI Create App / create-app-test (typecheck) (push) Has been skipped
CI Docs / docs-lint (push) Has been skipped
CI Example App Hello World / example-app-hello-world (push) Has been skipped
CI Front / front-task (lingui:extract) (push) Has been skipped
CI Front / front-task (test) (push) Has been skipped
CI Front / front-task (typecheck) (push) Has been skipped
CI UI / ui-sb-build (push) Failing after 1m32s
CI Twenty Apps / ${{ matrix.app.name }} (${{ matrix.server-source }}) (push) Has been skipped
CI Agent Skills / agent-skills-publish (push) Has been skipped
CI Create App / ci-create-app-status-check (push) Successful in 2s
CI Agent Skills / agent-skills-remote-source (push) Has been skipped
CI Create App E2E minimal / create-app-e2e-minimal (push) Has been cancelled
CI E2E Main / e2e-test (push) Has been cancelled
CI Front / front-sb-build (push) Has been cancelled
CI Front / front-build (push) Has been cancelled
CI Create App E2E minimal / ci-create-app-e2e-minimal-status-check (push) Has been cancelled
CI E2E Main / ci-e2e-main-status-check (push) Has been cancelled
CI E2E Main / notify-main-ci-failure (push) Has been cancelled
CI E2E Main / qa-scout-comment (push) Has been cancelled
CI Front / front-sb-test (push) Has been cancelled
CI Front / front-sb-screenshots (push) Has been cancelled
CI Front / ci-front-status-check (push) Has been cancelled
DPA Sub-Processor Sync / sync-subprocessors (push) Failing after 3s
AI Catalog Sync / sync-catalog (push) Failing after 3s
snapshot of https://github.com/twentyhq/twenty.git (main, 2026-09-17; blobs > 131072B omitted)
2026-09-17 23:28:13 +05:00

109 lines
3.2 KiB
Plaintext

---
title: Set Up a Sales Pipeline
description: Configure your sales pipeline to track opportunities through stages.
---
import { VimeoEmbed } from '/snippets/vimeo-embed.mdx';
A sales pipeline in Twenty is a Kanban view of your Opportunities object, where each column represents a stage in your sales process.
## Step 1: Configure Your Stages
Stages are defined in the Opportunities object's **Stage** field.
1. Go to **Settings → Data Model**
2. Select **Opportunities**
3. Find and click the **Stage** field
4. Add, remove, or rename stages to match your process
<VimeoEmbed videoId="927890428" title="Video demonstration" />
### Recommended Stages
| Stage | Purpose |
|-------|---------|
| **New** | Fresh opportunities just identified |
| **Qualified** | Confirmed as a good fit |
| **Meeting** | Engaged in discussions |
| **Proposal** | Proposal sent |
| **Negotiation** | Working on terms |
| **Closed Won** | Deal successful |
| **Closed Lost** | Deal unsuccessful |
<Note>
**5-7 stages is optimal.** Too many stages make the pipeline hard to scan; too few lose visibility into deal progress.
</Note>
## Step 2: Create a Pipeline View
1. Go to **Opportunities**
2. Click the view dropdown → **+ Add view**
3. Name it "Sales Pipeline"
4. Click **Create**
5. Open **Options** and select **Kanban** as the layout
The view automatically uses the Stage field for columns.
## Step 3: Configure Your View
### Show Key Fields
1. Click **Options → Fields**
2. Look for fields in the "Hidden Fields" section
3. Click the **eye icon** to display: Company, Amount, Close Date, Owner
### Enable Aggregations
Show totals at the top of each column:
1. Click the number displayed next to a Stage name at the top of a column
2. Select the aggregation type (Count, Sum, Average, etc.)
3. Choose the field to aggregate (e.g., Amount)
**Example:** Show total deal value per stage by aggregating the Amount field with Sum.
### Use compact view (optional)
For a high-level overview with minimal card content:
1. Click **Options**
2. Turn on the toggle for **Compact view**
## Step 4: Create Personal and Team Views
### "My Pipeline"
- **Filter**: Owner = Me
- **Visibility**: Unlisted (personal view)
### "Team Pipeline"
- **Filter**: None (show all)
- **Visibility**: Workspace (shared view)
### "Closing This Month"
- **Type**: Table
- **Filter**: Close Date = This month, Stage ≠ Closed Won, Stage ≠ Closed Lost
- **Sort**: Close Date ascending
## Working with Opportunities
### Creating Opportunities
- Click **+ New** in the Opportunities view
- Or click **+** in a specific stage column
### Moving Through Stages
Drag and drop opportunity cards between columns to update their stage.
<VimeoEmbed videoId="927888627" title="Video demonstration" />
## Best Practices
### Pipeline Hygiene
- Update deals daily as they progress
- Move or close stale deals promptly
- Keep close dates realistic
### Stage Discipline
- Define clear criteria for each stage
- Move deals promptly when criteria are met
- Don't let deals sit in stages too long
## Related
- [Kanban Views](/user-guide/views-pipelines/capabilities/kanban-views) — aggregations and compact view
- [Filters and Sorting](/user-guide/views-pipelines/capabilities/filters-and-sorting) — creating filtered views