Build a Customer Tracker
Build a Customer Tracker
Most businesses need a way to keep track of who their customers are, how to reach them, and what they've bought or signed up for. This guide walks you through building a complete customer tracking system in IdealVibe.
By the end, you'll have:
- A Customers table with contact info
- An Interactions table that logs every touchpoint (calls, emails, meetings)
- A Deals table that tracks potential revenue
- Everything linked together so you can see a customer's full history in one place
Prerequisites
- An IdealVibe account (free tier works fine)
- Your First Collection in 5 Minutes completed (optional, but helpful)
Step 1: Create the CRM Collection
Open the Schema Designer and tell it what you need:
"I want to build a CRM to track customers, their interactions, and deals"
The AI will suggest a collection called CRM with three tables. Let's walk through each one.
Step 2: Design the Customers Table
Your Customers table is the foundation. Here's what we recommend:
| Column | Type | Purpose |
|---|---|---|
| name | Text | Full name |
| Text | Primary email | |
| phone | Text | Phone number |
| company | Text | Company or organization |
| status | Text | Active, Inactive, Lead, Prospect |
| source | Text | How they found you (referral, website, ad) |
| notes | Text | Free-form notes |
| created_at | Date | When you added them |
The status column is key — it lets you filter customers by where they are in your pipeline. Start with simple statuses like "Lead", "Active", and "Inactive". You can always add more later.
Pro tip: If the AI suggests additional columns you don't need, just say "remove the [column name] column" or remove them manually.
Step 3: Design the Interactions Table
Every call, email, meeting, or message should be logged. This table tracks your touchpoints:
| Column | Type | Purpose |
|---|---|---|
| customer | Relation → Customers | Which customer this interaction is with |
| type | Text | Call, Email, Meeting, Note |
| subject | Text | Brief summary |
| details | Text | Full notes from the interaction |
| date | Date | When it happened |
| follow_up_date | Date | When to follow up (optional) |
The customer column is a relation — it links each interaction to a specific customer. This means when you view a customer, you can see all their interactions in one place.
Step 4: Design the Deals Table
Track potential revenue and your sales pipeline:
| Column | Type | Purpose |
|---|---|---|
| customer | Relation → Customers | Which customer this deal is for |
| title | Text | Deal name or description |
| value | Number | Dollar amount |
| stage | Text | Prospect, Proposal, Negotiation, Won, Lost |
| expected_close | Date | When you expect to close |
| closed_at | Date | When it actually closed |
| notes | Text | Deal-specific notes |
The stage column creates a simple sales pipeline. Move deals through stages as they progress.
Step 5: Create Everything
Review the three tables and tell the AI "create it" or click the Create button. Your CRM is live in seconds.
Step 6: Add Your First Customer
Navigate to the CRM collection → Customers table and add a record:
| Field | Value |
|---|---|
| Name | Acme Industries |
| contact@acme.example.com | |
| Phone | 555-0100 |
| Company | Acme Industries |
| Status | Lead |
| Source | Website |
| Notes | Interested in our premium plan |
Step 7: Log an Interaction
Go to the Interactions table and create a record:
| Field | Value |
|---|---|
| Customer | Acme Industries (select from dropdown) |
| Type | Call |
| Subject | Initial discovery call |
| Details | Discussed their needs. They're looking for a way to manage 500+ client accounts. Follow up next week with a demo. |
| Date | Today |
| Follow Up Date | Next Monday |
Because Interactions is linked to Customers, you'll be able to see this interaction when viewing the Acme Industries customer record.
Step 8: Create a Deal
Open the Deals table:
| Field | Value |
|---|---|
| Customer | Acme Industries |
| Title | Premium plan - annual |
| Value | 12000 |
| Stage | Proposal |
| Expected Close | End of month |
Using Your CRM Day-to-Day
Find customers quickly
Use the search bar to find any customer by name, email, or company. For more specific lookups:
- Filter by status = "Lead" to see all your leads
- Filter by source = "Referral" to see who came from referrals
- Sort by created_at to see your newest additions
Track your pipeline
Filter the Deals table by stage:
- Prospect — early conversations
- Proposal — you've sent a proposal
- Negotiation — working out terms
- Won — closed and signed
- Lost — didn't work out (keep these for learning)
Never miss a follow-up
Filter Interactions by follow_up_date to see what's due today or this week.
See the full picture
When you open a customer record, the linked Interactions and Deals tables show that customer's complete history — every call, every deal, all in one place.
What's Next?
Your customer tracker is ready to use. As your business grows, consider:
- Adding more tables: Products, Invoices, Support Tickets
- Setting up roles: Give your sales team access to CRM but not to billing
- Automating billing: Connect deals to recurring payments when they close
- Inviting your team: Share the CRM with colleagues and assign permissions
Tips
- Keep it simple at first. Start with the basics and add columns as you discover you need them. You can always modify your schema later.
- Use consistent statuses. Pick your status and stage labels once and stick with them — it makes filtering reliable.
- Log interactions immediately. The best CRM is the one you actually use. Make it a habit to log interactions right after they happen.
- Review weekly. Spend 10 minutes each week reviewing your pipeline and upcoming follow-ups.
That's your complete customer tracker — built without writing a single line of code. If you outgrow this setup, IdealVibe's API lets you build custom interfaces on top of the same data.