CRM Solid logo
GUIDE14 min read

How to set up a Telegram CRM in 20 minutes

An end-to-end tutorial: pick a plan, connect your first MTProto session, import contacts, design pipeline stages, write reusable templates, tune your rate limits, and run your very first sequence, all in one focused session.

14-day free trial · No credit card required · Cancel anytime

What you will learn

Four outcomes by the end of this guide

A live MTProto session

Your phone number authenticated, encrypted session stored, ready to send.

A clean contact base

Imported, deduplicated, tagged, and segmented; ready to feed sequences.

A 5-stage pipeline

Stages that match how you actually sell, with forecast probabilities set.

A running first sequence

A multi-step drip you can watch fire in real time with replies routed to you.

What you will need

Have these ready before you start so you do not break flow mid-setup.

  • A Telegram account that is at least 30 days old (younger accounts work but warm up slower).
  • Your Telegram phone number and 2FA password if you have one enabled.
  • A CSV of existing contacts with at least one of: phone, telegram_username, or email.
  • A rough sketch of your sales stages (even a five-bullet list in a notes app is enough).
  • A working credit card (only required after the 14-day trial).
  • About 20-30 minutes of uninterrupted focus.

This guide assumes you have never used CRM Solid before, and you have a real outreach motion you want running by the end of today. Every step is timed: if you fall significantly behind any of the budgets below, you are probably overthinking. Skip ahead, get the system live, and refine later.

Step 1: Pick a plan and create your workspace

Budget: 2 minutes. Head to app.crmsolid.com/register. CRM Solid uses a flat-pricing model: no per-seat tax, no surprise rate increases when you add more accounts. The number that scales with plan tier is the daily message ceiling and the number of automation steps you can have active at once. Pick the tier that maps to your expected daily volume; you can change it later from the billing settings.

The signup form asks for an email, a password, a workspace name, and a preferred language. Use a real workspace name; it appears in the unified inbox header and in any export filenames, so "crm-solid-test-1" is going to bite you in week three.

After signup, confirm the verification email. Until you verify, outbound sends are blocked as an anti-abuse measure.

Tip: If you sell into multiple distinct customer segments (e.g., B2B SaaS founders vs ecommerce DTC), create one workspace per segment. The flat-pricing model means a second workspace is free with the same plan, and it keeps pipelines, templates, and analytics clean.

Step 2: Connect your first Telegram account via MTProto

Budget: 3 minutes. CRM Solid uses MTProto, Telegram's native application protocol, not the Bot API. That distinction matters: MTProto lets you send DMs to anyone (subject to privacy settings), see typing indicators, view profile pictures, and react to messages. The Bot API does not.

From the left sidebar, click Accounts, then Add Telegram account.

  1. Enter your phone number in international format (e.g., +14155551212). Telegram will SMS you a 5-digit login code within 30 seconds. If you do not receive it, Telegram will fall back to a voice call after two minutes.
  2. Paste the login code into the panel. If the account has cloud 2FA password enabled (most do), the panel will prompt for your 2FA password next. CRM Solid never persists this 2FA password; it is used once to unlock the session and immediately discarded.
  3. Wait for "Authorized". The encrypted session file is now stored server-side. From this point on the panel reconnects automatically every time you open it.

You will get a notification in your Telegram client that a new device ("CRM Solid Web") has been added. Do not log it out; that ends the session and forces a re-authentication.

Common pitfalls

  • SMS code never arrives: Telegram throttles SMS to a given number to one code per 60 seconds. If you mistyped your number and asked for a resend, wait the full minute.
  • 2FA password forgotten: You cannot reset Telegram 2FA without losing the entire account and waiting seven days. Reset it from your Telegram client first if needed, then re-add to CRM Solid.
  • "This phone number is banned": The account was previously flagged for spam. Use a different number. We cover account hygiene in detail in our ban-avoidance guide.

Step 3: Import your existing contacts

