Skip to main content
Available in: Desktop app · Self-hosted  |  Reach: 🇬🇧 Monzo accounts  |  Cost: free from Monzo; a paid AI2Fin plan

What it is

Monzo’s API uses OAuth rather than a pasted token. AI2Fin holds no Monzo relationship at all: you register a client of your own at Monzo’s developer portal, give AI2Fin its ID and secret, and authorise in the Monzo app. It is still bring-your-own in the way that matters — the client is yours.

Connect

1

Register a client at Monzo

developers.monzo.comClients → new client. Set Confidentiality to Confidential — a public client receives no refresh token and stops working after a few hours in a way that looks exactly like a broken integration.
2

Copy the redirect URL from AI2Fin

Connectors → Monzo shows the exact redirect URL with a copy button. Monzo rejects the flow if it does not match byte for byte, and its error does not say so.
3

Paste the client ID and secret, then authorise

Connect sends you to Monzo, then back. Monzo will report verification required until you tap Approve in the Monzo app on your phone — that is an unfinished step, not a failure.
Full history is only available in the few minutes after you authorise. AI2Fin backfills automatically inside that window, but it means connecting once, properly, matters more here than with any other feed. If the first sync was interrupted, reconnect rather than waiting for the next poll.

What syncs

Accounts, balances and transactions. After the initial backfill, polling every 15 minutes.

Why desktop only

No credential of AI2Fin’s is involved, but AI2Fin still holds your tokens. In the cloud that would be our servers holding them; on your machine it is you. A self-hosted instance can enable it with BYO_PERSONAL_TOKENS_HOSTED=true.

Revoking

Remove the client at developers.monzo.com, or revoke access from the Monzo app’s settings.