---
title: 'How to Build a Sales Pipeline in Airtable'
description: 'Build a complete Airtable sales pipeline — lead capture, deal stages, activity logging, revenue forecasting, Kanban views, and follow-up automations.'
canonical_url: 'https://www.business-automated.com/tutorials/airtable-sales-pipeline-guide'
md_url: 'https://www.business-automated.com/tutorials/airtable-sales-pipeline-guide.md'
last_updated: 2026-09-15
---

Most sales teams don't want a "CRM" — they want a pipeline tool that bends to how they actually sell. [Airtable](/airtable-consultant) delivers exactly that. This guide is the full pipeline build — schema, stage workflows, Kanban and calendar views, activity logging, forecasting, automations, and email/calendar integrations.

For a CRM-focused take that overlaps with this guide, see [how to build a CRM in Airtable](/tutorials/how-to-build-crm-in-airtable). This guide is sales-specific: pipeline, stages, forecasting, sales-rep workflows.

## When Airtable Wins for Sales

Be honest about the fit. Airtable beats HubSpot, Pipedrive, and Close for sales pipelines when:

- Your team is **under ~30 reps**.
- Your sales process is **custom enough** that off-the-shelf CRMs feel constraining.
- You want sales data to **connect to delivery, billing, and ops** in the same tool.
- You're already running operations in Airtable and want one source of truth.

HubSpot or Salesforce wins when you need:

- Email tracking sequences and sales engagement features.
- Marketing automation tightly bound to the CRM.
- Enterprise-grade forecasting and territory management.
- A polished, opinionated UI that reps don't need to learn to configure.

For comparison, see our [HubSpot integration guide](/tutorials/airtable-hubspot-integration) and [Salesforce integration guide](/tutorials/airtable-salesforce-integration).

## Step 1: Schema

### Core tables

| Table | Purpose |
| --- | --- |
| **Contacts** | Individual people you talk to |
| **Companies** | Organizations they work at |
| **Deals** | Opportunities you're working |
| **Activities** | Calls, emails, meetings, notes |
| **Products** | Line items (optional) |

### Deals fields

| Field | Type | Purpose |
| --- | --- | --- |
| Deal Name | Single line text | Primary field |
| Company | Linked record (Companies, single) | Account |
| Primary Contact | Linked record (Contacts) | Main person |
| Other Contacts | Linked records (Contacts, multi) | Buying committee |
| Stage | Single select | Pipeline stage |
| Amount | Currency | Deal value |
| Probability | Single select | 25% / 50% / 75% / 90% / 100% |
| Weighted Amount | Formula | `{Amount} * VALUE(LEFT({Probability}, 2))/100` |
| Expected Close Date | Date | Forecast date |
| Actual Close Date | Date | Filled when Closed |
| Owner | Collaborator | Sales rep |
| Source | Single select | Inbound / Outbound / Referral / Partner |
| Lost Reason | Single select | Filled if Closed Lost |
| Next Step | Single line text | What needs to happen next |
| Next Step Date | Date | When |
| Stage Updated | Last Modified Time (Stage only) | For "deals stuck in stage" reports |
| Created | Created Time | For cycle-time math |

### Standard Stage values

```text
New Lead → Qualified → Discovery → Proposal Sent → Negotiation
                                                      ↓
                              Closed Won  ←  →  Closed Lost
```

Tailor to your process — five stages is the right number for most B2B teams.

## Step 2: Views

The same Deals table is viewed differently by different roles. Build views per use case.

### Pipeline Kanban (Kanban view)

- Group by Stage.
- Color by Owner.
- Filter: Stage != "Closed Lost" AND Stage != "Closed Won."
- Visible fields: Deal Name, Amount, Expected Close Date, Owner.

The single most-used view for reps and sales managers.

### My Deals (Grid view, per rep)

- Filter: Owner = current user AND Stage not in (Closed Won, Closed Lost).
- Sort by Next Step Date.

Each rep's working pipeline.

### Stuck Deals (Grid view)

