Dashboard

Hourly / Daily Spend

Computed locally from balance snapshots recorded on every Dashboard refresh — no portal or Google calls. "Sync transfers" (importing the portal's Payments ledger for a manually-made transfer) isn't available on the web console yet; use the desktop app for that.

JDI Spend alert (Telegram · amount read from Tracker Shared)
Alert settings
Repeat every minutes
Active hours to
Send to (tick one or more)

Campaign Monitor

acts on every row currently shown below

Active and paused campaigns for the selected account, for every active account via "All Accounts", or for every account with a running Auto-Pilot engine via "Auto-Pilot Accounts". Click a row's Details button for full stats and controls.

Accounts

Contact list upload

CSV files are archived first, then imported per account. Success requires the portal's "File Import Complete" — an HTTP 200 alone never counts.

Drop CSVs here or click to browse

Blacklist (DNC) import

Imports DNC numbers to every selected account. Verified by response content, never HTTP status.

Drop CSVs here or click to browse

Telegram DNC listener

…

Watches the chats below. When a message contains a keyword (e.g. DNC) with a CSV attached and/or phone numbers in the text or a screenshot, the numbers are added to the Blacklist of ALL active accounts automatically, archived, and confirmed to your Saved Messages.

"Pick chats…" lists the groups and channels your Telegram account is in. You can also type a chat id or @username.
Any word or phrase. Not case-sensitive, whole word (dnc, DNC, dnc_list.csv match; "dncs" doesn't). Default: dnc.
Toll-free (800/822/833/844/855/866/877/888) numbers typed in a chat message or screenshot are SKIPPED; inside a CSV they are added.
from to server time
Safety cap = numbers per message; larger ones are held for manual review, not uploaded.
TimeChatResult NumbersDetail

Reports

Portal delivered-call reports

Dates are your local calendar days; the portal's UTC clock is handled for you.

TFN Search

Scans every active subaccount's Portal Campaign Report for the date range below and totals the Cost of every campaign whose Audio File was recorded for this TFN.

List Name Search

Scans every active subaccount's full Portal Campaign Report history (from that account's earliest available data through today) and lists every JDI Account/Audio File combination this List Name ran under.

Number Lookup

Scans every active subaccount's uploaded lists (full history, same scope as List Name Search) and reports which list(s) contain this number. Checks one (the most recent) run per distinct list name, so this can take a while on accounts with many lists.

Brands

SmartPool

Order Tracks, Edit Track and Copy Tracks act on the account selected above, independent of which pool row (if any) is selected below.

Credits

Remaining Credits Report

Snapshots every active main/sub account's live balance and sends it to Telegram, same table layout as the desktop app (green header, gold main-account rows, red for a main at/below its low-credit threshold). Also runs automatically on the schedule below, to whichever destination is selected here.

Automatic schedule

to

Repeat-mode only — the report only goes out while the server's local time is inside this window. Leave at 00:00–23:59 for all-day. An end time earlier than the start (e.g. 22:00–06:00) is treated as overnight, wrapping past midnight. Server's local time.

Repeat-mode only. At least one day must stay checked.

Auto-Credit

Tops up chosen sub-accounts from their parent when balance drops below the threshold, inside an EST window.

to

Auto-Transfer

Watches dashboard balances; when a configured account dips below its floor, tops it up from the parent. Halts itself on any unverified transfer.

Automation

Auto-Pilot

Keeps a target number of campaigns running per account, resuming oldest paused first and stopping drained hoppers.

Auto-Batch

Fires fresh campaigns from a folder of contact CSVs when the account's live campaign count falls below a threshold.

Drop Cowboy — Ringless Voicemail

Drop Cowboy API settings

From your Drop Cowboy account's API Settings tab and Trust Center. Leave the secret field blank to keep the one already saved.

A PUBLIC URL Drop Cowboy can POST delivery results to. Needed for Campaign Results below to fill in (carrier, line type, success/failure) — leave blank to skip result tracking; sends still go out either way.

Create Contact List

Your Contact Lists

Only lists created from this app show up here — Drop Cowboy has no "list all lists" endpoint to read back everything on your account.

Selected list: (none)

Add Contacts to Selected List

Paste one contact per line as phone,first_name,last_name,email (only phone is required), or import a CSV with Phone / First Name / Last Name / Email columns.

Drop a CSV here or click to browse

Send RVM

Drop Cowboy's API sends one RVM per call — there is no native bulk endpoint. "Send to list" loops through every contact recorded locally for the selected list and sends one RVM each.

Send to one number

Send to selected list

Campaign Results

One row per "Send to selected list" run. Drop Cowboy only reports each contact's final outcome (and its carrier / line type) by calling the Webhook callback URL set above — a contact stays "pending" until that webhook arrives, which only happens while this web console is running with that URL reachable from the internet.

Drop (VMDrop)

By campaign

In-message number calls

Calls to each in-message number from CFNCore (TFN dialed) - follows the filters and the period.

Outcome breakdown

Drop settings

API key from Drop.co (leave blank to keep the saved one). One campaign per line: Name | CampaignToken. The portal login is used for Download Results and for adding numbers to Drop's DNC.

Settings

Manual credit transfer

Dry run previews the exact request without sending. Live transfers verify by balance change — a 200 alone is never success.

Thresholds

Web console users

Logins for this website only — separate from portal accounts. Admins can add and remove users.

Tracker sheet connection

Signed Apps Script web app that powers the dashboard chips and Push to Sheet. Leave the secret field blank to keep the one already saved.


Tracker → Google Sheets API

Stage 1 moves the Tracker's data pushes and reads off the Apps Script and onto the Sheets API. Shadow keeps the Apps Script in charge and only compares; API uses the API and falls back to the Apps Script on any failure. Tracker Shared is not affected.

Rebuild tabs (the sheet's old JDI Dashboard menu), straight through the Sheets API - your dropdown choices are kept:

        

Daily RVM Color Sync

Colors today's Run Plan tab from live JDI status for the accounts you manage.

Sheet Push — per-account toggles

Which accounts auto-update on each target. An account left unticked simply follows its default.

Tracker — active hours & days

to

Gates the AUTOMATIC push only (the JDI Web Server's background poll, every ~3 minutes) — the "Push Now" button on the Dashboard tab always works regardless of these windows. Leave at 00:00–23:59 for always-on. An end time earlier than the start (e.g. 22:00–06:00) is treated as overnight, wrapping past midnight. Server's local time. At least one day must stay checked.

Tracker Shared — active hours & days

to

Telegram (Telethon)

Credentials + send targets for "Send to Telegram" on reports.

Main Account Low-Credit Alert

Sends an automated Telegram message (via the JDI Web Server's background poll) the moment any Main Account's remaining credit drops to or below this threshold, during the active hours below. Fires once per crossing — it won't repeat until the balance recovers above the threshold and drops again.

If a Main Account keeps falling and also drops to or below this second, lower threshold, a second alert (same message + report) is sent — even though the first alert above already fired. Must be lower than the threshold above.

A third, still-lower checkpoint — same idea as the critical threshold above, one level further down. Must be lower than the critical threshold.

to

Leave at 00:00–23:59 for always-on. An end time earlier than the start (e.g. 22:00–06:00) is treated as overnight, wrapping past midnight. Server's local time.

The alert only fires on checked days — defaults to Mon–Fri. At least one day must stay checked.

Anti-spam

Keeps a fluctuating balance or a single bad spend event from flooding the chat — see the three controls below.

A tier stays quiet on a repeat crossing until this much time has passed, even if the balance dips and recovers several times in between. 0 disables this.

A balance must climb back above a threshold by this percentage before that tier can alert again. 0 re-arms on any amount above the threshold.

If a balance crosses more than one tier in the same check, send one message listing all of them instead of one message per tier.

Missing Audio Alert

Sends an automated Telegram message the moment a SmartPool/brand scan (change-triggered or the daily sweep, desktop or web) finds a NEW track with no audio assigned on an active subaccount. Fires once per track — it won't repeat while that track stays flagged, but alerts again if it's fixed and later breaks again.

Campaigns Left Alert

Sends "<Account> (<prefix>) - N campaigns left" for every active sub-account whose running + paused campaigns drop below the threshold. While it stays low the alert repeats at the interval below; once it is back at/above the threshold the next dip alerts immediately.

to

00:00–23:59 = always on. An end time earlier than the start is overnight. Server's local time.

Portal Login

How the app signs in to sub-accounts. "Sudo from Main" logs in to the sub's Main and switches into the sub (the portal asks for no SMS code). If sudo fails for a sub, the app falls back to that sub's own login. Applies the next time a session logs in.