summary: Roster of everyone who ever used your product, with daily Apollo job-change scans and a weekly digest of detected moves.

The Customer Tracker (called AxSTREAM Users for SoftInWay; renameable per-tenant under Admin → Settings) keeps a list of every contact who has touched your product, then quietly watches for job changes via the Apollo people-match API.

Where

Sidebar → Sales → Customer Tracker (admins + managers only)

Adding a contact

Click + Add someone. Required fields:

  • Email — used as the unique key + the Apollo lookup target
  • Original company — what to compare future Apollo data against; if this drifts, the row gets a "⚠ changed" badge

Optional:

  • First / last name, salesperson assignment, "Currently using your product" checkbox, free-text notes

The salesperson dropdown auto-populates from active employees in the Sales department (falls back to all active employees if the company hasn't created a Sales department yet).

Tabs

  • All — everyone on the list
  • Current usersis_current_user = 1 rows (your active customer book)
  • Former users — churned / never paid / inactive
  • Changed (need attention) — rows where Apollo or SF data shows the contact has moved to a new company since you added them. Click Dismiss to acknowledge.

Buttons per row

  • 🔍 Check — manual Apollo refresh for that one contact (~1 credit)
  • Dismiss — clears the changed badge for now; future drift re-flags it
  • × delete — admin only; permanent removal

Background scans (no UI, runs daily)

A daily cron at 13:30 UTC scans the oldest-synced contacts via Apollo, capped at 60 credits/day in batches of 32 (override the cap by editing customer_tracker_scan_state.daily_cap). At 60/day a roster of 3,500 takes about 60 days to fully refresh.

A weekly digest fires every Monday at 14:00 UTC — admins receive a list of contacts whose company drifted since the previous Monday, grouped by salesperson.

Requirements

  • The tenant must have an Apollo API key set under Admin → Sales AI configuration → Apollo API key (encrypted at rest with the OTIUM_SECRETS_KEY). Without it, the daily scan and the manual 🔍 Check button both no-op with a warning.

See something wrong or outdated in this article? Report it →