Meta token health and reconnection
Long-lived Meta tokens expire per Meta's policy. Wevion auto-refreshes silently. On failure: yellow connector card + Reconnect button + in-app notification. No data loss.
Written By Salvatore Sinigaglia
Last updated About 5 hours ago
Long-lived Meta tokens expire per Meta's policy. Wevion auto-refreshes silently. On failure: yellow connector card + Reconnect button + in-app notification. No data loss.
Meta token health and reconnection
Long-lived Meta OAuth user tokens expire per Meta's policy. Wevion auto-refreshes silently: a background job runs every 12 hours and refreshes any active user token due to expire within the next 7 days. If refresh fails (password changed, app revoked, account suspended), the connector card turns yellow with a Reconnect button and Wevion raises an in-app Token expired notification. Click Reconnect to redo OAuth and restore sync β no data is lost during reconnection.
Who is this for
Mediabuyers seeing a yellow banner on the Meta connector card. Admins setting up alerts to catch token expiry before it bites. Anyone who lost Meta sync after changing their Facebook password.
How Meta tokens work
When you connect Meta, Facebook issues:
- Short-lived access token β used for the immediate token exchange
- Long-lived access token β exchanged from the short-lived token + used for ongoing sync
Wevion stores the long-lived token in the meta_token.access_token column with its expires_at. The token is workspace-scoped and masked in logs.
Auto-refresh flow
Behind the scenes:
- A background job runs every 12 hours and finds active user tokens whose
expires_atis within the next 7 days - Refresh uses Meta's token-exchange endpoint with the existing token
- Successful refresh: a fresh token is stored, sync continues, no visible change for the user
- Failed refresh: connector card turns yellow with a Reconnect button and Wevion raises an in-app Token expired notification
When auto-refresh fails
Common causes:
How to reconnect
Step 1: See the yellow card
At /connect/meta, an affected Meta user shows a yellow card with "Token expired β Reconnect" message.
Step 2: Click Reconnect
The OAuth popup opens (same as initial connect):
- Log in to Facebook (with the same FB account, ideally)
- Grant permissions (same scope set β see meta-102)
- Pick BMs to share with Wevion (same as before)
Step 3: Token saved
The popup closes. Wevion saves the new token. Card turns green within seconds.
Step 4: Sync resumes
Sync picks up where it left off β no data lost. Insights from the disconnected period may be missing if the gap was long (Meta keeps data accessible for 13 months for most metrics, but some Page/audience insights have shorter retention).
Reconnect with a different Facebook account
If the original Meta user is permanently unavailable (employee left, account banned, etc.), have a different teammate reconnect:
- They open
/connect/meta - They click Connect (not Reconnect β that one ties to the original user)
- Their OAuth flow creates a new Meta user record
- If the new user has access to the same ad accounts, sync resumes
- The old Meta user record can be archived (admin action)
This is why having multiple Meta users covering the same critical accounts is best practice β see meta-106.
Failure alerts
Wevion attempts an automatic refresh for any token due to expire within 7 days. If that refresh fails (password changed, account suspended, app revoked), Wevion raises an in-app Token expired notification (bell icon) and the connector card turns yellow.
The alert is delivered in-app (bell icon + yellow connector card) at the moment a refresh fails β there is no scheduled email or Telegram reminder sent ahead of expiry. Keep an eye on your in-app notifications so you catch the Token expired alert promptly.
What happens during the gap
Between token expiry and reconnect:
- No new data syncs from Meta to Wevion
- Existing data preserved in Wevion
- Rules don't fire for the affected ad accounts (rule's data source is stale)
- Cannot launch new campaigns to the affected ad accounts (publish fails with "Token expired")
- Cannot edit campaigns in Wevion for those accounts
- Existing campaigns continue running on Meta (Meta serves them, charges your billing, but Wevion can't read the new data)
So a 1-day gap is fine β you've lost a day of incremental data, easy to backfill on reconnect. A 7-day gap means a week of analytics blind spots.
Token storage details
- Stored in the
meta_token.access_tokencolumn with anexpires_atandtoken_status - Token never logged plaintext (masked in logs)
- Used only by backend services at API-call time on the workspace's behalf
- No admin UI exposes the raw token value
Reconnect vs Disconnect
For ongoing operations: always Reconnect. Disconnect only for cleanup (departed teammate, switching to another Meta user covering the same accounts).
What you'll see
A healthy Meta user:
- Connector card: green badge, Connected
- Token not near expiry (auto-refreshed before the 7-day window)
- Ad accounts syncing every 15 min
An unhealthy Meta user:
- Yellow card: "Token expired β Reconnect"
- Last refresh: stale
- Sync stopped for that user's ad accounts
- Banner on Wevion dashboard: "Meta connection needs attention"
Common issues
- Reconnect popup blocked: enable popups for
app.wevion.ai. - Reconnect succeeds but card still yellow: refresh after 60s; if persistent, contact support with
meta_user_id. - Cannot reconnect "Account locked": resolve Facebook lock first (Facebook will email instructions).
- Reconnect creates a new Meta user instead of refreshing: you authenticated with a different Facebook account. Use the original or accept the new user (admin can archive old).
- Sync didn't resume after successful reconnect: 15-min cycle delay. If still stuck after 30 min, hit the Force sync button on the ad account detail drawer.
- Token failed before you noticed: the auto-refresh only covers tokens expiring within 7 days; a sudden account suspension can't be predicted, so react to the in-app Token expired notification immediately.
Best practices
- Connect at least 2 Meta users to critical workspaces (redundancy)
- Check the in-app notifications so the Token expired alert isn't missed
- Update FB password sparingly β every change forces reconnect for tokens from that account
- Don't revoke Wevion from Facebook app settings unless you mean to disconnect (no auto-warning, breaks immediately)
- Audit token health monthly β admins should review the Meta users list for stale tokens
FAQ
How long do Meta tokens last?
Long-lived Meta OAuth user tokens expire per Meta's policy, and Wevion tracks each token's expiry (expires_at). A background job runs every 12 hours and silently refreshes any active user token due to expire within the next 7 days via Meta's token-exchange endpoint. When refresh succeeds you see no change, sync continues uninterrupted, and no reconnection is needed on your part.
Will I lose data when I reconnect Meta?
No β reconnecting refreshes the token and keeps all your data and history in Wevion. After you click Reconnect and redo OAuth, sync resumes where it left off. Insights from a long disconnected gap may be missing, but Wevion preserves existing data throughout the reconnection.
What happens while my Meta token is expired?
During the gap Wevion stops syncing new data, rules don't fire, and you can't launch or edit campaigns for the affected ad accounts. Your existing campaigns keep running on Meta and Meta still charges your billing β Wevion just can't read the new data until you reconnect.
Why did reconnecting create a new Meta user instead of refreshing?
You authenticated with a different Facebook account than the original. Reconnect ties to the original Meta user, so signing in with another account creates a new Meta user record in Wevion. Use the original Facebook account to refresh in place, or let an admin archive the old record and keep the new one.
When does Wevion warn me about a Meta token problem?
Wevion tries to auto-refresh any token due to expire within 7 days. If that refresh fails β or a token breaks suddenly (password change, suspension, app revoked) β Wevion raises an in-app Token expired notification (bell icon) and turns the connector card yellow. The warning is in-app only; there's no scheduled email or Telegram reminder before expiry, so watch your in-app notifications.
Steps
- At /connect/meta, an affected Meta user shows a yellow card with "Token expired β Reconnect" message.
- The OAuth popup opens (same as initial connect): Log in to Facebook (with the same FB account, ideally) Grant permissions (same scope set β see meta-102) Pick BMs to share with Wevion (same as before)
- The popup closes. Wevion saves the new token. Card turns green within seconds.
- Sync picks up where it left off β no data lost. Insights from the disconnected period may be missing if the gap was long (Meta keeps data accessible for 13 months for most metrics, but some Page/audience insights have shorter retention).
Last updated: 2026-05-17