static/js/pages/saved-templates.js:76: (d.unknown_variables || []).length || (d.missing_variables || []).length || (d.warnings || []).length ? static/js/pages/saved-templates.js:79: [].concat(d.missing_variables || []).map(v => `Missing data: ${esc(v)}`).join("
") + =====PHONE_RE usages===== app/api/routers/campaigns.py:755: errors.append("Invalid phone selection mode") app/api/routers/phones.py:19:PHONE_RE = re.compile(r"^\+?[0-9][0-9 ()\-.]{4,30}$") app/api/routers/phones.py:30: if not PHONE_RE.match(v): app/api/routers/phones.py:31: raise ValueError("Invalid phone number format") app/api/routers/phones.py:129: if PHONE_RE.match(phone): app/api/routers/phones.py:138: if PHONE_RE.match(phone): =====phones.html===== Company Phones — Bulk Mailer

Company Phone Numbers

Phone numbers feed the %CompanyPhone% variable. Add manually or import 10+ numbers at once from CSV/TXT; selection is round-robin or random per campaign.

Numbers 0

PhoneLabelActiveUsedCreated