DialScript

DialScript user guide

Everything you need to install DialScript and run your first test call. Trying the free demo? Start with the demo steps. Bought the full version? Start with the full-version steps. The rest of the guide applies to both, and items that differ are tagged Demo or Full version.

Getting started: free demo

The demo places real test calls for you, so there is nothing to set up with a phone provider. It is limited to 15 test calls per demo key and batches of up to 3 scripts.

  1. Get your free demo key at dialscriptapp.com. Enter your email and the key (it looks like DS-XXXX-XXXX-XXXX) appears on the page and is emailed to you. If the email doesn't arrive, check your Junk, Spam or Promotions folder.
  2. Install the demo. Download the installer from the same page and run it. It installs for your Windows account only (no administrator rights) and adds a Start Menu shortcut. Windows may show "Windows protected your PC" because the installer isn't code-signed. Choose More info, then Run anyway.
  3. Start DialScript from the Start Menu and paste your key when asked. You only do this once.
  4. Try a sample. The app comes with two sample scripts and a sample batch in the Production environment. Pick one under Script Selector and click the green Dial button.

About the limits. Single Dials and each script run inside a batch all count toward the 15 calls. The count is kept online with your key, so reinstalling doesn't reset it. When you reach the limit you'll see a message with contact details if you want to keep testing. Calls need an internet connection, and phone numbers are assumed to be US/Canada (+1).

Getting started: full version

1. Install

Run the installer, DialScript-Setup-1.0.0.exe. It installs just for your Windows account (no administrator rights needed), by default into %LocalAppData%\Programs\DialScriptPro, and adds a Start Menu shortcut. Windows may show "Windows protected your PC" because the app isn't code-signed yet. Choose More info, then Run anyway. To uninstall, use Windows Settings → Apps. Your scripts, batches, recordings and settings are kept unless you delete the data folder yourself.

2. Activate your license

The first time you run the app, paste in the license key from your purchase email (or the page you saw after paying) and click Activate. It's checked once and remembered, so you won't be asked again on this computer, and it keeps working offline.

3. Set up Twilio

DialScript uses Twilio to place the calls, so you need your own Twilio account. It takes a few minutes:

  1. Sign up at twilio.com and add a payment method. Trial accounts are call-restricted, so a paid account is needed to place real outbound calls.
  2. Buy a phone number (Console → Phone Numbers → Buy a number). Make sure it supports Voice.
  3. Create a Restricted API key (Console → Account → API keys & tokens → Create API Key → Restricted). Grant exactly:
    • Voice → Calls: Create, Read
    • Voice → Calls.Recordings: List, Read
    • The top-level Recordings resource: Read, List, Delete. The Delete permission lets the app clean up recordings from Twilio automatically after downloading them.
    Save the SID and the Secret. The Secret is shown only once.
  4. Set a spending safeguard. Twilio has no literal spending cap. The real control is Billing → Payment methods → Auto-Recharge. Turn it off, or set a low recharge amount and trigger balance (for example, recharge $10 when the balance drops below $5). That puts a hard ceiling on what the account can spend.
  5. Enter your details in the app. The first time you start DialScript, the Twilio settings screen opens by itself. You can also open it any time from the Twilio settings link at the bottom of the left column. Fill in four boxes:
    • Account SID: starts with AC (top of your Twilio Console dashboard).
    • API key SID: starts with SK, from the restricted key you just created.
    • API key secret: the secret you saved from that key.
    • Your Twilio phone number: the number you bought, such as +15551234567 ((555) 123-4567 works too).
    Click Test connection. DialScript checks with Twilio that it accepts the key, and tells you plainly what to fix if not. Then click Save. You don't need to restart the app.
    Where it's saved: the details are kept in config.json in the install folder, on your PC only. Most people never need to touch it, but you can edit it by hand if you prefer.

Approximate ongoing Twilio costs, from Twilio's published US/Canada rates at the time of writing (check Twilio for current pricing):

ItemApproximate cost
Phone number rentalabout $1.15 per month
Outbound callabout $0.014 per minute
Recordingabout $0.0025 per minute