- Filter: DATETIME_DIFF(NOW(), \{Stage Updated\}, 'days') > 14 AND Stage not in (Closed Won, Closed Lost).
- Sort by Stage Updated, ascending.

Surfaces deals that haven't moved in two weeks — the most common root cause of missed quotas.

### Forecast (Grid view)

- Filter: Expected Close Date in current quarter.
- Group by Stage.
- Aggregate: SUM(Amount) and SUM(Weighted Amount).

The forecasting summary.

### Closed-Won Wall (Grid view)

- Filter: Stage = "Closed Won" in current month.
- Sort by Close Date descending.

Wins to celebrate in the weekly meeting.

### Calendar (Calendar view)

- Date field: Expected Close Date.
- Color by Owner.

Quick visual of what's projected to close when.

## Step 3: Activity Logging

Activities are what reps actually do. Make logging painless or they won't bother.

### Activities table fields

| Field | Type | Purpose |
| --- | --- | --- |
| Subject | Single line text | Primary field |
| Type | Single select | Call / Email / Meeting / Note / Demo |
| Date | Date and Time | When |
| Duration | Number (minutes) | For calls/meetings |
| Outcome | Single select | Voicemail / Connected / No Answer / Scheduled |
| Description | Long text | Notes |
| Deal | Linked record | Associated deal |
| Contact | Linked record | Who they spoke with |
| Owner | Collaborator | Rep |

### Mobile-friendly logging

Build a **Form view** on the Activities table that captures the basics in 30 seconds. Pre-fill the Owner field. Reps fill the form from their phone after a call.

### Auto-logging emails

For Gmail or Outlook integration:

1. Make scenario watches the rep's inbox.
2. For emails to/from Contacts in Airtable, create an Activity record automatically.
3. Match by email address; skip emails to non-CRM addresses.

This is the highest-impact rep productivity gain in the whole build — eliminates the "did I log that?" question.

## Step 4: Forecasting

The Weighted Amount formula does most of the work:

```javascript
{Amount} * VALUE(LEFT({Probability}, 2)) / 100
```

For a deal worth $50,000 at 50% probability, Weighted Amount = $25,000.

### Quarter forecast

A view filtered to `Expected Close Date in current quarter`, with a summary bar showing `SUM(Weighted Amount)` gives you the quarter forecast.

### Forecast categories (advanced)

For more rigor, add a Forecast Category single-select with values: Best Case / Commit / Pipeline / Worst Case. Reps set this manually per deal. Roll up by category:

- **Worst Case + Commit** — what we're almost certain to hit.
- **Worst Case + Commit + Best Case** — what we could hit if everything breaks right.
- **All Pipeline** — what we'd hit if every open deal closed (the optimistic ceiling).

This three-tier forecast structure is what most enterprise CRMs offer and Airtable matches with a single-select and three rollups.

## Step 5: Follow-Up Automations

The single most underrated automation: nudge reps to follow up on deals that haven't moved.

### Daily follow-up reminder

1. **Trigger:** Scheduled, every morning at 8 AM.
2. **Find records:** Deals where `Owner = each user` AND `Next Step Date <= today` AND Stage not in (Closed).
3. **Send Slack DM** to each owner with their list.

### Stuck deal alert (weekly)

1. **Trigger:** Scheduled, every Monday at 9 AM.
2. **Find records:** Deals stuck in stage > 14 days.
3. **Send Slack message** to the sales manager channel.

### New lead assignment

1. **Trigger:** When a Deal is created with `Owner is empty`.
2. **Lookup:** A round-robin Assignment table to pick the next rep.
3. **Update Deal:** Set Owner. Send Slack DM to the assigned rep.

For broader automation patterns, see our [Airtable automation guide](/tutorials/airtable-automation-guide).

## Step 6: Lead Capture

Inbound leads enter the pipeline via:

### Pattern A: Web form to Airtable Form view

Embed an Airtable form on your contact page. Form submissions create Deal records directly with Stage = "New Lead." Add automation to notify the sales channel.

### Pattern B: Form tool (Tally, Typeform, Fillout)

For richer forms with conditional logic, use a form tool and Make scenario to create the Deal in Airtable.

