All help articles
Troubleshooting

Why did my sync fail?

When something goes wrong, Crowflow shows a clear message in your dashboard and sends one email per platform per day so you're not buried in noise. Here's what each common error means.

4-min read · Last updated 29 May 2026

Where to check

Two places to look when a sync fails:

  • Your dashboard at crowflow.io/app — the connection card for the affected platform shows the most recent error.
  • Your inbox — we send one notification email the first time a connection breaks, then suppress further emails for that platform until you fix it. So you won’t get spammed if the same error repeats day after day.

Reconnect needed

Symptom: connection card shows Reconnect needed; sync error is something like refresh_token_expired or invalid_grant.

Cause: your OAuth refresh token is no longer valid. This happens when:

  • You revoked Crowflow’s access from your platform’s account settings.
  • You reset your platform password and the platform invalidated all tokens.
  • Google rotates refresh tokens after long idle periods (rare).
  • For Meta: the long-lived token reached its 60-day expiry without being refreshed.

Fix: click Reconnecton the connection card. You’ll go through the OAuth flow again and Crowflow stores a fresh token. Your account selections and existing data are preserved.

No accounts selected

Symptom: sync error says no ad accounts selected.

Cause:you connected the platform but haven’t toggled any account on for syncing.

Fix:open the platform’s connection page (e.g. /app/connections/google-ads), click Load accessible accounts, and toggle the accounts you want synced. The next sync will succeed.

Platform quota or rate limit

Symptom:sync error mentions HTTP 429, “quota exceeded,” or “too many requests.”

Cause: the ad platform briefly throttled the request. Google Ads enforces 15,000 operations/day per developer token; Microsoft and Meta have their own rolling limits.

Fix:Crowflow automatically retries with exponential backoff for transient failures, so most quota errors resolve on their own. If they don’t, the daily cron will retry tomorrow. For a sustained quota issue, email us — we can request a higher quota from the platform.

Missing scope

Symptom: error mentions insufficient permissions or names a missing scope.

Cause: you connected before Crowflow added a new scope, or you partially declined the consent screen.

Fix: click Reconnect and accept the full permissions prompt this time.

Destination failed

A destination push can fail even when the upstream sync succeeds — typically because the destination Sheet was deleted, renamed, or shared in a way that removed Crowflow’s access.

Fix: open the destination card, click Edit, and either re-pick the Sheet with the Google Picker or create a new one. Existing data in the original Sheet is unaffected.

Does Crowflow retry?

Yes — automatically. Every sync call uses exponential backoff with jitter for transient errors (429, 5xx, network blips). A single sync attempt typically makes 2 or 3 internal retries before being marked failed.

If a sync still fails after retries, the daily cron picks it up again the next morning. There’s no manual queue you need to clear — failures self-heal as long as the root cause is fixed.

Click Refresh now to force a retry.You don’t have to wait for tomorrow’s cron — fixing the underlying issue and clicking Refresh nowimmediately retries the sync.

Still stuck?

Email hello@crowflow.io with:

  • Which platform is affected.
  • The error message your dashboard shows.
  • Roughly when it started failing.

We can look at the relevant Sentry traces and reply with an actual fix, usually within a business day on Starter and within 24 hours on Pro.

Related help