Budget: 3 minutes. CRM Solid runs on contacts, not on chats. Every conversation is anchored to a contact record so you can tag, segment, score, and route across channels. Get your contact base in first; everything else builds on top of it.

Click Contacts in the sidebar, then Import. You have three options:

  • CSV upload: drag a CSV with up to 100,000 rows. The importer auto-maps columns whose headers match common patterns (first_name, email, telegram_username, phone, tags, owner). Custom columns become custom fields with one click.
  • Telegram address book sync: pulls every contact already saved in the connected Telegram account. Useful if you have been doing manual DMs for months and want to centralize them in the CRM.
  • Manual add: fastest for one-off contacts. Good for warm intros you want to convert into pipeline records.

Deduplication runs automatically on three keys: telegram_user_id (if present), phone (E.164-normalized), and email (lowercased). Conflicts surface in a "review" tab where you pick the winner per duplicate.

# Example minimal CSV
first_name,last_name,telegram_username,email,phone,tags,owner
Alice,Yu,@alice_y,[email protected],+14155551001,saas;us,[email protected]
Bilal,Khan,@bilal_dev,[email protected],+923215557722,saas;pk,[email protected]

Common pitfalls

  • Mixed-locale phone numbers: always normalize to E.164 (+CC...) before import. Local-format numbers ("0555...") break dedup.
  • Comma-inside-cell: use the standard CSV escape (wrap the cell in double quotes). If you exported from Google Sheets or Excel, the escape is automatic.
  • Tag overload: import at most 5 tags per contact. Tag sprawl makes segments noisy fast.

Step 4: Design your pipeline stages

Budget: 3 minutes. A sales pipeline is just a list of stages a deal moves through, plus the entry criteria for each stage. CRM Solid ships with a sensible default for B2B SaaS-style sales, but you should replace it with stages that match how you actually close.

Go to Pipeline > Edit stages. Here is a battle-tested five-stage default for outbound DM sales:

  1. Lead: contact exists and has not been messaged yet. Probability: 5%. Exit: first outbound message sent.
  2. Engaged: contact has replied at least once. Probability: 15%. Exit: contact answered a qualifying question.
  3. Qualified: confirmed need, budget, timeline. Probability: 35%. Exit: demo scheduled.
  4. Demo Booked: demo on calendar. Probability: 55%. Exit: demo completed and proposal sent.
  5. Negotiation: proposal sent, in active dialogue. Probability: 75%. Exit: signed or lost.

These probabilities feed your weighted forecast on the dashboard. Inflate them and you will under-resource ramp. Deflate them and you will hire too aggressively. After 30 days of real data, the panel suggests updated probabilities based on your actual conversion rates.

Read more: the full pipeline framework (entry/exit criteria, automation triggers, forecasting math) lives in our sales pipeline setup guide.

Step 5: Write your first five message templates

Budget: 5 minutes. Templates are the unit of reusable messaging in CRM Solid. They support merge variables like {first_name}, {company}, and {channel_topic}, plus spintax variation like {Hi|Hey|Hello}, so two contacts never see the same wording.

Go to Templates > New. Write at least these five:

# Template 1: Opener
{Hey|Hi} {first_name|there}, saw you {posted|asked|shared} about
{topic} {today|recently}. We help {persona} ship that in
{timeframe} without {pain_point}. Quick question - are you
{currently|actively} looking for that, or just browsing?

# Template 2: Qualifier
{Good context|Makes sense}, {first_name}. Out of curiosity, what
does your {tooling|workflow} look like right now for {use_case}?
And is {ideal_outcome} on your roadmap this {quarter|month}?

# Template 3: Demo invite
{Great|Awesome}, based on what you shared, a 15-min screen-share
will save you a few hours of reading. Pick a slot:
{calendar_link}. Or send me one that works.

# Template 4: Day-3 follow-up
{Hey|Hi} {first_name}, no rush, just want to make sure
{ideal_outcome} stays on your radar. If timing is off, totally fine
to circle back next month; happy to drop a note in {month_offset}.

