Telegram
The quickest channel to get running: create a free bot with @BotFather, paste one token into the org portal, and your team can drive their CAD from their phones.
New to channels? Read Channels & Messaging first for the overall picture. This page is the complete Telegram walkthrough.
The connection at a glance
Telegram is the only channel where CADCoPilot calls out rather than being called: our server long-polls Telegram for new messages. Nothing has to be opened towards your network, and no webhook is registered with Telegram.
Step by step
IT admin Create the bot in Telegram
There is no console to log into and nothing to buy — bots are created by chatting with Telegram's own bot. Anyone with a Telegram account can do it, but keep the resulting token treated as a company secret.
-
In Telegram, search for @BotFather (the one with the blue verified tick) and open a chat with it.
-
Send
/newbot. -
BotFather asks for a display name — what users see at the top of the chat. Something like Acme CAD Copilot.
-
BotFather then asks for a username. It must be unique across all of Telegram and must end in
bot— for exampleAcmeCadCopilotBot. This becomes the bot's handle, @AcmeCadCopilotBot, and the address your users will search for. -
BotFather replies with the token. It looks like this:
8123456789:AAF3xQ2m-Kd7bN0pV5rT9yLwZs1cE4hJ6uQIts shape is fixed: the bot's numeric id, a colon, then a ~35-character secret. Copy the whole thing including the digits before the colon. Treat it like a password — anyone holding it can read and send every message the bot sees.
-
Optional but recommended. Still in BotFather:
/setdescriptionand/setabouttextso users see what the bot is for, and/setuserpicfor the company logo./setprivacycan stay at its default — CADCoPilot only ever uses direct chats with the bot, not groups.
Org admin Save the token in the org portal
-
Sign in to the org portal as an organization admin and open Messaging Channels.
-
In the Telegram panel, make sure Enabled is ticked (it is by default) and paste the token into Bot token.
The Telegram panel. One field: the bot token from @BotFather. -
Leave User self-connect ticked if you want people to link their own Telegram accounts from the CAD add-in or tray Agent. Untick it if linking should be handled another way — the Connect buttons then grey out and the server refuses link requests.
-
Press Save. The page confirms the save and reminds you that a newly added bot starts working after the messaging service restarts.
-
Ask for the server to be restarted (or wait for the next restart) before testing. This is the one Telegram gotcha worth knowing — see below.
End user Connect your own Telegram
One click, once. You need to be signed in to CADCoPilot from the CAD add-in on the PC you want to drive.
-
Open Settings → Messaging Channels in the CAD add-in, or the tray Agent status window. Telegram should read enabled.
Settings → Messaging Channels. Telegram shows enabled/connected status and a Connect button. -
Press Connect next to Telegram. CADCoPilot asks the server for a one-time code and builds a deep link that carries it:
https://t.me/AcmeCadCopilotBot?start=3f9c1a7e5b2d4c8e9a0f6b1d7e2c5a48The code is 32 hexadecimal characters, valid for 30 minutes, and can be used once.
-
Confirm the prompt. Your browser hands the link to the Telegram app, which opens the company bot with a Start button. Press it.
Behind the scenes that sends
/start <code>to the bot, which is how the server learns that this Telegram account is you. -
The bot replies:
“Linked! You can now drive your CAD from here.”
Back in Settings, press Refresh status — Telegram now reads connected.
-
If the deep link does not open (for example on a locked-down PC), the dialog still shows the code. Open the bot manually in Telegram and send:
/start 3f9c1a7e5b2d4c8e9a0f6b1d7e2c5a48Sending just the bare code as a plain message works too.
End user Your first test message
Make sure the tray Agent is running and shows a connection to the server, then send the bot something small and verifiable:
Then something that actually builds geometry:
CADCoPilot launches your CAD application if it is not open, creates the part, and replies in the chat. Ask it to prove the result rather than trusting the wording of the answer:
Exact values
| Where | What goes in it | Format / example |
|---|---|---|
| Org portal → Messaging Channels → Telegram → Bot token | The token @BotFather gave you | 8123456789:AAF3xQ2m-Kd7bN0pV5rT9yLwZs1cE4hJ6uQ — digits, colon, secret |
| Telegram side | Nothing to configure | No webhook URL, no callback, no allow-list. CADCoPilot polls Telegram outbound. |
| User link deep link | Generated for you by Connect | https://t.me/<botusername>?start=<32-hex code> |
| Link code | Single use, 30 minutes | 32 lower-case hex characters |
Re-saving and rotating the token
- Blank means keep. Once a token is stored the field shows (stored) and a masked placeholder. Saving the page with that field left blank keeps the existing token — so you can change the Teams or WhatsApp settings without retyping the Telegram token.
- To rotate: get a new token from BotFather (
/revokethen/token), paste the new token over the field, save, and have the server restarted. The old token stops working the moment BotFather revokes it, so do this in a maintenance window. - You cannot clear a token by blanking the field — blank keeps the old value. To take the channel out of service, untick Enabled and save.
Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
| The bot never answers anything, not even the link prompt. | The token was saved after the server started, so no poller exists for it. | Restart the CADCoPilot server. This is the single most common Telegram problem. |
| Still silent after a restart. | The token is wrong, was revoked, or the Telegram panel is not ticked Enabled. | Re-copy the token from BotFather (/token), paste it fresh, tick Enabled, save, restart. |
| Messages arrive erratically — some answered, some not. | The same bot token is being collected by something else as well; Telegram gives each update to only one collector. | Use a dedicated bot for CADCoPilot. Stop any other tool or test script using that token. |
| “This account isn't linked to CADCoPilot.” | This Telegram account has never completed the /start <code> handshake. |
Press Connect in the add-in or tray Agent and open the deep link. |
| Pressing Start in Telegram did nothing — still not linked. | The code expired (30 minutes), had already been used, or Telegram opened the bot without the start payload. |
Press Connect again for a fresh code and send /start <code> manually in the chat. |
| The Connect button is greyed out. | Your org admin has turned off User self-connect, the channel is not enabled, or you are not signed in from the add-in. | Sign in from the CAD add-in first; then ask your org admin to re-enable self-connect. |
| Someone else's phone is driving your CAD. | Your one-time code was used from their Telegram account, so their Telegram id is linked to your CADCoPilot user. | Have that person press Connect in their own CADCoPilot and start the bot with their code — the Telegram id is repointed to them. Never paste a link code into a shared chat. |
| “No active CADCoPilot agent found on your PC.” | The tray Agent is stopped, or lost its connection after a server restart and its retries ran out. | Open the tray Agent, press Stop then Start, and confirm it reports connected. Your Telegram link survives; only the workstation connection has to be re-made. |
| A long reply arrives in several messages. | Not a fault — replies are split into 4000-character parts. | Ask for shorter answers, or read the full transcript in the CAD chat panel. |
Security
- The bot token is encrypted at rest with a key scoped to your organization, and is decrypted only inside the server when it polls Telegram or sends a reply. It is never sent to a workstation.
- The portal never shows it back. After saving, the field shows (stored) and a masked placeholder; only an organization admin (or a CADCoPilot platform admin) can replace it.
- Anyone can message the bot — that is how Telegram works. But an unlinked sender only ever gets the linking prompt back; no CAD command is executed and no workstation is contacted.
- Link codes are single-use and expire in 30 minutes. Treat them like a password: a code pasted into a group chat lets whoever uses it first drive your CAD.
- To stop new links across the company, untick User self-connect and save. To take Telegram out of service, untick Enabled and save — the poller stops sending and receiving on the next restart, and outbound replies stop immediately.
- To revoke one person's link, the reliable route today is to have the correct user re-link that Telegram account to themselves (which overwrites the link). There is no self-service “disconnect” button yet — for a permanent removal, ask CADCoPilot support to delete the identity link.
- If a token leaks, revoke it in BotFather immediately (
/revoke) — that invalidates it everywhere at once — then paste the replacement into the portal and have the server restarted.
Related
- Channels & Messaging — the shared architecture and the tray Agent
- WhatsApp setup · Microsoft Teams setup
- Verifying Results — always confirm geometry, never trust the wording of a reply