Article summary
A practical Telegram bulk number-checking tutorial covering source data, UTF-8 TXT, Registration Check, Excel validation, and CRM import.
The shortest reliable way to check whether phone numbers are registered on Telegram has three steps: prepare a traceable TXT list, run TG Registration Check, and validate the Excel output before importing it into the CRM. Country codes, deduplication order, task choice, and interpretation matter more than the number of buttons clicked.
This tutorial is deliberately limited to registration status. If the business question concerns recent activity, TG User ID, or username, choose a separate Activity task. Those fields cannot be inferred from a registration result.
Three-step map: clean the controlled master → upload UTF-8 TXT with one number per line → validate the Excel columns for phone number and registration status.
Before the file: document why the list may be processed
Record whether the numbers came from a form, order, customer-initiated conversation, event, or another controlled system, and state the current purpose. Registration does not create contact permission or expand the original purpose. Preserve opt-in, opt-out, and deletion requests and apply the laws and platform rules relevant to the business and audience.
The Telegram Privacy Policy explains that a user provides a mobile number to create a Telegram account and describes Telegram’s principles for personal data. That fact does not authorize a business to turn any discovered number into a marketing profile. Data minimization, access control, and retention limits still matter.
Step 1: prepare a valid TXT file
1.1 Freeze an immutable master
Keep internal ID, raw phone, source country, source date, permission scope, and opt-out state in the master. Add a normalized-phone column in a working copy without overwriting the raw value. The ITU-T E.164 international numbering plan defines international number structure; domestic-prefix handling still depends on the official rules of the relevant country.
1.2 Normalize, then deduplicate
| Check | Correct treatment | Common failure |
|---|---|---|
| Country code | Use form country, order address, or verified data | Guessing country from number length |
| Display characters | Remove spaces, brackets, and hyphens | Keeping a name or extension note in the value |
| Domestic prefix | Transform according to the country’s rule | Prepending one code to every local-looking row |
| Duplicates | Deduplicate the fully normalized value | Deduplicating first and missing alternate formats |
| Exceptions | Keep a separate review queue | Forcing a country code and submitting |
1.3 Export UTF-8 plain text
AIPushAI currently accepts TXT only, with one phone number per line. Do not add a header, comma, name, email, customer ID, or note. Excel and CSV can support internal preparation but cannot be uploaded directly.
+447XXXXXXXXX
+1415XXXXXXX
+628XXXXXXXXXX
Every X is a placeholder. Reopen the saved file in a plain-text editor and check for quotes, tabs, blank rows, broken characters, or spreadsheet scientific notation.
Step 2: run TG Registration Check
- Open the AIPushAI Telegram (TG) Number Checker and select Registration Check.
- Upload the prepared TXT and record the file version, unique-number count, creation time, and operator.
- For a new source or country, run a representative sample before scaling to the rest of the list.
The Registration Check Excel output contains phone number and registration status. It does not simultaneously return TG User ID, username, offline time, active days, first or last name, VIP status, or frozen status.
| Question | Task | Main fields |
|---|---|---|
| Is the number registered on Telegram? | TG Registration Check | Phone number, registration status |
| Which supported activity fields are available? | TG Activity Check | Phone, TG User ID, username, offline time, active days, names, VIP, frozen |
| Are activity, picture, age, and gender needed? | TG Gender and Age | Activity fields plus picture URL, age, gender |
| Are skin tone, picture type, and picture count also required? | TG Full Format | The complete 15-field supported schema |
The task must match the question. Full Format is excessive when registration is enough, while Registration Check cannot support a decision that requires activity data.
Step 3: validate Excel and import safely
3.1 Reconcile counts first
| Count | How to calculate | Why |
|---|---|---|
| Source rows | Records selected from the master | Defines task scope |
| Normalized unique rows | Cleaned and deduplicated phones | Should approximate valid TXT lines |
| Accepted rows | Numbers read by the task | Exposes formatting or encoding issues |
| Result rows | Records in the Excel output | Checks delivery completeness |
| Exceptions | Rejected, unmapped, or conflicting rows | Creates the review queue |
If Excel has fewer rows than the unique TXT input, do not fill every missing record as unregistered. Check blank lines, duplicates, malformed numbers, and task exceptions. Unknown and an explicit negative result must remain different states.
3.2 Map fields into CRM
| Excel/task data | Suggested CRM field | Rule |
|---|---|---|
| Phone number | telegram_checked_phone | Match only; do not overwrite phone_raw |
| Registration status | telegram_registration_status | Preserve yes, no, and unknown |
| Task time | telegram_checked_at | Required for every result |
| File version | telegram_check_batch | Supports rollback and audit |
| Permission | contact_permission | Never generated from Excel |
Simulate the import in a staging table or CRM copy. Count successful matches, unmatched rows, one-to-many conflicts, and records that will change. Update production only after review, and preserve the original Excel export as read-only evidence.
A practical example
Consider a cross-border SaaS company organizing contacts who requested a demo during the previous 90 days and selected Telegram for meeting information. Operations filters the CRM by source and permission, retains internal IDs and raw phones, normalizes country codes in a working copy, and exports TXT.
The team runs TG Registration Check and writes the result into telegram_registration_status and telegram_checked_at. Registered contacts remain limited to the meeting-information purpose. Contacts without a returned registration signal continue through the email channel they selected. Registration is never renamed “active,” “high intent,” or “marketing permission.”
Troubleshooting map
| Symptom | Check first | Do not |
|---|---|---|
| Many rows rejected | Encoding, header, hidden characters, country format | Resubmit the same broken file |
| Excel has fewer rows | Duplicates, exceptions, accepted count | Mark everything missing as unregistered |
| Results cannot join to CRM | Normalization rule and internal-ID map | Fuzzy-match by name |
| Business needs usernames | Whether Registration Check was the wrong task | Guess a username from the phone |
| A colleague wants to bulk-message | Permission scope, platform rules, suppression | Treat registration as consent |
Delivery checklist
- Provenance, purpose, and operator are recorded.
- Raw and normalized phone numbers remain separate.
- TXT is UTF-8, headerless, and one phone per line.
- The selected task is TG Registration Check.
- The original Excel is unchanged and every count difference is explained.
- CRM retains status, checked-at date, and batch ID.
- Permission, opt-out, and lifecycle stage were not overwritten.
The result is not a list of “Telegram users who may be contacted freely.” It is a dated channel-state record with a traceable source and task. That distinction makes the output useful without confusing it with identity, permission, or marketing judgment.