# Template 5: Post-demo nudge
{first_name}, {appreciated|enjoyed} the demo {yesterday|today}.
Quick recap: {one_sentence_summary}. Want me to send the proposal
or do you need to loop in {decision_maker} first?

Replace the bracketed placeholders with your own copy. Even bad templates are better than improvising every DM, and you will iterate them weekly based on reply-rate data once the sequence is running.

Common pitfalls

  • Too many merge variables: if a single message references more than three custom fields, the slightest data gap produces broken output ("Hi , thanks for !").
  • Spintax that does not vary meaning: {Hello|Hi|Hey} is good. {great|amazing|awesome} on every message starts to look like a Mad-Libs game. Use spintax for real lexical variety, not adjectives.
  • Forgetting the question: every opener should end with a question. No question, no reply.

Step 6: Tune your rate limiter

Budget: 2 minutes. CRM Solid's rate limiter has three knobs: per-hour cap, per-day cap, and minimum-interval-between-sends. The platform defaults (20/hour, 50/day, 10s) are tuned for an account that has been in healthy daily use for 30+ days. Younger accounts need a slower ramp.

Go to Settings > Rate limiter. Pick the row for the account you just connected and set:

  • First 7 days: 5/hour, 20/day, 30s minimum interval.
  • Days 8-14: 10/hour, 35/day, 20s minimum interval.
  • Days 15-30: 15/hour, 45/day, 15s minimum interval.
  • Day 30+: 20/hour, 50/day, 10s minimum interval.

The flood-wait handler is automatic regardless of these caps. If Telegram returns a FLOOD_WAIT_X error mid-send, the worker pauses that account for X seconds, retries with exponential back-off, and flags the campaign in your dashboard. You do not need to babysit this.

Deeper dive: the math behind these numbers, including multi-account distribution and Telegram's hidden trust score, is in our bulk messaging best practices guide.

Step 7: Build your first drip sequence

Budget: 3 minutes. Sequences chain together templates with delays and conditional logic. A typical first sequence is a five-step drip targeting a single segment (e.g., "new SaaS founders"). Go to Sequences > New.

  1. Name and segment: name it descriptively ("Saas-founders-cold-2026q2"). Pick the contact segment as the audience.
  2. Step 1, Opener: send Template 1 immediately on entry.
  3. Step 2, Qualifier: send Template 2 only if Step 1 was replied to.
  4. Step 3, Day-3 nudge: if no reply by day 3, send Template 4. Then exit if still no reply by day 7.
  5. Step 4, Demo invite: when Qualifier reply contains the keyword "interested" or "yes", send Template 3 with calendar link.
  6. Step 5, Post-demo nudge: 24 hours after the demo meeting timestamp, send Template 5.

Turn on stop-on-reply at the sequence level. Toggle spintax on for every template. Save as draft.

Before you go live, run a dry run with only yourself as a recipient. Confirm every step fires, every merge variable resolves, every spintax variant looks human. Five minutes of dry-run now saves an embarrassing "Hi , welcome to !" sent to 500 strangers.

Step 8: Launch and monitor

Budget: 2 minutes. Flip the sequence from Draft to Active. The job worker polls the database every 5 seconds, picks up due steps, and sends them through your configured rate limiter.

Watch three places in the panel for the next 30 minutes:

  • Sequences > Active > (your sequence) > Live progress, showing queued vs sent vs replied vs failed counts in real time.
  • Inbox: every reply lands here with the contact's pipeline stage badge and the sequence step they replied to.
  • Analytics > Outreach health: surfaces any flood-wait events, account-level send rates, and the per-step reply rate so far.

A healthy first hour: 5-10 sends, 1-3 replies, zero failures. If you see failures, the most common causes are: the contact's privacy settings block messages from non-contacts (no fix, skip them), telegram_username is wrong (data quality), or rate limits are still warming (wait one hour and retry).

