Operations
Campaign workspace
Build and run email and call campaigns.
Campaign type
Choose an email campaign, a SignalWire call campaign, or both. Calls run before emails when combined.
Email list
AudienceUpload a CSV with email addresses.
Uses the same Resend template, subject, domain, and send speed on the Email step.
Phone contacts
AudienceUpload a CSV with phone numbers to dial.
Call configuration
SignalWireConfigure dialer settings. DIDs are pulled from SignalWire and rotated evenly.
Dialing pauses when no agents are available.
Press 1 / Say yes dialer
Asterisk · SignalWire SIPWrite or generate an IVR script, generate the audio or upload a file, then dial with Asterisk over SignalWire SIP. No AMD — callee hears your audio, then presses 1 or says yes to confirm.
IVR script & voice
ToolsNo generated audio yet.
Say yes campaigns dial even when no agents are available.
Uses your selected DID as caller ID, plays your audio (or default), and transfers to the transfer number after press 1.
SMS configuration
AircallSend SMS via Aircall’s standard messaging API. Selected DIDs are rotated evenly; messages appear in Aircall for agents on those numbers.
Ringless voicemail
Just Deliver ItCreate a JDI ringless voicemail campaign. Audio and caller IDs come from your Just Deliver It account; drops are delivered via the JDI API.
Email settings
ResendEmail template
Review & launch
Ready to launch
Confirm your setup, then create the campaign.
Active campaigns
QueueCampaigns run in the background. Select one to view live progress.
No active campaigns.
Campaign progress
readyOutbound calls
Waiting for available Aircall agents…
Call errors
Press 1 / Say yes
Waiting for available Aircall agents…
Transfer: —
Dial errors
SMS blast
—
SMS errors
Ringless voicemail
JDI campaign status: —
Email engagement
Monitoring Resend webhooks for opens and clicks.
Email blast
Email errors
Outbound call controls
GlobalApplies to Press 1 / Say yes Asterisk campaigns (campaign overrides still win when set).
DID inventory
SignalWire · JDIEnable/disable numbers for outbound press-1 dialing. Sync pulls SignalWire voice DIDs and Just Deliver It caller-ID tracks.
Daily queue
IdleQualified leads are added four times. Under $10,000 and other unqualified leads are added three times. Each pass is shuffled, then the next pass starts, so repeats stay spaced. Each age has its own IVR for qualified leads and for unqualified leads. Leave a choice blank to use that lead's own route. Pause keeps your place. Dialing also waits whenever no Aircall agent is available, checked every 3 seconds.
| Lead age | Qualified | Unqualified | Dials | Qualified IVR | Unqualified IVR |
|---|---|---|---|---|---|
| Loading daily queue… | |||||
Qualified means the form says qualified, or credit-card debt is $10,000 or more when qualification is not set. Lead age uses Pacific time.
High-debt batches are unconfirmed leads grouped by credit-card amount and created date. The second figure on each button is the average times those leads were dialed today. Dates use Pacific time.
Webhook & dialing
MetaIngest TikTok Instant Form or Facebook leads from a Google Sheet, match an IVR route, push to Forth, and auto-dial with the press-1 flow. Meta webhook is optional.
Poll sheets that TikTok Instant Forms, Zapier, or Meta dumps into. Share each as “Anyone with the link can view”. Both sheets sync on the same interval; new rows are imported, optionally pushed to Forth, and auto-dialed.
Sheet sync: —
Also supports push from Apps Script if you prefer instant onChange delivery.
- Open each leads Google Sheet → Extensions → Apps Script.
- Paste google-sheets-leads.gs and set
CONFIG.INGEST_TOKENto the token above. - Run menu Email Blaster → Install auto-ingest trigger (onChange + 5‑min backup poll).
POST lead JSON here from Zapier, Make, or any form. Each lead is normalized like a Google Sheet row, marked ready, and auto-dialed on the day-1 schedule. No auth token is required.
POST JSON, or GET/POST with query params. Any extra field is stored and forwarded, including email, address, city, state, zip, ssn, date_of_birth, and debt_amount. Auth is optional.
Leads with credit card debt of $1,000–$5,000 are skipped by auto-dial. Use the redial buttons above to include unconfirmed under/over $10k leads.
Pause stops new originates immediately (redial queue and auto-dial). Ringing calls keep going. Queueing leads or clicking Resume starts dialing again.
When enabled, new leads are dialed up to 3 times on the day they arrive. Configure when to remove a lead from remaining dials that day.
Remove lead from remaining day-1 dials when:
Creates the Forth contact on the posting URL (campaign), then fills First/Last name, Cell Phone, Email, Loan Amount, Other Debt, and Lead Type via the Forth API. Re-sync on a lead backfills missing fields.
Forth: —
Sheet polling does not need a Facebook page token. Meta webhook still needs FACEBOOK_PAGE_ACCESS_TOKEN if you use it.
IVR call types
Press 1 routesDefine which IVR audio to play per Facebook form, page, or ad. Use a generated prompt or upload your own WAV/MP3 — same press-1 dialer.
Lead overview
All field params| Loading leads… |
Missed-call dialer
Press 1Missed inbound Aircall calls are stored here. Matching TikTok and Facebook leads are marked confirmed so that dialer stops calling them. Callbacks go out on the same press-1 Asterisk dialer.
Pause stops new callback originates. Ringing calls keep going. The global outbound pause on DIDs & dialer also applies.
Imported missed calls stay in the saved queue. New ones are added automatically.
Press-1 callback
Same dialerSame originate path as TikTok and Facebook leads: SignalWire caller ID, IVR audio, press 1, then transfer to Aircall.
Stop remaining callback attempts when:
—
Missed-call queue
0| When | Caller | Lead | Reason | Confirmed | Status | Attempts | |
|---|---|---|---|---|---|---|---|
| Loading missed calls… | |||||||
Loading TikTok and Facebook analytics…
Sales board
Loading the sales board…
Agent status
| Agent | Status | Duration |
|---|---|---|
| Loading agents… | ||
Durations tracked while console is open.
Channel breakdown
—
Live transcription
Active Aircall calls with real-time transcript snippets.
Loading live transcription…
| Number | Agent | Direction | Status | Duration |
|---|---|---|---|---|
| Loading active calls… | ||||
Live transcript
WaitingSelect a call to view transcript snippets.
Recent campaigns
HistoryLoading…