Step 1: Build a disciplined tag taxonomy
Budget: 10 minutes. Tags are the fastest way to slice your contact list, but an undisciplined tag library becomes noise within 90 days. The fix is a three-category model before you create a single tag.
Go to Contacts > Tags > Manage. Create tags in three groups:
SOURCE TAGS (where the lead came from)
src:telegram-group - found via group scrape or bot
src:x-organic - found via X DM or mention
src:referral - referred by existing customer
src:csv-import - brought in from a cold list
src:live-chat - started a web chat session
SEGMENT TAGS (what the lead is interested in)
plan:pro - expressed interest in Pro plan
plan:enterprise - enterprise-size company
interest:pricing - asked about pricing (often auto-applied)
interest:api - asked about API or integrations
use-case:sales - primary use case is sales outreach
use-case:support - primary use case is customer support
STATUS TAGS (where they are right now)
status:vip - top-tier, high-value relationship
status:demo-booked - demo call scheduled
status:cancelled - churned or cancelled subscription
status:re-engage - dormant, queued for re-engagementAim for 5-8 tags per category. A total of 25 tags handles most businesses comfortably. If you find yourself creating a 26th tag, ask first whether an existing tag covers the same case.
Tags can be applied manually from the contact record, applied in bulk from the list view, or applied automatically via an auto-tagging rule (covered in Step 3).
Step 2: Add custom fields
Budget: 5 minutes. Custom fields let you store data specific to your business that does not fit the standard contact fields (name, Telegram handle, email, phone).
Go to Settings > Custom Fields > Contacts. Click Add field and pick a type:
- Text - single-line string. Use for: Company name, Job title, LinkedIn URL.
- Number - integer or decimal. Use for: Employee count, Monthly revenue, Deal size estimate.
- Dropdown - predefined option list. Use for: Industry, Lifecycle stage, Lead source, Plan tier.
- Date - calendar date. Use for: Trial start date, Contract renewal date, Last in-person meeting.
Each workspace supports up to 24 custom fields on contacts. Every custom field becomes available as a filter in saved segments and as a merge tag in message templates.
Good starter custom fields for a SaaS team:
Field name Type Example value
--------------------------------------------------
Company Text Acme Inc.
Country Text Singapore
Employee count Number 150
Monthly budget Number 5000
Industry Dropdown SaaS / E-commerce / Agency
Lifecycle stage Dropdown MQL / SQL / Customer / Churned
Trial start date Date 2026-06-01
Contract renewal Date 2027-01-15Step 3: Design your hybrid lead-scoring model
Budget: 15 minutes. Hybrid scoring combines two types of signal: fit (explicit demographic or firmographic attributes) and engagement (behavioral actions). A contact who matches your ideal customer profile (ICP) but has never engaged is worth less than one who is actively asking about pricing.
See the lead scoring glossary entry for the conceptual background. Below is a practical worked rubric you can adapt in Settings > Lead Scoring.
=== CRM SOLID HYBRID LEAD-SCORING RUBRIC ===
-- FIT (EXPLICIT) SIGNALS --
Attribute Points
-----------------------------------------
Job title is decision-maker +30
Company size 50-500 employees +20
Company size 500+ employees +30
Target industry match +20
Country is primary market +10
Custom field "lifecycle" = MQL +15
-- ENGAGEMENT (BEHAVIORAL) SIGNALS --
Action Points
-----------------------------------------
Replied to any message +10
Asked about pricing +50 (also auto-tags "interest:pricing")
Clicked a Calendly or demo link +25
Booked a demo call +75
Asked about API or integrations +30 (also auto-tags "interest:api")
Opened an email +5
Clicked a link in an email +15
Tagged as "status:vip" +20
-- TIERS --
Score 80+ -> Hot (follow up within 24 hours)
Score 50-79 -> Warm (follow up within 72 hours)
Score 0-49 -> Cold (nurture sequence or archive)
-- DECAY (manual/automation) --
No inbound message in 30 days: -10
No inbound message in 60 days: -20
Contact opens and then goes dark: -15Go to Settings > Lead Scoring and enter your rules. For auto-tagging rules (e.g., automatically apply "interest:pricing" when a message contains "pricing" or "how much"), go to Contacts > Tags > Auto-tag rules > New. The auto-tag rule simultaneously applies the tag and triggers the +50 scoring event, so one configuration covers both.
Tip: start with only the 3-4 highest-signal engagement events (pricing ask, demo booked, Calendly click). Add more rules after 30 days when you have data to see which events actually correlate with closed deals. Scoring models that start complex drift toward noise faster than simple ones.
Step 4: Assign contacts to team members
Budget: 1 minute per contact, or 2 minutes in bulk.
For individual assignment: open a contact record. In the right side panel, click the Assigned to field. Pick a workspace member from the dropdown. The assignment is logged immediately on the activity timeline.
For bulk assignment: in Contacts, check the boxes next to multiple contacts (or use the header checkbox to select a page). Click Actions > Assign and choose the assignee. Bulk assignment is useful after segment work - e.g., assign all 47 MQL contacts to your senior AE.
Assignments surface in the unified inbox filter: each team member can filter their inbox to show only conversations with their assigned contacts, reducing noise in shared inboxes.
Step 5: Read the activity timeline
The Conversation timeline on every contact record is the single most important tool for understanding a lead before reaching out. It shows:
- Every inbound and outbound message across Telegram, X, and email, with a channel icon and timestamp.
- System events: tags applied, score changes, assignments, demo bookings.
- Point deltas for each scoring event, displayed inline (e.g.,
+50next to "Tagged as Pricing intent"). - A summary footer with total messages, response rate, and average reply time.
Read the timeline chronologically (oldest at the bottom) to understand how the relationship developed. Read it reverse-chronologically (newest at top) to catch up quickly before a follow-up. The channel icons tell you which platform each message came from, so you do not accidentally reference a conversation the contact had on a different channel.
Step 6: Track GDPR consent
Budget: 2 minutes setup, zero ongoing effort.
CRM Solid captures a consent record every time a contact enters the system via a known capture point. The consent ledger on each contact shows:
- Source: e.g. "Telegram bot: /start", "Newsletter form: /pricing page", "CSV import: admin panel".
- Region: the jurisdiction of the contact at capture time (EU, UK, US, TR, etc.).
- Captured: exact timestamp.
- Basis: the lawful basis under GDPR (Consent Art. 6(1)(a), Contract Art. 6(1)(b), etc.) or KVKK for Turkish contacts.
- Status: active, pending (consent required but not yet obtained), or revoked.
The ledger is hash-chained and tamper-evident. For a Subject Access Request, open the contact and click Export - the system bundles all data (messages, custom fields, consent records) as JSON + CSV. For a Right to be Forgotten request, click Erase - this removes the contact and every associated message. Both operations complete in under 60 seconds.
If a contact's region is EU and their basis is "pending KVKK consent", you should pause outreach to that contact until consent is confirmed. The pending status appears as an orange indicator in the contact list so it does not get missed.
Step 7: Segment and filter by tags and score
Saved segments are the operational output of all the work in the previous steps. Go to Contacts > Segments > New and compose a filter. Useful starting segments:
Segment name Filter expression
-------------------------------------------------------------
Hot leads (act now) lead_score > 79
Warm pricing leads tag:"interest:pricing" AND
lead_score > 49
Hot leads gone quiet lead_score > 79 AND
last_reply > 7d
MQL ready to hand off custom.lifecycle = "MQL" AND
lead_score > 59
VIP active tag:"status:vip" AND
lead_score > 79
Cold - re-engage Q3 lead_score < 30 AND
last_seen > 60d
Enterprise prospects custom.employee_count > 499 AND
lead_score > 29
Demo booked (prep now) tag:"status:demo-booked"Saved segments are live: the count refreshes automatically every time you open them. You can launch a campaign sequence directly from a segment by clicking Actions > Start sequence.
Step 8: Weekly hygiene routine
Budget: 15 minutes every Monday morning.
- Review top 20 by score. Sort contacts by Lead Score descending. Any contact above 70 that your team has not touched in 7 days gets an immediate follow-up task (Actions > Create task or assign to a team member).
- Apply decay manually or via automation. Open the "Cold - no activity 30d" segment. Select all. Apply Actions > Score adjust > -10. This keeps scores calibrated to current engagement, not past momentum.
- Archive dead contacts. Open the "no activity 90d and score < 20" segment. Select all. Archive (not delete - archived contacts do not count against plan limits and can be restored). This keeps your active list clean.
- Audit the tag library. Go to Contacts > Tags > Manage. Sort by count ascending. Any tag with fewer than 5 contacts after 60 days is either redundant or mis-applied. Merge it into a parent tag or delete it.
- Review consent pending. Filter Contacts by consent status = "pending". For each contact, either obtain consent before the next outreach or archive them.
Teams that run this routine consistently report 20-30% higher reply rates from their active list, because they are reaching genuinely engaged contacts rather than a bloated database full of cold noise.