Telegraft

Bot type

Stop chasing the fourth document by email

A Telegram document collection bot walks a client through a checklist, accepts photos and files in the chat, checks each one is legible and the right type, and reminds them about what is outstanding. It removes the email chase. It cannot verify that a document is genuine.

Document collection bots: price, timeline and limits

Fixed price
$4,200 USD
Delivery
18 calendar days from kickoff
File transfer
Download up to 20 MB, send up to 50 MB
Image fidelity
Photos are compressed; documents are preserved byte-for-byte
File persistence
File ids are stable, the files are not guaranteed to persist
Authenticity
A bot cannot verify a document is genuine or unaltered

As of 2025-10-01, Telegram Bot API 13.4

The problem this solves

Onboarding in professional services — company formation, visa processing, banking, insurance, conveyancing — is mostly a document collection problem wearing a legal costume. The advice takes an hour. Getting the passport copy, the Emirates ID, the trade licence, the tenancy contract and the signed engagement letter takes three weeks, and it takes three weeks because it is conducted by email.

Email is a terrible medium for a checklist. There is no shared state, so both sides maintain a private mental list that diverges. Attachments arrive detached from context, named IMG_4471. Nobody knows whether the last message was a reminder or an answer to one. And the client experiences the whole thing as being nagged, which is exactly what it is.

A chat with a persistent checklist changes the shape of the interaction. The client can see what is outstanding without asking, each upload attaches to the item it satisfies, and the reminders come from a bot rather than from a person the client would rather not disappoint. Firms that move this to a structured flow typically find the bottleneck was never client willingness — it was that nobody could remember what was still missing.

How the build runs

  1. A matter is opened and the checklist is generated

    Your system, or a staff command, creates the matter with the document set required for that service. The client gets a link that opens the bot already scoped to their matter.

    deep-link
  2. The client sees what is outstanding, always

    A single command shows the full list with each item ticked or open. Removing the ambiguity about what remains is most of the reason these flows finish faster than email.

    commands
  3. Uploads attach to the item they satisfy

    The client taps the item then sends the photo, so the file arrives already labelled. Reconstructing which attachment was which is the work that makes email collection expensive at the receiving end.

    file-transfer
  4. Each upload is checked before it is accepted

    Is it an image or a PDF, is it large enough to be legible, does an expiry date appear where one is expected. Rejecting a blurred passport page immediately saves a round trip that would otherwise take two days.

    file-transfer
  5. Reminders run until the item arrives, then stop

    Per-item rather than per-matter, so a client with one outstanding document is not reminded about the four they already sent. That distinction is why these reminders are tolerated and blanket ones are muted.

    broadcast
  6. Completed matters hand off with everything attached

    Files land in your document management system or a structured folder, named by matter and item rather than by camera roll. The person picking the matter up next does not re-derive anything.

    webhook

What Telegram will and will not let you do

A bot can download files up to 20 MB and send files up to 50 MB.

Phone photos are comfortably inside the download limit. A large scanned PDF from a client's office scanner can exceed it, and the bot tells them so rather than failing silently — which is the difference between a small annoyance and a lost week.

Telegram compresses images sent as photos, but preserves files sent as documents.

A compressed passport scan can be unreadable at the point it matters. The bot asks for documents rather than photos where fidelity is legally relevant, and explains why.

File identifiers issued by Telegram are stable but the files themselves are not guaranteed to persist indefinitely.

Anything you need to keep is copied to your own storage on receipt. Treating Telegram as a document archive is a compliance problem waiting for an audit.

A bot cannot verify that a document is authentic or unaltered.

It checks type, legibility and presence. Verification remains a human or a specialist KYC provider's job, and any process built on the assumption the bot verified something is built wrongly.

Telegram provides no way to force-delete a file from a user's own chat history.

The client retains their copy indefinitely. Retention policy applies to your storage, and your privacy notice has to describe the situation as it actually is.

When not to build this

  • Your documents require wet signatures or notarisation. The bot will collect a photo of a signed page, which is not the same thing, and building the process around it will create a gap at the worst moment.
  • You are regulated in a way that mandates a specific identity verification vendor. Collect through that vendor; a general document bot in front of it adds a step and a second copy.
  • Your matters need fewer than three documents. The checklist overhead exceeds the chase it removes.
  • Nobody will maintain the checklist templates. A document set that has drifted from what the authority actually requires produces confidently collected, useless files.

What it runs on

ComponentVersionWhy
grammY1.45Bot framework, with file handling and per-matter conversation state.
Cloudflare WorkerscurrentRuntime, with cron-driven per-item reminders.
Cloudflare R2currentDocument storage, with lifecycle rules matching your retention policy.
Cloudflare D1currentMatters, checklists, item state and the reminder schedule.
TypeScript5.9Strict mode, with checklist templates typed so a missing item name fails the build.

Questions people ask before committing

Can it tell whether a passport copy is genuine?

No, and no general document bot can. It checks that the file is the right type, is legible, and appears to contain what was asked for. Authenticity is a human judgement or a specialist KYC provider's job, and designing a process that assumes otherwise is the real risk.

Where do the files actually end up?

In your storage — Google Drive, SharePoint, Dropbox or R2 — named by matter and checklist item. They are copied out of Telegram on receipt rather than left there, because Telegram is not a document archive and treating it as one fails an audit.

How often does it remind people?

On a cadence you set, per outstanding item, and it stops the moment the item arrives. Per-item rather than per-matter is the detail that keeps reminders tolerable — nobody is chased about documents they already sent.

What if a client sends a photo too blurry to read?

It is rejected immediately with an explanation, while the client still has the document in front of them. Catching it at that moment rather than three days later during review is where most of the time saving comes from.

Can staff see the status of every open matter?

Yes, with a view of what each one is waiting on and how long it has been waiting. That list is usually the first time a firm can see where onboarding actually stalls, which is often not where they assumed.

How does this interact with data protection obligations?

Files are copied to your storage under your retention policy, and the client keeps their own copy in their chat history, which cannot be remotely deleted. Your privacy notice has to state that plainly rather than implying a control you do not have.