Loading

Google Drive & Xero

Two connected services with their own OAuth arrangements — and the 60-day expiry that catches Xero users out.

Google Drive

Drive can be connected so documents live there rather than only in the platform.

Where to find it

Architect Panel → Integration & Connections:

  • Google Registrations — the Google connection, its credentials and scopes
  • OAuth Tokens — the tokens issued against it

Architect Panel → Data:

  • File Stores — where files are held
  • Documents — the documents involved

Your credentials, not ours

The connection uses a Google client you register yourself — a client identifier, a secret, and the scopes you request. So the arrangement is between your organisation and Google, on your terms, in your own project.

That is more setup than a one-click connector and it is the right arrangement: your data stays under an agreement you control, and you can see and revoke the access from your own Google console.

Scopes are what you are asking for

Request the narrowest that does the job. Google shows users what is being requested, and a request for broad access to everything in someone's Drive will be refused by people who read it — reasonably.

Broad scopes also take longer to get through Google's own verification if you go through it.

Authorisation is per user

Each person authorises the connection for their own account, and it acts as them. That is usually right — files land in their Drive with their permissions — and it has two consequences worth planning for.

First, a person who has not authorised cannot use the feature, so onboarding includes a step people must complete themselves. Second, when somebody leaves, what they authorised goes with their Google account — anything depending on it stops.

Where that matters, use a service account

Shared or automated storage should not hang off an individual's authorisation. Where files must remain accessible regardless of who is employed, connect an account belonging to the organisation rather than to a person.

Decide where the file of record lives

The question to settle before going live: is Drive the system of record for these documents, or a convenience copy?

If Drive, then your retention, access control and disposal happen there, and the platform's own controls do not cover them. If a copy, be clear about which one is authoritative — a document edited in Drive and referenced here is a divergence waiting to be noticed at the worst moment.

Access lives in two places now

A file in Drive is governed by Drive's sharing, not by the platform's permissions. Somebody with no access to a record here may still have access to its document there if it was shared, and that is easy to overlook when reviewing who can see what.

Worked example

A team connects Drive with read and write on a specific folder rather than a broad account scope, using an organisational account. Documents generated here are filed to a shared folder governed by Drive sharing, and the retention policy explicitly names Drive as the system of record for them.

Recommendations

  • Register your own Google client and request narrow scopes.
  • Use an organisational account for anything shared or automated.
  • Decide where the file of record lives before go-live.
  • Remember access is governed in two places when reviewing.

Xero and the 60-Day Expiry

Xero can be connected for accounting integration. One characteristic of that connection causes more failures than everything else combined, so it gets its own article.

Where to find it

Architect Panel → Integration & Connections:

  • Xero Connections — the connection, its credentials, webhooks and expiry notifications

Architect Panel → Automation:

  • Tasks — Check Xero Authorisation Expiry

Architect Panel → Activity:

  • Error Log — where a lapsed connection surfaces

The 60-day rule

Xero's authorisation lapses after 60 days without being refreshed. It is not a certificate expiry you can diary once — it is a rolling window that resets each time the connection is used.

So an integration used daily never lapses, and one used monthly, seasonally or only at year end will. Quiet integrations are exactly the ones this catches, and they are the ones nobody is watching.

Why it fails silently

Nothing announces it. The connection simply stops working, and because the integration was quiet by definition, the first symptom is usually somebody asking why nothing has come through — often after a period end, which is the worst time to be reconnecting.

The notification exists for this

The connection carries notification e-mail addresses and a number of days' notice, and a scheduled task checks the expiry and warns you.

Configure both. This is one of the few tasks that ships enabled, precisely because the failure it prevents is common, silent and inconvenient.

Set the notice generously

Two weeks or more. A warning arriving the day before is not much use if the person who can reconnect is away — and reconnecting needs somebody with the Xero credentials, not just any administrator.

Send it to more than one person

The field takes several addresses. Use them. A warning sent to one person who has left, or who is on leave, is a warning nobody receives — and this is precisely the failure mode the notification exists to prevent.

Reconnecting

Somebody signs in to Xero and re-authorises. Straightforward, and it needs Xero credentials — so know in advance who that is, and make sure it is not one person.

Webhooks

The connection can receive webhooks from Xero, with a signing key and a function to handle them, so changes made in Xero can be reacted to here rather than polled for.

Note that webhooks stop when the authorisation lapses, like everything else — so a webhook-driven integration is not immune, it just fails more quietly still.

Test the whole loop after reconnecting

Confirm data flows and webhooks arrive, rather than assuming that because the authorisation succeeded everything resumed. It usually has; occasionally something else needs attention and finding out now is better.

Worked example

An organisation syncs invoices to Xero daily, so the authorisation refreshes constantly and never lapses. A second connection for a dormant subsidiary is used twice a year — it lapsed twice before the notification was configured with 21 days' notice to three people. It has not lapsed since.

Recommendations

  • Configure expiry notifications on every Xero connection.
  • Give at least two weeks’ notice, to several people.
  • Know who holds the Xero credentials before you need them.
  • Watch quiet connections hardest — they are the ones that lapse.