Building a CRM from Scratch with Teable
Back to Blog
User Guide

Building a CRM from Scratch with Teable

Sarah Chen
User Guide

A CRM doesn't have to cost thousands of dollars or take months to implement. In this tutorial, we'll build a fully functional CRM system in Teable — complete with contacts, companies, deals, and automated follow-ups.

Time required: ~45 minutes Skill level: Beginner

What We're Building

Our CRM will include:

  • 📇 Contacts — People you're talking to
  • 🏢 Companies — Organizations they belong to
  • 💰 Deals — Revenue opportunities
  • 📋 Activities — Meeting notes, calls, emails
  • ⚙️ Automations — Follow-up reminders and notifications
  • Image 1

    Step 1: Create the Contacts Table

    Start by creating a new table called Contacts with these fields:

    Field NameTypeNotes
    Full NameTextPrimary field
    EmailText
    PhoneText
    Job TitleText
    CompanyLinkLinks to Companies table
    StatusSingle SelectLead, Qualified, Customer, Churned
    SourceSingle SelectWebsite, Referral, LinkedIn, Event
    Last ContactedDate
    NotesLong Text

    Step 2: Create the Companies Table

    Next, create the Companies table:

    Field NameTypeNotes
    Company NameTextPrimary field
    IndustrySingle SelectTech, Finance, Healthcare, etc.
    SizeSingle Select1-10, 11-50, 51-200, 201-1000, 1000+
    WebsiteText
    ContactsLinkBack-link to Contacts
    Total Deal ValueRollupSum of linked deals

    Step 3: Create the Deals Table

    The money table:

    Field NameTypeNotes
    Deal NameTextPrimary field
    CompanyLinkLinks to Companies
    ContactLinkLinks to Contacts
    ValueNumberCurrency formatting
    StageSingle SelectProspect → Qualified → Proposal → Negotiation → Closed Won / Lost
    Close DateDateExpected close
    ProbabilityNumberPercentage
    Weighted ValueFormulaValue * Probability / 100

    Image 2

    Step 4: Build the Pipeline View

    Switch to Kanban View on the Deals table, grouped by Stage. This gives you a visual sales pipeline where you can drag deals between stages.

    Customize the card to show:

  • Deal name
  • Company
  • Value
  • Close date
  • Step 5: Add Automations

    Automation 1: Follow-Up Reminder

    Trigger: Record matches condition
      → Condition: Last Contacted > 7 days ago AND Status = "Qualified"
    Action: Send email notification
      → To: Record owner
      → Subject: "Follow up with {Contact Name}"
      → Body: "It's been over a week since you last contacted {Name} at {Company}."
    

    Automation 2: Deal Stage Notification

    Trigger: Record updated
      → Watch field: Stage
    Action: Send Slack message
      → Channel: #sales
      → Message: "🎯 {Deal Name} moved to {Stage} — Value: ${Value}"
    

    Automation 3: New Lead Welcome Email

    Trigger: Record created in Contacts
      → Condition: Source = "Website"
    Action: Send email
      → To: {Contact Email}
      → Subject: "Welcome! Here's what's next"
      → Body: Personalized welcome template
    

    Step 6: Create a Dashboard

    Build a dashboard view with these widgets:

  • Pipeline value by stage — Bar chart
  • Deals closing this month — Filtered grid view
  • Top contacts by deal value — Sorted view
  • Win rate — Formula: Closed Won / (Closed Won + Closed Lost)
  • Bonus: Advanced Tips

    1. Use Lookup fields to pull company info into the deals table 2. Conditional coloring to highlight deals closing this week 3. Form view for your website's "Contact Us" page — submissions go straight into the CRM

    ---

    Wrapping Up

    You now have a fully functional CRM that rivals tools costing $50+/user/month. The best part? You own the structure and can customize it endlessly as your sales process evolves.

    Download the CRM template →

    Tags:TutorialBest Practices

    Ready to try Teable?

    Start organizing your data with the power of AI. Free for personal use.

    Get Started Free