USER GUIDE — ENGLISH

Every feature.
Every button. Zero guesswork.

voipbot places automated verification calls over real phone lines and gives you a live control panel inside Telegram. This guide walks through the whole thing — from your first /start to advanced in-call controls.

📞 Live call control 🌍 EN + FR voices 🆓 Free test calls Crypto payments

voipbot is a Telegram bot that calls any phone number and plays a verification scenario with a natural AI voice. While the call runs, you get a live panel in Telegram: you see every key the recipient presses, you can play extra messages, ask for keypad input, put the call on hold, transfer it to a second number, or listen in live.

Typical flow: pick a script → enter the number → the bot calls → the recipient hears the verification message and presses 1 → they type the code on their keypad → you see it live and accept or decline.

#What you need

  • A Telegram account — that's it. No app, no install.
  • An active subscription for unlimited calls, or use your free calls to test (see section 11).
The whole bot is menu-driven. If you're ever lost, send /start — the main menu always comes back.

Open the bot and send /start

The main menu appears: subscription status, free calls left, your caller ID, and the selected language.

Join the channel (for free calls)

Free calls are reserved for channel members. The bot checks membership when you tap 📞 Start call — join first, and you won't have to redo anything.

Pick your language

Menu → 🌍 Language. English and French voices are available; the main menu always shows your current voice.

Start a call

Tap 📞 Start call, choose a script, enter the number, fill in the details — the call launches and the live panel takes over.

The channel check happens at the entrance of the call flow. If you haven't joined, you get a "Join the channel" button right away — before typing anything.

From the main menu, tap 📞 Start call. The bot walks you through a short form:

Select a script

Built-in scripts are unlimited and always available. Your custom scripts appear below them. Scripts follow your chosen voice language — a script created in French shows when your voice is French.

Enter the phone number

11 digits, no spaces, no "+". Example: 14161234567

Fill the placeholders

Each script asks for its details one by one (name, bank, amount…). The AI voice says them naturally during the call.

Confirm and launch

Review the summary, tap confirm — the call starts and the live panel appears. Every step from here happens in that panel.

Once the recipient answers, they hear the verification message and are asked to press 1. The panel then switches to the code entry stage and shows everything they type, in real time.

If the recipient doesn't press anything for a while on a press-1 script, the call hangs up automatically (dead line / voicemail protection). Replays and reminders keep real recipients engaged.

Seven ready-made scenarios, unlimited use, each with its own placeholders:

ScriptScenarioPlaceholders
🪪 VBV SMSClassic bank verification — asks for the OTP code sent by SMSfullname, bank, last4digit, merchant, amount
🔔 VBV NotifNotification-style call — no code expected, message onlyfullname, bank, last4digit, merchant, amount
📲 Apple/Samsung PayWallet card enrollment verificationfullname, bank, company, last4digit
🔁 Reset Banklog PswdPassword reset verification callfullname, bank
💻 Account loginLogin attempt verificationfullname, company
💳 Card CaptureCollects card number, expiry and CVV step by stepfullname, bank
🪤 Card Capture + OTPCard capture followed by the OTP stepfullname, bank
Placeholders are the variables the voice pronounces — you fill them when starting the call, or inline with /call.

Menu → 📝 Script option➕ Create script. An 8-step wizard builds your own scenario: name, verification text, code request text, success and failure messages, mechanisms, and language.

#French + English = one script

At the end of the wizard you can create both language versions in one go — same name, texts asked twice. The two versions count as a single script against your limit (10 max) and appear grouped in your script list:

📝 Your Scripts (2/10)

📂 nonono 🇬🇧 🇫🇷
📂 teston 🇬🇧 🇫🇷

Tap a grouped script and you get one button per version — 🇬🇧 EN or 🇫🇷 FR — for details or deletion. During calls, the picker automatically shows the version matching your voice language, and /call by name resolves to it too.

#Mechanisms

StepOptionsBehavior
VerificationPress 1 (default)Recipient confirms by pressing 1 — includes the no-input hangup protection
Message onlyJust plays the message and moves on — no key expected, no auto-hangup
SkipNo verification step at all
Code requestKeypad input (default)Recipient types the code; panel shows ⌨️ Key pressed live
Message onlyAnnouncement-style request, nothing to type
Writing tip: the wizard shows your text in monospace so you can tap to copy, translate it, and paste the translation for the second language.

The panel is your cockpit. It refreshes about once a second and always reflects the current state of the call — every new step replaces the previous one.

📞 Live Call Panel
To: 1416•••••67

Status: waiting for keypad entry
Stage: ⭕ Button: debit pin

⌨️ Key pressed: 685

🎹 DTMF: 548769 | 685
  • Status — where the call is (ringing, waiting for press 1, OTP input, on hold…).
  • Stage — the current step: script stage or the exact button playing.
  • ⌨️ Key pressed — the live keypad entry of the current step only. It clears on decline or when a new step starts — it never stacks.
  • 🎹 DTMF — the raw key log of the whole call, grouped by step with " | " (e.g. 1 | 558456 | 685).

#Accepting the code

On OTP scripts, an ⚡ SEND OTP NOW alert button appears a few seconds after the request audio starts — tap it the moment the recipient says they received the SMS. When the entry looks right, tap ✅ Accept (success message, call ends) or ❌ Decline (retry message, recipient re-types).

#End of call

The final panel shows ⌨️ All key pressed — every key of the call, grouped per step with " | ". Nothing gets lost between steps.

