CRM — Free Online Template

Manage your sales pipeline with a lightweight CRM spreadsheet that tracks leads, deal stages, and expected revenue. This template is designed for startups and small sales teams that want pipeline visibility without the complexity of a full CRM platform. Each row represents a deal with the company name, contact person, deal value, current stage, expected close date, and the sales rep responsible. The stage column follows a standard pipeline: Lead, Qualified, Proposal, Negotiation, Closed Won, Closed Lost. By populating this through the API, you can sync it with your lead generation tools — when a new lead comes in from your website form or a third-party enrichment service, it automatically gets added as a row. Sales managers can share the pipeline link with leadership for weekly reviews, and export to XLSX for revenue forecasting models.

Preview

CompanyContactDeal ValueStageExpected CloseSales Rep
Acme CorpJennifer Wu$45,000Proposal2026-04-15Brian Foster
Globex IncMark Stevens$12,000Qualified2026-05-01Sara Knight
InitechPeter Gibbons$28,500Negotiation2026-04-08Brian Foster
Umbrella LLCAlice Wong$8,000Lead2026-06-01Sara Knight

Create via API

Generate this crm programmatically with a single POST request. The API returns a shareable URL that anyone can open in the browser.

curl
curl -X POST https://openofficeai.com/api/v1/sheets \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "My CRM",
    "sheets": [{ "rows": [["Company","Contact","Deal Value","Stage","Expected Close","Sales Rep"],["Acme Corp","Jennifer Wu","$45,000","Proposal","2026-04-15","Brian Foster"],["Globex Inc","Mark Stevens","$12,000","Qualified","2026-05-01","Sara Knight"]] }]
  }'

Returns { "id": "...", "url": "...", "created_at": "..." }. See the full API docs for formatting, formulas, and export options.

What's included

This template comes with 6 columns designed for a standard crm workflow. Each column can be renamed, reordered, or extended through the API or the browser editor.

Company

The business name of the prospect or customer.

Contact

The primary point of contact at the company.

Deal Value

The estimated total value of the deal in your pipeline.

Stage

The current pipeline stage: Lead, Qualified, Proposal, Negotiation, Closed Won, or Closed Lost.

Expected Close

The date you expect the deal to close.

Sales Rep

The sales team member who owns this deal.

How to customize

This template is a starting point. Here are specific ways to adapt it to your workflow:

1

Add a "Lead Source" column (website, referral, cold outreach, event) to track which channels generate the highest-value deals.

2

Include a "Next Action" and "Next Action Date" column so sales reps always know their immediate next step for each deal.

3

Add a "Deal Probability" percentage column to weight your pipeline forecast — multiply Deal Value by probability for a weighted revenue projection.

Frequently asked questions

Can I move deals through pipeline stages via the API?

Yes. Fetch the current sheet, then send a PUT request to update the Stage cell for any deal row. Your sales automation tool can trigger stage changes based on events — for example, moving a deal to "Proposal" when a proposal document is sent, or to "Closed Won" when a contract is signed in DocuSign.

How do I calculate total pipeline value?

You can add a formula row at the bottom of the spreadsheet that sums the Deal Value column. Alternatively, read all rows via the GET endpoint and calculate pipeline totals in your backend, broken down by stage, rep, or expected close month for more detailed reporting.

Is this a replacement for Salesforce or HubSpot?

Not for large teams with complex workflows. This CRM template is best for early-stage startups or small teams that need basic pipeline tracking without the cost and onboarding time of enterprise CRM software. It shines when you need a quick, shareable view of your deals.

Related templates

Ready to create your crm?

Sign up for free and start building spreadsheets in seconds — from the browser or via the API.