Common pitfalls

  • Launching at midnight: Telegram-time matters. If your audience is in the US Pacific timezone, launching from a server in EU at 3 AM Pacific is fine; the rate limiter spreads sends across the day. But your replies will pile up while you sleep.
  • No assigned owner: if no rep is set as the contact owner, replies route into a generic "unassigned" tray and may be missed.
  • Forgetting to verify the dry-run: always confirm at least one full sequence-through-completion before sending to real contacts.

Your Telegram CRM is live. The next 30 days are about iterating: tighten your templates based on reply data, refine pipeline probabilities based on actual conversion rates, and add a second sender account around day 14 to double your reach without doubling your risk.

Manual outreach vs CRM Solid sequences

Same goal, different operating cost. The numbers below are based on a typical 250-DM-per-week cadence.

CapabilityCRM SolidRecommendedManual DMsGeneric CRM (no Telegram)
Setup
Time to first sent DM
20 min5 min (one DM)2+ hours
Encrypted MTProto session
CSV bulk import
email only
Outreach operations
Multi-step drip with stop-on-reply
email only
Spintax variation
Automatic flood-wait handling
Time to send 250 personalized DMs
~13 hrs paced (hands-off)~8 hrs typingnot possible
Pipeline & reporting
Auto pipeline-stage on reply
manual
Per-step reply-rate analytics
Weighted forecast

Compared with manual Telegram outreach (typing every DM by hand) and a generic CRM (HubSpot, Salesforce, Pipedrive) without native Telegram integration.

“I followed this guide on a Tuesday afternoon. By Wednesday morning we had 47 fresh replies in the inbox and three demos on the calendar. Twenty-three minutes of setup, end-to-end.”
Marek Levchenko
Founder · LedgerNova

Setup FAQ

Eight questions we get every week from new operators going through this guide.

Yes. CRM Solid does not throttle the number of MTProto sessions on any plan; what scales with plan tier is the daily message ceiling. You can connect a second sender on day one, distribute your outreach load between them, and stay well under per-account rate limits.
No. The first time you authenticate a session you confirm the SMS code Telegram sends; from then on the encrypted session file lives on our server and is reused on every reconnect. You only re-authenticate if you log the session out from a Telegram client or change your 2FA password.
Stop-on-reply is on by default. The moment the contact sends any message, CRM Solid pauses every queued step in their drip, moves the contact one stage forward in the pipeline (configurable), and pings the assigned rep in the unified inbox. No human ever sees a robotic follow-up after a real reply.
Sessions are persisted on disk in our EU primary region (Frankfurt) inside an encrypted volume that is itself rotated weekly. Sessions are never written to logs, never appear in support tickets, and are scrubbed within 30 days of an account being deleted.
No. CRM Solid is a web app. The only download you might want is the optional desktop helper for offline drafting and notifications, which is opt-in and unrelated to the core CRM workflow.
A typical first week for a one-sender setup: 250 outbound DMs (paced at 20 per hour), a 30-45% reply rate, 15-25 booked demos, and zero flood waits. If you see flood waits in week one, your rate limit is set too aggressively for a new account.
Yes. Export your contacts and deals as CSV from HubSpot, Pipedrive, Notion, Airtable or a Google Sheet, then map columns inside CRM Solid. Standard fields (name, phone, email, Telegram username, stage, owner) are auto-mapped; custom fields you map once and they stick.
Twenty minutes if your contact CSV is clean and you already know your sales stages. Thirty to forty-five minutes if you need to think through pipeline stages, write templates from scratch, and tune your rate limits to your account age.
Ready to ship

Got 20 minutes? Get your Telegram CRM live today.

A 14-day trial gives you the full feature set, every template, and every integration. The guide above plus a fresh workspace gets you to your first reply by lunch.

Trusted by 2,500+ teams · GDPR-ready · 99.95% uptime

We value your privacy

We use cookies to improve our site, analyze traffic, and personalize ads. You can accept all, reject non-essential, or customize your choices. Read our Cookie Policy.