Bot or personal account?
Each Telegram instance on Notifique uses one of two modes. You cannot switch on the same line, if you need to change, create a new one.When to use a bot
- Support, OTP, confirmations, and explicit automation
- Flows aligned with the documented Bot API
- You want customers to talk to @mybot, not a person
When to use a personal account
- A bot does not fit the use case (legacy flow, acting as a person in a specific chat)
- You accept terms (
acceptUserTerms: true) and the risk of ToS violations if you abuse it
Golden bot rule: the user speaks first
On the Bot API, Telegram blocks cold DMs from the bot to users who never interacted.- The recipient opens the bot and sends
/start(or taps Start). - Notifique records the chat (webhook +
GET /v1/telegram/chatslist). - Then you send with
chatIdor@usernameinto.
Groups and channels have different rules (bot may need to be admin or member). For 1-to-1 DM, treat
/start as part of your product onboarding.Bot mode in detail
How to connect- Create the bot in @BotFather and copy the token.
POST /v1/telegram/instanceswithmode: "BOT"andbotToken.- Notifique validates the token and configures the bot webhook.
- Status ACTIVE, you can send (to users who already started a chat).
- Predictable inbound (
telegram.received) - Chat list (
GET /v1/telegram/chats) - Location sends (
type: location) - Clear identity for end users
- Cannot cold-start a chat without
/start - Features limited to Bot API surface
- Not your personal account
Personal account mode in detail
How to connectPOST /v1/telegram/instanceswithmode: "USER"andacceptUserTerms: true.- The response includes the QR in
connection(like unofficial WhatsApp), showbase64or openloginUrl. - Optional:
generateShareableLink: trueon create, orPOST .../connect-page/enablelater, to sharehostedUrlwith someone else. - QR expired?
GET /v1/telegram/instances/:id/qror webhooktelegram.instance.qrcode. - Alternative:
POST .../sessionwithsessionString(useful with 2FA). - Retrieve or invalidate the link:
GET/POST .../connect-page(status, enable, rotate-secret, disable).
Integrating API-only (no browser on your server)? Use
generateShareableLink: true on POST /v1/telegram/instances or enable later with POST .../connect-page/enable. Details in Quick Start.- 2FA password login via QR may not work, use manual session.
- 409 when requesting QR: another login flow already open (e.g. dashboard SSE).
- While PENDING, sending does not work.
A personal account is like lending your identity to the system. Use only when a bot does not fit.
Full comparison
* More freedom does not replace opt-in and ToS.
Webhooks by mode
List and payloads: Webhook events.
Next steps
- Quick Start: Bot and Personal account tabs
- Introduction: channel overview
- API Key scopes