While the call is on hold, the SEND OTP alert stays hidden — no false alarms while the recipient hears music.

Mid-call, tap ⭕ Custom Button to play extra requests to the recipient. Eleven presets are built in, each with its own dedicated audio message in English and French:

ButtonAsks for
🫆 sinSocial insurance number
👶 dobDate of birth
📟 debit pinDebit card PIN
🏷️ acc numAccount number
💳 ccCredit card number
💳 expCard expiration date
💳 cvv3-digit security code
🪪 DL#Driver's license number
🪪 DL startDriver's license issue date
🪪 DL expDriver's license expiration date
🪪 DL refDriver's license reference number

You can also create your own buttons (Menu → 📝 Script option → manage buttons) with three behaviors:

  • ⌨️ Keypad input — the recipient types an answer and finishes with #. A "we're verifying" message plays, then you Accept or Decline from the panel.
  • 1️⃣ Press 1 — the recipient simply presses 1 to confirm.
  • 💬 Message only — plays your message in a loop until you decide. Nothing to type.
If the audio ends and no key is pressed within ~10 seconds, keypad and press-1 buttons replay automatically (up to 3 times). You stay in control — the bot never hangs up on its own here.
Each new button overrides the previous step: its audio replaces whatever was playing, and its entry gets its own group in the DTMF log.

#⏸ Hold

Puts the recipient on music-on-hold. The button always mirrors the real call state — it flips to ▶️ Play when the call is actually holding (including right after the recipient presses #). Holding during any message stops that audio; resuming restarts the current message loop. Pressing any button while on hold automatically un-holds and plays the new audio.

#🔀 Transfer call — subscribers

Bridges the call to a second number: the recipient stays on line 1, your number joins on line 2. You get a discreet "2nd line answered" notice with its own hang-up button for that leg. A transferred call gets extra time on top of the normal limit.

#🎧 Listen Live

Streams the call audio so you can hear exactly what the recipient hears, in real time.

#📴 Hang Up

Ends the call instantly. The final panel shows the complete key log, and the call recording is delivered right after (if enabled).

Hold and Transfer are subscriber features. On free calls they appear locked (🔒) — tapping them explains how to unlock.

The number displayed on the recipient's phone. Two modes:

  • Default pool — if you don't set anything, a random number from the bot's default list is picked for each call.
  • Custom — Menu → 🆔 Set CallerID (or /setcallerid): 11 digits, optional display name. Every call then shows your number.
If a call fails instantly without ever ringing, the carrier probably blocked your caller ID. Change one digit and try again — the failure panel reminds you of this.
Toll-free numbers don't always go through. A regular geographic number works best.

Skip the form entirely — one message launches the call:

# syntax /call <script id or name> <number> [key=value ...] # example — VBV SMS to a real number /call default 15145551234 fname=John bank=RBC merchant=Amazon amount=49.99$ # custom script by name (multi-word names work) /call my bank script 14161234567 fullname=John
  • The script accepts its ID or its name — the bot detects the phone number and splits the rest automatically.
  • For FR/EN scripts, the name resolves to the version matching your voice language.
  • Every call ends with a 🔁 Quick Call line you can tap to copy — instant redial with the same parameters.

New users get free calls to test everything. The counter is on the main menu (🆓 Free call: 2/2 style).

  • Free calls require joining the channel — the bot checks when you tap Start call, before you type anything.
  • Free calls are shorter (5 minutes max) and Hold/Transfer stay locked.
  • Everything else works: all scripts, all buttons, the full live panel.
Already joined but still blocked? Leave and rejoin the channel, then tap Start call again — the check is instant.

Menu → 💎 Buy shows the plans. Payment is by crypto (BTC, ETH, USDT and more):

Pick a plan

Choose the duration that fits — the price and what it unlocks are shown upfront.

Pay the invoice

You get a crypto address and exact amount. Send the payment — activation is automatic once confirmed on-chain.

Track it

🧾 Invoices lists your payments and their status. If activation takes too long, send your invoice ID to support.

Subscribers get unlimited calls, longer call duration, Hold, Transfer, and priority everything. Have a promo code? Use /redeem.

  • 📜 History — every past call with its final status and captured keys, plus per-number history.
  • 🎙 Recordings — each call is recorded and delivered to you in Telegram when it ends, then removed from the server.
  • Final panel — the end-of-call summary keeps the complete key log (All key pressed), grouped step by step, and a tap-to-copy redial command.

#The recipient hears nothing when I press a button

The previous audio is still finishing or the call is on hold — every new action overrides the current one, so just press the button again and watch the Stage line: it always shows what's actually playing.

#The call hangs up after ~30s with no key pressed

That's the dead-line protection, and it only runs on scripts with a press-1 verification. Message-style scripts never auto-hang-up. If a real recipient needs more time, any key press disables it for the rest of the call.

#I stacked several /start menus — which one is live?

Always the last one. Whatever you do next (start a call, join prompt, menus) follows your most recent /start, even if you tap a button on an older message.

#Can two scripts share the same name?

That's exactly how FR/EN pairs work: same name, two languages, they count as one script and appear grouped. Tap the group to pick a version.

#Numbers format cheat sheet

  • Phone numbers: 11 digits, no "+", no spaces — 14161234567
  • Caller ID: same format, one digit change is enough to dodge a carrier block.
Golden rule: the live panel never lies. Status, Stage, Key pressed and the DTMF log always describe the call as it is right now.

voipbot user guide — open the bot, send /start, and make your first call in under a minute.