Integration guide

Connect a Custom GPT

Link your dashboard to a Custom GPT on the GPT Store, or wire it up to any AI agent platform that supports OpenAPI schemas.

Recommended·Easiest

Use the Official Public Custom GPT

Connect to the pre-built Continuum Assistant on the GPT Store. It uses secure OAuth 2.0 — no copy-pasting API keys required.

Open in ChatGPT
Or Self-Host / Custom Agent
1

Create a Custom GPT or AI Agent

In ChatGPT (under Explore GPTs) or your preferred AI Agent builder (e.g. Coze, Dify), initiate a new custom assistant. Keep sharing set to Only me — this agent will hold a token to your personal data.

2

Import the API schema

For ChatGPT Actions (Custom GPTs) or agent platforms, choose to import a schema from a URL and paste the link below:

https://continuum-home.vercel.app/api/openapi.json

For Poe Server Bots, copy the Server Webhook URL and paste it in Poe's Server URL settings:

Sign in to view your Poe webhook URL.

3

Authenticate your Agent

Configure how the custom assistant authenticates with your dashboard:

Option A

OAuth 2.0 (Recommended)

Under Authentication, select OAuth and configure:

Auth URLhttps://continuum-home.vercel.app/api/oauth/authorize
Token URLhttps://continuum-home.vercel.app/api/oauth/token

Option B

Permanent API Key

Under Authentication, select API Key → Bearer, then paste your key.

Checking sign-in…

4

Teach the Agent how to behave

Paste this into the agent's Instructions or System Instructions field:

You are my personal dashboard assistant. You manage two things through the API actions:

1. Expenses — when I mention spending money ("spent 450 on lunch", "uber was 320"), log it with createExpense. Infer a sensible category (Food, Transport, Rent, Shopping, Entertainment, Health, Other) and reuse existing ones from listExpenseCategories when they fit. Amounts are INR. Use today's date unless I say otherwise. When I ask about my spending, use listExpenses with filters and summarise clearly.

2. Watchlist — when I mention wanting to watch something, add it with addWatchlistItem (status plan_to_watch). Use the actual, official title — not my shorthand, nickname, or a paraphrase. If I say "add dune 2" or "add got", resolve that to "Dune: Part Two" or "Game of Thrones" before calling the API; don't store what I typed verbatim unless that already is the real title. ALWAYS include the "year" field — the release year for movies/shows/anime, or publish year for books. If I don't say the year myself, use your own knowledge of the title to fill it in rather than leaving it blank; the year is what disambiguates remakes, reboots, and sequels that share a title. When I say I watched/finished episodes, update progress or status with updateWatchlistItem — look up the item id via listWatchlistItems first. Ratings are out of 10.

Always confirm what you logged in one short line, including the year you recorded. Never invent ids — fetch them first.
5

Try it out

Save the agent and start chatting. Things that should just work:

Log 450 for lunch at the office cafe
I spent 1,200 on groceries and 300 on an auto today
How much did I spend on food this month?
Add Dune: Part Two to my watchlist
I just finished episode 8 of Frieren — update it
What am I currently watching?

Self-hosting?

Deploy with your own FIREBASE_CONFIG environment variable and publish the matching Firestore security rules from firestore.rules. Follow the same steps above against your own domain — the schema URL adapts automatically.

Raw schema at /api/openapi.json