How to build an AI CRM with Airtable in one day

Share

Most CRMs are either too simple (a spreadsheet you stop maintaining after three weeks) or too complex (Salesforce, which requires a consultant to set up). There’s a sweet spot in the middle — a custom CRM built for exactly how you work, with AI doing the tedious parts.

I built mine in Airtable with n8n automations. It handles about 80 contacts and a small pipeline of service deals. The AI enriches new contacts automatically, flags deals that have gone quiet, and drafts follow-up messages. It’s not enterprise software. It’s exactly what I need and nothing I don’t.

Here’s how to build your own version in a day.


Why Airtable for a custom CRM

Airtable sits at a useful intersection: it’s spreadsheet-familiar but database-powerful. You can build relational data models (contacts linked to deals, deals linked to activities) without writing SQL. The views system lets you create kanban boards, calendars, and filtered lists from the same underlying data. And the API is clean enough to connect to n8n for automation.

The free tier is generous for a personal CRM — up to 1,000 records per base, unlimited bases, and basic automation. The paid tiers unlock more records, more advanced automations, and more views per base.

Airtable is not the right choice if you need: advanced reporting, complex multi-user permissions, or a CRM that integrates deeply with email (HubSpot is better for that). For a personal or small-team CRM focused on contact and deal management, it’s hard to beat for the setup speed.


Designing the data model

Before opening Airtable, design your data model. A CRM’s data model is its foundation — getting this right on day one saves significant refactoring later.

For most freelancers, consultants, and small service businesses, three tables cover everything:

Contacts table

Fields: Name, Company, Email, LinkedIn URL, Phone, Tags (multi-select), Source (where did they come from), Notes, Last contacted date, Contact owner.

Deals table

Fields: Deal name, Contact (linked to Contacts), Value (€/£/$), Stage (pipeline stage), Probability %, Expected close date, Description, Status, Created date.

Activities table

Fields: Type (call/email/meeting/note), Contact (linked), Deal (linked, optional), Date, Summary, Next step, Next step date.

Relationships: Contacts link to Deals (one contact can have multiple deals). Contacts and Deals both link to Activities (activities belong to a contact and optionally to a specific deal).

Ask Claude to review this model for your specific situation before building:

“I’m building a CRM for [describe your business and sales process]. Here’s my proposed data model: [paste above]. What fields am I missing? What would you change for my specific use case?”


Building in Airtable

Creating the tables

In a new Airtable base, create your three tables. Name them clearly — “Contacts,” “Deals,” “Activities.” Add all your fields with the right field types:

  • Text fields for names, email, notes
  • URL field for LinkedIn
  • Currency field for deal value
  • Single select for Stage (your pipeline stages)
  • Number (0–100) for probability
  • Date fields for close date and last contacted
  • Linked Record fields for the table relationships

Setting up pipeline stages

Your Deal stages should reflect your actual sales process. Mine are: Lead → Qualified → Proposal sent → Negotiating → Won → Lost. Adjust for your context. Add a color to each stage in Airtable’s single-select options — makes the kanban view much more scannable.

Creating views

Create these views on day one:

  • Active pipeline (Gallery or Kanban) — Deals table, grouped by Stage, filtered to exclude Won/Lost
  • All contacts (Grid) — Contacts table, sorted by Last contacted date ascending (oldest first)
  • Overdue follow-ups (Grid) — Activities table, filtered to Next step date in the past, sorted by date
  • Recent activity (Grid) — Activities table, sorted by Date descending

Adding AI enrichment

This is the part that makes it an “AI CRM” rather than just a CRM. When I add a new contact, I don’t want to manually research them — I want the CRM to tell me who they are, what their company does, and what might be relevant context for a first conversation.

The enrichment workflow in n8n:

  1. Trigger: Airtable trigger node watching the Contacts table for new records
  2. Check for LinkedIn URL: If/else node checking whether a LinkedIn URL is present
  3. Web search: HTTP Request to a search API (Serper.dev) searching for “[Name] [Company]”
  4. AI processing: Claude node with prompt: “Based on these search results about [Name] at [Company], write: 1) a 2-sentence summary of who they are, 2) what their company does, 3) one conversation hook — something I could reference in a first message. Format as JSON with keys: summary, company_description, conversation_hook.”
  5. Airtable update: Write the AI output back to the contact’s Notes field

Total setup time: about 2 hours including testing. Saves 5–10 minutes per new contact added.


Building follow-up automation

