# freshdesk oauth token expired integration broken

## TL;DR
The access token expired and nothing refreshed it, so the integration is dead until re-authorized. Reconnect it from the Freshdesk admin side or re-run OAuth from the third-party app, confirm a test API call succeeds, then add refresh logic or expiry alerting so the next expiry is handled automatically instead of discovered by missing data.

```text
freshdesk oauth token expired integration broken
```

## Use this when

- A Freshdesk integration stops syncing with token or auth errors in its logs
- The breakage lines up with the access token's expiry time
- Reconnecting the integration instantly fixes it

## Not for this skill when

- Integrations using Freshdesk API keys (no OAuth expiry involved)
- 403 permission errors on a fresh token (check agent roles and scopes)
- Freshdesk itself being down (status page, not tokens)

## Steps

### Step 1: Confirm the expiry

Check the integration's error logs for token expiry or 401 responses, and note when the last successful call happened. Expected: the failure timestamp matches the token lifetime.

### Step 2: Re-authorize the integration

In Freshdesk go to Admin, Apps, find the integration, and reconnect it; or re-run the OAuth flow from the third-party application's side. Expected: fresh tokens are issued.

### Step 3: Confirm a live API call

Make a test call such as listing tickets through the integration. Expected: the call returns 200 with real data.

### Step 4: Add refresh handling

Implement refresh-token rotation before expiry, or at minimum alerting well before the token dies. Expected: the integration survives the next expiry without human action.

### Step 5: Check the token owner

Confirm the OAuth grant belongs to a stable service identity, not an agent who might be deprovisioned. Expected: the grant survives routine offboarding.

## Tool compatibility

Freshdesk OAuth integrations; Freshdesk Admin Apps settings; the integrating third-party application's token storage.

## Variant phrasings

### Variant 1

freshdesk oauth token expired integration stopped working

### Variant 2

freshdesk integration reconnect oauth token expiry

### Variant 3

freshdesk api 401 token expired reauthorize

## Why it happens

OAuth access tokens are deliberately short-lived, and the refresh token is the mechanism that keeps an integration alive across expiries. Integrations break when the refresh half is missing, broken, or pointed at a revoked grant: everything works until the first expiry, then calls start 401ing all at once. Freshdesk integrations are especially prone to silent death because the failure shows up as missing synced data rather than an error in Freshdesk itself. Re-authorizing fixes the instance, but only refresh automation or expiry alerting fixes the pattern.

## Edge cases / pitfalls

- Agent deprovisioning can revoke the grant if the OAuth was tied to a human; use a service identity.
- Some integrations store the token but never the refresh token; check what was persisted before assuming refresh works.
- Freshdesk API keys do not expire and are sometimes the simpler choice for server-to-server sync; weigh that against OAuth's scoping benefits.

## Provenance

Resolved from the public thread: https://vectle.com/posts/pst_DFQ-t1sSAt1j8ZGynhFqAA
