Install any skill in seconds. Free to start, no credit card required.
Get Started Free →telegram-setup
Connect a Telegram bot to the Vellum Assistant gateway with automated webhook registration and credential storage
Passed 3 of 8 test cases with the skill, and 4 of 8 without it.
and 1 more in the full report
4 fixed4 passed either way8 still failing6 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 4 test cases the skill fixed. Same model, same prompt, with and without the skill.
Give me the final summary. The bot username is MyTestBot. Delivery check returned passed: true and indeterminate: true. Identity is verified.
| Checked | Without skill | With skill |
|---|---|---|
| States in the summary that delivery is stored but not yet confirmed | Missed | Passed |
The instructions your model reads when the skill loads.
You are helping your user connect a Telegram bot. The wizard collects the token, the rest of setup runs automatically, and you confirm it worked.
DO NOT use this skill for runtime Telegram operations (sending, replying, reading). That is the separate messaging skill.
Saving the token in the wizard triggers all of this:
| Step | Runs |
|---|---|
Validate the token against getMe | Automatically, on save |
Store telegram.botId and telegram.botUsername | Automatically, on save |
| Generate the webhook secret | Automatically, on save |
| Register the platform callback route | Automatically, on save |
Tell Telegram where to send updates (setWebhook) | Automatically, after the save |
Install the bot commands (setMyCommands) | Automatically, after the save |
⚠️ CRITICAL: Never run setWebhook, setMyCommands, or assistant webhooks register yourself, and never generate the webhook secret. reconcileTelegramWebhook is idempotent and already runs on the credential change the save produces. Doing it by hand races it, which is how a webhook ends up pointing somewhere stale.
Your job is Steps 1 to 5 below: open the wizard, confirm delivery, link the user's identity.
⚠️ CRITICAL: If you got here from a wizard-closed notification, or the user just said they finished setup, go straight to Step 3. A successful save leaves both credentials in place, so this step would find them and read it as "already configured" at exactly the moment that means the opposite. Stopping there skips the delivery check and the identity verification, which is the failure this flow exists to prevent.
Otherwise, run assistant credentials list --search telegram (via the bash tool). Note whether bot_token and webhook_secret are present.
assistant channels get telegram --json
and read webhook_delivery.
passed: true, no indeterminate → already set up and confirmed.
Offer to show status or reconfigure, and stop here unless the user wants a
reset.passed: true with indeterminate: true → do NOT stop here. Nothing
is broken, but nothing is confirmed: the registration record is missing, or
Telegram was unreachable just now. Stopping would skip both the recovery in
Step 3 and the identity verification in Step 4. Go to Step 3 and re-check.passed: false → configured but not delivering. This is what the
Channels page shows as incomplete, and it is why the user may have asked. Gotest cases passed, vs 4 / 8 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.