VICIfast
Operations

How to add many phones at once in VICIdial

Loop the add_phone API over a list of extensions to create dozens of phones at once, then run one refresh to make them all live.

VICIfast Support
··2 min read
How to add many phones at once in VICIdial

Adding fifty phones by hand through the admin screen is slow and error-prone. The faster way is to loop the add_phone function over a list of extensions and let a script do the typing. Because the Non-agent API is just HTTP, a few lines of shell or any language with an HTTP client can create a whole bank of phones in seconds.

There is no dedicated bulk endpoint — bulk is just add_phone called repeatedly. That sounds basic, but it is exactly why it scales: each call is independent, so you can run them in a loop and check each result on its own.

Build one row, then loop

Each add_phone call needs the full required set — extension, dialplan_number, voicemail_id, phone_login, phone_pass, server_ip, protocol, registration_password, phone_full_name, local_gmt, and outbound_cid. Put your varying values (usually the Extension and login) in a CSV or a counter, and hold the constants like server_ip and protocol fixed.

  1. Generate the extension and phone_login for each phone, keeping every login unique on the server.
  2. Fire one add_phone request per row and capture the response line.
  3. After the whole batch, call server_refresh once so every new phone goes live together.
flowchart TD
  A[Read list of extensions] --> B[Next row]
  B --> C[Call add_phone]
  C --> D{Success}
  D -->|No| E[Log error and continue]
  D -->|Yes| F[Record login]
  E --> G{More rows}
  F --> G
  G -->|Yes| B
  G -->|No| H[Call server_refresh once]
Make the loop idempotent. add_phone returns PHONE LOGIN ALREADY EXISTS when a login is reused, so a re-run will skip duplicates instead of erroring out the batch — as long as your script treats that line as a skip, not a hard failure.

Check, do not assume

Because each call returns a plain text result, parse it per row. A success line ends with the new login, IP, and protocol; an error line names the exact problem — a bad timezone, a server that does not exist, or a duplicate login. Log the failures and re-run just those rows rather than the whole list. Calling server_refresh once at the end is far better than per-row, since a single refresh rebuilds the Conf file for every new phone at once.

Get one phone working manually before you trust a loop — the field rules are in the required-fields reference, and the full picture is in the phones and aliases guide.

VICIfast gives you a ready server so the API is there the moment you need it — see pricing.

About VICIfast LLC

VICIfast LLC operates a managed VICIdial hosting + BYOI service for outbound and inbound call centers. We run the dialers, the carriers, the recordings pipeline, and the compliance plumbing so operators don’t have to.

Citing this article

VICIfast Engineering. “How to add many phones at once in VICIdial”. VICIfast LLC, June 26, 2026. Retrieved from https://vicifast.com/blog/how-to-bulk-add-phones

Have questions?

Related posts

You might be interested in

VICIfast newsletter

Liked this? Get the next one in your inbox.

We ship the kind of stuff you just read — concrete, numbers-first, no drip. One email when a new post goes live. Unsubscribe in one click.

Comments

Comments are reviewed before they appear. We never publish your email.

No comments yet — be the first.