For a handful of short test calls a day, that is usually a few dollars a month. Because the app deletes each recording from Twilio once it is saved and verified on your PC, you aren't paying for cloud storage either.

4. Make your first test call

Add the number you want to test to the Phone Book, create a script, and click Dial.

Environments

At the top of the app is an Environment selector with Production, Development and Integration. Each keeps its own completely separate Phone Book, scripts and batches, so switching environments is like switching to a different workspace. Demo The sample scripts, batch and phone number are pre-loaded into Production.

Click + Add Environment to create your own, such as "QA" or "Staging".

Phone book

The left side of the app has a Phone Book:

  1. Type a 10-digit number in the Phone Number box. It formats itself as you type.
  2. Optionally add a description, such as "Support Line".
  3. Click + Add Phone Number.

It now appears in the list, and shows up as a suggestion when you start typing that number or its description elsewhere in the app.

Creating a script

A script is a phone number plus an ordered list of steps to run once the call connects.

  1. Under Script Selector, click + New Script. This reveals the Call Target and Step Builder sections.
  2. In Call Target, enter or choose the phone number to dial.
  3. In Step Builder, click + Add Step for each step:
    • Numeric sends touch-tone input (digits, #, *).
    • Voice speaks text aloud.
    • Hang Up ends the call at that point. If a script doesn't end with a Hang Up step, the call ends abruptly right after the last step, so add one if you want a controlled end.
    Each step has its own pause: how long to wait before that step runs. Real IVRs vary a lot in how long their prompts take, so tune the pauses by hand. They aren't automatic. Scripts run on a fixed timeline and do not listen and react to what the IVR says.
  4. Click Save Script, name it, and choose where to save it.

Demo Load one of the two sample scripts from Script Selector to see a working example before building your own. Received a script from someone else? Use Import Script... next to + New Script. See Sharing scripts.

Creating a batch

A batch runs several scripts back to back, one call at a time.

  1. On the right side, click Create Batch.
  2. Select the scripts to include. Demo Demo batches are capped at 3 scripts.
  3. Click Save Batch, name it, and choose where to save it.

Demo A sample batch, "Batch-Test 1", combines the two sample scripts and is ready under Run Batch.To move a batch's file somewhere else, such as a shared network folder, select it under Run Batch and click Change... next to Batch Location. Hover over any location in the app to see its full path.

Running calls

  • Single call: load a script (or build one) and click the green Dial button.
  • Batch: under Run Batch, search for and select a saved batch, then click Run Batch. It dials each script's number in turn and waits for each call to finish before starting the next.
  • Recording: every call is recorded and downloaded when it ends, to the app's data folder or to the folder set under Recording Location. After a single Dial the recording opens for playback (untick Play recording when finished, next to Import Script..., to turn that off). After a batch, the folder opens once at the end.
  • Recording cleanup: once the local file is saved and verified, the recording is deleted from Demo the calling serviceFull version Twilio automatically, so your PC holds the only copy. If saving fails, the online copy is left alone so nothing is lost. If you see a WARNING that a recording couldn't be removed, your local recording is still safe. Full version Check that your API key has Delete permission on Recordings (see setup step 3).Demo Let me know so I can check it.
  • Transcribe Recording (on by default): each call is turned into text in the Status panel and log file, with your script's steps (for example Tester Numeric: 1) placed where they happened. It runs offline on your PC and adds roughly 10 to 30 seconds per call. The very first transcription downloads a speech model of about 140 MB, which needs an internet connection that one time. Untick it to skip transcription, then use Transcribe a Saved Recording... to do it later. Keep the .steps.json file next to each recording; it is what lets a later transcript include your steps. Automatic transcripts can contain mistakes, so the recording is always the source of truth.
  • Logging is on by default, writing to %AppData%\DialScript (demo) or %AppData%\DialScriptPro (full version)\Production\Logs\DialScript-log.txt. Use Change... next to a Log Location to pick another file, or Stop to turn it off.
  • The Status panel, and Batch Status on the right, show what is happening as it runs.

Scheduling batches

Below Batch Status is the Batch Scheduler, which runs saved batches automatically instead of you clicking Run Batch.

Important: it only fires while the app is open. It isn't a background service, so a schedule due while the app is closed doesn't run, not even late when you next open the app. A one-time schedule is switched off and its card shows it wasn't run. A daily or weekly one skips that occurrence and waits for the next. Either way it's noted in the schedule's log. Creating or re-enabling a daily or weekly schedule whose time has already passed today doesn't run it now; it first runs at the next occurrence.

Click + Add Schedule and fill in:

  • Name: whatever helps you recognize it.
  • Select Batch(es): one or more saved batches, run in order.
  • When: Once (a date and time), Daily, or Weekly (a day plus a time).
  • Enabled: on by default. Untick to save it without activating it.
  • Log Location: required, because it runs unattended. Check here afterward to see exactly what happened.

Each schedule is a card showing its Next run time, with Enable/Disable and Delete buttons. Schedules belong to whichever Environment is selected when you create them.

Sharing scripts

Scripts and batches are just .json files, so sharing one means sending the file.

  1. Select the script in Script Selector (or the batch under Run Batch) and note where it's saved. The location is shown under the list.
  2. Copy that .json file and send it any way you normally share files: email, chat, USB drive or a network folder.
  3. The recipient saves it anywhere on their computer and uses Import Script... next to + New Script. It registers under their currently selected Environment and appears in their Script Selector right away.

Batches refer to their scripts by file path, so share the scripts along with the batch, or recreate the batch with Create Batch after importing the scripts.

For a team that wants to stay in sync, point Save Script's Browse... location at a shared network folder everyone can reach, for example \\server\share\DialScript Scripts\. Everyone saving there is editing the same files.

Where your files live

Phone Books, scripts, batches, logs, recordings and settings are kept in %AppData%\DialScript (demo) or %AppData%\DialScriptPro (full version)\, in one folder per Environment. Uninstalling the app leaves this folder in place; delete it yourself if you want a completely clean start.

Troubleshooting

Windows says "Windows protected your PC"
The installer isn't code-signed. Choose More info, then Run anyway. It's normal for small independent tools.
My demo key email didn't arrive
Check Junk, Spam and Promotions (in Gmail, the Promotions and Spam tabs). If you find it, mark it "Not junk" and add sales@dialscriptapp.com to your contacts. You can also request the key again on the website with the same email address and you'll get the same key shown on the page.
The app says my demo key isn't valid
Check for typos. The key looks like DS-XXXX-XXXX-XXXX and uses no 0, O, 1 or I. If the app asked for a new key, enter the one from the website again.
"Sorry, you have exceeded your maximum tests"
The key has used all 15 test calls. Email the address in the message to ask about more testing or to buy the full version.
Test connection says Twilio "did not accept these credentials"
One of the three values is wrong. Re-copy the Account SID (starts with AC), the API key SID (starts with SK) and the API key secret with no spaces. The secret is shown only once in Twilio, so if you lost it, create a new restricted key.
Test connection says the key doesn't have permission
Edit the API key in the Twilio Console and grant the permissions listed in setup step 3: Voice → Calls (Create, Read), Voice → Calls.Recordings (List, Read), and Recordings (Read, List, Delete).
Test connection passes, but calls still fail
The test can't check your phone number. Make sure it is a Voice-capable number on the same Twilio account, and that the account can place outbound calls (a trial account is restricted to verified numbers).
I lost my license key
Email the address below with the email you paid with and I'll resend it.
The first transcription is slow or fails
The first run downloads a speech model of about 140 MB, so it needs an internet connection that one time. After that, transcription works offline.
Phone numbers
Numbers are assumed to be US/Canada (+1).

Support

Questions about the demo, or want more test calls? Email michaeldludden@gmail.com.

DialScript is sold as-is, with reasonable best-effort support. There is no formal SLA, but send questions, bugs or issues to michaeldludden@gmail.com and I'll respond as quickly as I can. There is no auto-update, so check dialscriptapp.com now and then for newer versions. Need a different telephony provider or something custom? Get in touch.