| name | notion-crm-lead-processing |
| description | Skill for processing new leads and contractors in a Notion CRM with three linked databases: Contacts, Potential Clients (Companies), and Deals. Use this skill ALWAYS when the user shares a new lead or contractor in any format: LinkedIn URL, message text, CV/PDF, name + company + context, website, or any combination. Also use when updating existing records (stage change, call notes, Fireflies summary, icon, relations, photo). Trigger phrases: "new lead", "add lead", "create deal", "new contact", "add to crm", "update stage", "add call summary", "new contractor", "add contractor", "new expert".
|
Notion CRM — Lead & Contractor Processing
A skill for automatically creating and linking records in a Notion CRM with three databases:
Contacts, Potential Clients (Companies), and Deals — plus an optional Contractors database.
⚙️ Setup — Fill In Your IDs First
Before using this skill, replace all placeholder IDs with your actual Notion Data Source IDs.
Find them by opening your database in Notion and checking the URL, or using the Notion MCP fetch tool.
| Database | Placeholder | Your ID |
|---|
| Contacts | YOUR_CONTACTS_DS_ID | (paste here) |
| Companies / Potential Clients | YOUR_COMPANIES_DS_ID | (paste here) |
| Deals | YOUR_DEALS_DS_ID | (paste here) |
| Contractors (optional) | YOUR_CONTRACTORS_DS_ID | (paste here) |
| Expert Profiles (optional) | YOUR_PROFILES_DS_ID | (paste here) |
How to find a Data Source ID: Use the Notion MCP fetch tool on your database URL.
Look for <data-source url="collection://XXXXXXXX-..."> in the result.
Part 1 — Processing a New Lead
Step 0 — Gather Information
Before creating records, check if you have:
- Contact person's name
- Company name
- Deal Source (if unknown — ask)
- Stage (if unknown — ask)
Always ask the user:
Deal Source — where did this lead come from?
Stage — what pipeline stage to start at?
Product/Service — what are you selling to them? (if not obvious from context)
Step 1 — Create Contact (person)
Database: YOUR_CONTACTS_DS_ID
Key fields to fill:
Name → "First Last"
Email → if available
Role → e.g. "CEO", "CMO", "HR Manager", "Co-founder"
Source → same as Deal Source
LinkedIn → if available
Telegram → if available
Notes → any context from the user
Icon: 👤 or LinkedIn photo if directly provided
Step 2 — Create Company / Potential Client
Database: YOUR_COMPANIES_DS_ID
Key fields to fill:
Name → "Company Name"
Website → company URL
LinkedIn → company LinkedIn URL
Industry → from your multi-select options
Company Size → e.g. "1-30" / "30-100" / "100-800" / "800+"
Status → "never worked" for new leads
Stakeholders → link to the Contact created in Step 1
Icon: company logo (see Icons section below)
Step 3 — Create Deal
Database: YOUR_DEALS_DS_ID
Template: use your Standard Deal template ID if you have one
Key fields to fill:
Name → "Company Name | Contact Name"
Stage → ask the user
Deal Source → ask the user
Sale Type → "1st sell" for new leads by default
Status → "Active"
Website → company website
Contact → relation to Contact record (Step 1)
Company → relation to Company record (Step 2)
Industry → copy from Company
Company Size → copy from Company
Icon: same as Company
Relations Checklist ✅
After creating all three records, verify:
⚠️ Pass relations as full notion.so URL: https://www.notion.so/<page_id_no_dashes>
Part 2 — Icons
Finding a Company Logo
-
Brandfetch CDN (best option):
https://cdn.brandfetch.io/<domain>/w/558/h/558/theme/dark/icon.png?c=1bxid64Mup7aczewSAYMX
Where <domain> = website domain without https:// and trailing /
Example: https://cdn.brandfetch.io/notion.so/w/558/h/558/theme/dark/icon.png?c=1bxid64Mup7aczewSAYMX
-
Fallback — Google favicon:
https://www.google.com/s2/favicons?sz=128&domain=<domain>
-
Nothing found → use emoji 🏢
Where to set icons
- Company / Potential Client → company logo
- Deal → same icon as Company
- Contact → 👤 or direct photo URL if provided
Part 3 — Fireflies Call Summary
When the user asks to add a call summary to a Deal:
- Get the latest transcript ID:
fireflies_get_transcripts(limit=1)
- Get the full summary:
fireflies_get_summary(transcriptId=<id>)
- Update the Deal body via
notion-update-page (update_content command):
- Find the
### Call Recordings: section → add Fireflies link + summary
- Find the
### Next Steps: section → add action items
- Update
Stage if it changed after the call
- Fireflies link format:
https://app.fireflies.ai/view/<transcriptId>
Part 4 — Processing a New Contractor (optional)
If you have a Contractors database for freelancers or experts:
Databases needed:
- Contractors (
YOUR_CONTRACTORS_DS_ID) — full internal profile
- Expert Profiles (
YOUR_PROFILES_DS_ID) — optional public-facing profile
Step 1 — Create Contractor record
Key fields:
Name → "First Last"
Email → email
Phone → phone
LinkedIn → LinkedIn URL
Telegram → @handle
Location → "City, Country"
Availability → "Available" / "Busy" / "Unavailable"
Job Titles → from your multi-select list
Areas of Expertise → from your multi-select list
Industries → from your multi-select list
Years of experience → number as string (e.g. "7")
Main Offer → short description of what they offer
Card body structure:
## 📥 Initial Request
(context from the user if any)
## 📞 Call with [User] — <date>
Fireflies link + summary + action items
## 📄 CV Summary
Brief overview + key competencies
## 💼 Experience
By company: name, role, dates, achievements
## 🎓 Education
## 🌐 Languages
⚠️ PDF files: Notion API does not support file uploads. Ask for a Google Drive link instead
and save it in the Google Drive field and card body.
Step 2 — Create Expert Profile (if applicable)
Smaller public-facing record linked to the Contractor:
Name, Role, Areas of Expertise, Industries, Location
Other Profiles → relation back to Contractor record
Icon: person's photo — set as both icon AND cover on both records.
If LinkedIn photo is blocked (robots.txt) → ask the user for a direct photo URL.
Relations Checklist ✅
Confirmation Message Format
After creating records, always confirm:
✅ Records created:
- Contact — [Name](notion_url)
- Company — [Company Name](notion_url)
- Deal — [Company | Name](notion_url)
Filled: Stage, Deal Source, Sale Type, Industry, Company Size, icon, all relations.
Common Mistakes to Avoid
- Wrong database — always double-check which DB you're writing to
- Relations as plain IDs — pass as full URL:
https://www.notion.so/<id_no_dashes>
- Missing icon — always look up logo via Brandfetch before defaulting to emoji
- Broken relations — verify all relation fields after creation
- Initial Request — always write the user's context/request text into the Deal body
Adapting This Skill to Your Notion Setup
This skill is designed for a CRM with three linked databases. Your field names
and select options will differ — here's how to adapt:
- Run
notion-fetch on each database to get the exact field names and allowed values
- Replace all field names in this skill with your actual property names
- Update the select options (Stage, Deal Source, Industry, etc.) to match yours
- Replace all
YOUR_*_DS_ID placeholders with your actual Data Source IDs
- Save the updated SKILL.md — Claude will use it for every future session