The most common CRM failure: deals go quiet because nobody’s tracking when they need follow-up. This automation fixes that.

Stale deal detection

An n8n workflow that runs every Monday morning:

  1. Queries Airtable for all active deals (not Won/Lost)
  2. For each deal, finds the most recent Activity record
  3. If the most recent activity is more than 14 days old, flags it as stale
  4. Sends a Telegram/Slack message with the list of stale deals and their last activity date

Ai-drafted follow-up messages

When a deal is flagged as stale, a second workflow can draft a follow-up message:

  1. For each stale deal, retrieve: the contact’s name, company, and enrichment notes; the deal name and stage; the last activity summary
  2. Claude prompt: “Draft a short, natural follow-up message for [Name] at [Company]. The deal is ‘[deal name]’ and we last spoke about [last activity summary]. The message should: reference the last conversation briefly, check in without being pushy, and suggest a next step. Max 4 sentences. Tone: professional but not stiff.”
  3. Append the draft to the deal record in Airtable for review before sending

The draft goes into Airtable, not to the contact directly. You review it and send manually. Never automate outbound messages without a human review step.


Making data entry fast

A CRM is only useful if you actually update it. The biggest reason CRMs get abandoned: adding data is too slow or painful.

Airtable forms for inbound contacts

Create an Airtable Form that maps to your Contacts table. Use this as the intake form for all new contacts — after a call, after a conference, whenever you meet someone relevant. The form is mobile-friendly and adds directly to your Airtable base.

Quick-add via Telegram

Connect your personal AI assistant (see [LINK: Personal AI Assistant guide]) to your Airtable CRM. A message like “Add contact: Marco, CEO of Inaday, met at AI conference, LinkedIn: [URL]” parses the data and creates the record. Takes 10 seconds on your phone.

Email parser for inbound contacts

Set up an n8n workflow that parses inbound emails from new contacts (triggered when email arrives from an unknown sender). AI extracts name, company, and context from the email and creates a draft contact record for you to review and confirm. Useful if you get frequent inbound inquiries.


Views and reporting

Airtable’s native views handle most reporting needs for a small CRM:

  • Pipeline value by stage: A grouped Gallery view on the Deals table, with the value field shown. Gives you an instant visual of where your pipeline money is.
  • Win rate: A formula field that filters Won deals as a percentage of all closed deals. Add a summary field at the bottom of the view.
  • Activity volume: A grid view on Activities grouped by week or month. Shows how much outreach you’re actually doing.
  • Source performance: Group your Contacts view by Source field. See which channels are producing the most pipeline.

For more sophisticated reporting (charts, trends, cross-table analysis), connect your Airtable base to Google Looker Studio via the Airtable connector. Free, and much more powerful for visual reporting.


What to build next


FAQ

Is Airtable free for a personal CRM?

Yes. Airtable’s free tier supports up to 1,000 records per base, 5 editors, and basic automations — more than enough for a personal or small-team CRM. The paid plans (from ~$20/user/month) unlock more records, advanced automations, and additional views per base. Most people can run a personal CRM indefinitely on the free tier.

How is this different from hubspot’s free CRM?

HubSpot’s free CRM is more feature-rich out of the box (email integration, deal tracking, reporting) but significantly less flexible to customize. The Airtable approach takes longer to set up but produces a system that’s exactly tailored to your workflow. HubSpot is better if you want something standard that works immediately. Airtable is better if you want something custom that works exactly how you think.

Can multiple people use this CRM?

Yes. Airtable is built for collaboration — you can add team members to the base and assign records to them. n8n automations work for the whole team, not just the person who set them up. For larger teams, the paid Airtable plans add more granular permissions and better admin controls.

How do i migrate my existing contacts from another CRM?

Export your existing CRM data as a CSV and import it into Airtable (Import → CSV). Most CRMs support CSV export. You’ll likely need to do some column mapping and cleanup — Claude is useful here: paste your CSV headers and ask it to write the mapping logic. Budget 1–2 hours for a migration from most CRMs.

Is the AI enrichment expensive to run?

At reasonable scale, no. An AI enrichment run per new contact using Claude costs a fraction of a cent per record. A search API call (Serper.dev) costs ~$0.001 per search. For a business adding 20–50 new contacts per month, the total AI cost is under $1/month. Significant scale would still be very cheap relative to the time saved.

Comments
Add a comment

Leave a Reply

Your email address will not be published. Required fields are marked *

Join our Newsletter
Stay updated on what’s possible with real one-day projects.