Check data sync status

How to get there: Click the sync icon next to the search box in the top navbar (visible to admins on every page).

When you prioritize posts by MRR or LTV, you are relying on three pieces of data being up to date: customer revenue from Stripe, deal info from HubSpot, and the post totals that aggregate them. If any of these are behind, the All Posts view shows stale numbers and prioritization decisions are wrong.

The Data sync status indicator surfaces this in one place so you do not have to guess.

What the icon shows

  • A check mark means all enabled sources are settled and post totals are up to date.
  • A spinning arrow means a sync is currently running (Stripe bulk, HubSpot pagination, or post recalc).

The icon polls every 30 seconds, so when you trigger a sync you will see the spinner stop on its own when the work drains.

What the dropdown shows

Click the icon to open the panel. It is split in two:

Data sources

One row per enabled integration. Each row shows freshness and a Sync now button that dispatches a fresh bulk sync for that source.

  • Stripe customers: how many users are linked, how many are guest customers (skipped, see Stripe integration), how many have never been synced, and the oldest sync timestamp across all syncable users. The oldest timestamp is the honest "weakest link". A single manual user sync does not move it.
  • HubSpot contacts: the last completed bulk sync timestamp and any connection error from the most recent run.

Prioritization data

One row showing the state of post MRR/LTV totals.

  • Pending recalc: number of posts where a recalculation has been queued but not yet completed. While this is above zero, the All Posts view's MRR/LTV columns may be out of date for those posts.
  • Never recalculated: number of posts that have not yet been part of any tracked recalc cycle. After hitting Recalculate all this should drop to zero. If it stays non-zero, the queue is dropping work.
  • Oldest completed: the timestamp of the post with the oldest settled recalc. Only counts posts where the most recent dispatched recalc finished, so a fresh Recalculate all moves this forward. Useful for spotting boards that have not been touched by any recent integration activity.

The Recalculate all button queues a full portal recalc.

Typical flows

"I just imported a Stripe CSV, when can I prioritize?"

  1. The import dispatches a Stripe sync for the imported users and queues a recalc for the posts they voted on.
  2. Open the sync status panel. The spinner runs while Stripe finishes syncing those users, then again while post totals catch up.
  3. When the icon turns back to a check mark, the All Posts MRR/LTV columns are accurate. Sort and prioritize.

"Why are my MRR numbers different from Stripe?"

  1. Open the panel. If Stripe shows users that have not been synced in days, hit Sync now.
  2. When that finishes, post totals will queue automatically. Wait for the post stats row to drain.
  3. If individual users are still wrong after that, check the user's detail page for a per-user sync error from Stripe.

"Everything is fresh but post totals are old"

Click Recalculate all on the Prioritization data row. This re-aggregates every post in the portal. Useful after segment changes or large user-list edits that bypass voter detection.

What is not covered here

Push integrations like Jira and Slack are not part of this view. They push data out rather than pulling it in, so freshness is not the same kind of concern. Their sync errors live on the Integrations settings page.