### Pattern C: Inbound email to Airtable

For email leads:

1. Use Power Automate or Make to watch a shared inbox.
2. Parse subject/body for relevant info.
3. Create a Deal record.

## Step 7: Win/Loss Reporting

Once deals start closing, track patterns. Add to the Closed Lost workflow:

1. **Required field:** Lost Reason single-select (Price / Timing / Competitor / No Decision / Other).
2. **Required field:** Lost To (single line text) — the competitor or "self" (we lost to no-decision).
3. **Required field:** Lost Date.

### Win/loss dashboard

Build an Interface dashboard showing:

- Win rate by source.
- Win rate by deal size.
- Top loss reasons.
- Average cycle time by stage.
- Win rate trend by month.

This is the data that drives strategy decisions — pricing, qualification, ICP refinement.

For a full reporting layer, see our [Airtable client reporting dashboards](/tutorials/airtable-client-reporting-dashboards) and [Looker Studio integration](/tutorials/airtable-looker-studio-dashboards).

## Comparison: Airtable vs Dedicated Sales CRMs

| Factor | Airtable | HubSpot | Pipedrive |
| --- | --- | --- | --- |
| Cost per seat | $20–$54/mo | $50–$1,500/mo | $20–$80/mo |
| Custom fields/stages | Unlimited | Limited (lower tiers) | Limited (lower tiers) |
| Email tracking | Via integration | Native | Native |
| Sales sequences | Via integration | Native | Native (Pro+) |
| Mobile app | Yes (general) | Yes (sales-specific) | Yes (sales-specific) |
| Connects to delivery/ops | Yes (same base) | Limited | Limited |
| Reporting flexibility | Very high | High | Medium |
| Best for | Custom processes, integrated ops | Sales-first orgs with marketing tie-in | Sales-only teams |

## Common Mistakes

**Mistake 1: Too many stages.** More than 6–7 stages is unmanageable. Reps lose track of where deals actually are.

**Mistake 2: Activities not enforced.** Without activity logging, you can't analyze what closes deals. Make logging easy via mobile forms and email auto-logging.

**Mistake 3: Optimistic forecasts.** Reps set every deal at 75%. Use the Probability field with documented criteria for each percentage.

**Mistake 4: No stale-deal review.** Deals stuck > 30 days are usually dead. Force a quarterly cleanup that moves stuck deals to Closed Lost with a Lost Reason.

**Mistake 5: Not integrating with calendars and email.** Reps don't want to context-switch. Sync deals to Google/Outlook calendar and log activities from Gmail/Outlook automatically.

## Troubleshooting

**Kanban view doesn't show all deals.** A filter excludes them, or they have no Stage value. Check both.

**Forecast doesn't match reps' numbers.** Weighted Amount formula uses different probabilities than reps assume. Document the canonical probabilities.

**Activities aren't appearing on Deal records.** Reverse-link field isn't visible. Add it to the Deal layout.

**Email auto-logging creates duplicates.** Make scenario isn't deduplicating on email message ID. Add a `Email Message ID` field on Activities and skip if already exists.

**New leads not getting assigned.** Round-robin automation has stale assignment data. Audit the Assignment table and refresh.

## Next Steps

A working pipeline is the foundation; the value compounds when you connect it to delivery, billing, and customer success. Once the pipeline is live, the natural extensions:

- **Sales-to-delivery handoff** — Closed Won triggers a Project record in your delivery base.
- **Proposal generation** — generate proposals/contracts from Deal data (see our [automated proposals guide](/tutorials/automated-proposals-ai-airtable-gamma)).
- **Quote-to-cash** — auto-create invoices when deals close.

For broader patterns, see our [CRM build guide](/tutorials/how-to-build-crm-in-airtable), [agency receivables guide](/tutorials/agency-receivables-xero-airtable), [HubSpot integration](/tutorials/airtable-hubspot-integration), and [Salesforce integration](/tutorials/airtable-salesforce-integration). For scoping a full revenue-operations build on Airtable, [get in touch](/contact).


## Sitemap

See the full [sitemap](/sitemap.md) for all pages.
