What you’ll be able to do

Right, so everyone wants a Jarvis. Something that knows your calendar, reads your emails, remembers you hate morning meetings, and just… handles things. The good news is you can build a surprising amount of that today without writing a line of code. The less good news is that it comes in four separate stages, and most people only need the first two.

Stage one is a set-up inside the assistant you already use: a Project with instructions, memory switched on, and a scheduled job or two. Stage two connects it to your stuff, your calendar, your Drive, your email, through connectors and something called MCP. Stage three is a real assistant you run yourself, built with an agent SDK, with its own memory file, jobs on a timer and, if you want one, a voice. Stage four is agents handing work to other agents.

You don’t need to climb all four. Honestly, most people should stop at stage two and get on with their lives. This guide shows you each stage, what it costs, and where the sharp edges are.

Before you start

You need an account you already use most days: ChatGPT, Claude or Gemini, it doesn’t much matter which. Then ten minutes to turn memory on and pick one thing to connect first, maybe your calendar, maybe your Drive.

Stages one and two run on the plan you already pay for, or the free one. No API key needed. Stage three does need one, and that’s where the money works differently: the API is billed separately from a ChatGPT subscription, and a paid Claude plan doesn’t include the Claude API or Console either. API use is metered per token, so the more your assistant does, the more it costs. Check developers.openai.com/api/docs/pricing and claude.com/pricing before you build anything that runs on its own. The one exception worth knowing about: Anthropic’s help page says Agent SDK use on your own Claude plan currently draws from your plan’s normal usage limits. A planned change to that was paused in June 2026, so check the current state before you build anything that depends on it.

And if you go anywhere near stage three, decide now where your API key will live. Not in a chat, not in a document, not in your code. More on that below.

Get set up

Stage 1: an assistant that knows you (no code).

Here’s the bit that trips people up on ChatGPT: custom GPTs are being retired. They’re scheduled to go on 11 December 2026, and new GPTs can’t be created on personal accounts at all now, Free, Go, Plus or Pro. OpenAI is moving them to “plugins”, and creating plugins is a Business and Enterprise workspace thing for now. So on a personal plan, forget GPTs and use a Project instead. A ChatGPT Project keeps chats, files and project instructions together, and those instructions override your global custom instructions inside that project. Pair it with Memory (Settings, Personalization, Memory) and Scheduled tasks, which can run once or repeat, and you’ve built the shell of an assistant.

Claude does something similar and is a bit more generous with it: Projects are on every plan, and free accounts get up to five, each with its own project knowledge and project instructions. “Instructions for Claude” in Settings applies to every chat you have. Memory is on by default on Free, Pro and Max, and you manage it under Settings, Memory. Worth knowing: incognito chats aren’t saved. Fine for privacy, useless for building a persistent assistant.

Gemini calls its version Gems: saved custom assistants with a name, instructions and optional Knowledge files. One catch, Gems can’t be used in Gemini Live yet, so if you want to talk to it, that’s a separate track. Memory of past chats needs a personal Google account, you have to be 18 or over, and Keep Activity has to be on, and it doesn’t work inside Gems at all (bit annoying, that). Gemini also has Scheduled actions, up to ten at a time and still rolling out, which can drop a daily digest on you each morning.

Pick one platform. Turn memory on. Write your instructions. Don’t overthink the first draft, you’ll rewrite it in a week anyway.

Stage 2: connect your stuff.

Once the assistant knows you, you’ll notice the gap: it knows your preferences but can’t see your actual calendar. That’s what connectors are for.

MCP, the Model Context Protocol, is the open standard behind most of this. Its own site compares it to a USB-C port for AI, which is a decent way to think about it: one plug shape, lots of different tools plugging in, whether that’s files, a database or an app.

  • Claude: there’s a connectors directory for all users, so you can hook up things like Google Drive or Slack and Claude works with your permissions in them. You can also add a custom connector from a remote MCP server URL on every plan, though free accounts are limited to one. Claude Desktop can run local MCP servers on your own computer too.
  • ChatGPT: apps are connected under Settings, Plugins, and ChatGPT may ask for your approval before reading something or taking an action, which is the behaviour you want. Custom MCP apps (developer mode) are Business, Enterprise and Edu only.
  • Gemini: Connected Apps cover Gmail, Calendar and more; type @ to pick one. Custom MCP apps in Gemini are US-only for now, and need a personal account and to be 18 or over.

If you want an assistant that works across lots of your apps without you writing code, look at Zapier Agents, Make AI Agents or n8n. n8n, for example, lets you plug in models from OpenAI, Anthropic or Google, add tools and memory, and connect MCP servers. It’s a good middle ground if you’ve outgrown a single Project but aren’t ready for code.

Stage 3: a real assistant you run yourself.

This is where it gets properly technical, and my view is: only go here if stage two genuinely isn’t enough. The pieces are:

  1. An agent framework. The Claude Agent SDK (Python or TypeScript) gives you the same tools, agent loop and context management that power Claude Code: built-in tools, hooks, subagents, MCP, sessions, memory files, and permissions that decide which tools run on their own and which need your say-so. OpenAI’s Agents SDK gives you agents with instructions and tools, handoffs between agents, guardrails, sessions, tracing, MCP, and human-in-the-loop approval on the tools you mark.
  2. A memory file. Refreshingly low-tech: a plain text file of facts about you and rules it must follow, which the assistant reads every time it starts. No database needed to begin with. Keep the rules you care about (what it may never do) at the top.
  3. Scheduled jobs. A scheduler on your own machine starts the assistant at set times, so the morning brief arrives without you asking.
  4. A voice, if you want one. OpenAI’s Realtime API builds speech-to-speech voice agents that can call tools mid-conversation. ElevenLabs’ ElevenAgents builds voice agents for the web, mobile apps, phone lines and WhatsApp.
  5. Local, if you’d rather. Ollama runs open models on your own computer. Local models are free to run and nothing you run locally leaves the machine, which matters if you’re handling anything sensitive. The smaller models that fit on an ordinary laptop suit the simpler jobs best.

Stage 4: agents talking to each other.

This is one lead agent splitting a job and handing the pieces to specialists, then pulling the answers back together. Claude’s SDK calls them subagents; OpenAI’s calls it handoffs. There’s also A2A, the Agent2Agent protocol, an open standard for agents built by different vendors to talk to each other.

It’s genuinely useful for big jobs that split cleanly into parallel parts, like researching ten suppliers at once. For most personal use? Overkill. And it costs: Anthropic’s own engineering blog reports that agents use about 4 times the tokens of a normal chat, and multi-agent systems about 15 times. That adds up fast, and it’s rarely worth it for checking your calendar.

Try it yourself

Three prompts, each doing a different job. Copy them in and change the bracketed bits.

First, the identity layer, the bit that makes it your assistant rather than a generic one. Put it in your Project instructions, your Gem’s instructions, or the top of your memory file:

You are my assistant. About me: [three lines]. How I work: [three lines]. Never send, buy or delete anything without asking me first. When you learn something stable about me, tell me and ask before saving it.

Then the daily brief. This only works once you’ve connected your calendar and email and set it up as a scheduled task or scheduled action:

Every weekday at 7am, give me: today's calendar, the three emails that need me, and anything due this week. Under 150 words.

And a third one, which is more useful than it sounds, because it makes the assistant be honest about what you actually need before you start building:

Here is what I want my assistant to do: [list]. Split it into what a Project with instructions can do, what needs a connector, and what needs code I run myself. For each code item, say what it would cost me roughly and what could go wrong.

Run that last one and pay attention to the answer. It’ll tell you, more or less, whether you need stage two or three at all. A lot of people don’t. Treat its cost guesses as rough, and check them against the pricing pages.

Check the result

Run four tests before you trust any of this.

Ask three questions only your own files or instructions could answer, things a generic assistant would have to guess at. Watch a scheduled message actually arrive at the time you set. Try an action that should need approval, sending an email, say, and confirm it stops and asks first rather than just doing it. Then, after a day of use, go and read your usage or billing page. Not glamorous, but necessary.

If all four pass, you’ve got something dependable. If one fails, you know exactly where to look.

If it doesn’t work

Three things tend to go wrong, and they’re all boringly fixable.

It forgets you. Usually memory is switched off somewhere, or you’re inside a Gem (Gemini’s memory of past chats doesn’t work there), or you’re in an incognito chat, which never saves anything by design.

A connector sees nothing. Reconnect it, and check which account it actually signed into. It’s often not the one you think.

The bill climbs. Turn off whatever loop is running, cap your spend if the platform lets you, and swap to a smaller or local model for anything that doesn’t need the expensive one.

On privacy and safety: any agent with access to your email or your card is acting as you. Every send, every payment, every delete needs your approval, no exceptions. Only connect services you actually trust, because a connector can read and change things in that service with your permissions. And never put a password, an API key or someone else’s private data into an instruction, a memory setting or a memory file. It sits there in plain text.

If you do reach stage three: never share your API key, never commit it to a repository, never put it inside browser or phone app code. Keep it in an environment variable or a proper secret store, set an expiry, rotate it, and check your usage now and then. Someone with your key spends your money.

Questions people ask

Do I need to pay or use an API key to build my own AI assistant?

Stages one and two run on the plan you already pay for, or the free one, with no API key needed. Stage three does need one, and API use is metered per token, billed separately from a ChatGPT subscription, while a paid Claude plan doesn't include the Claude API or Console either.

Can I still create a custom GPT in ChatGPT?

No, not on a personal plan. Custom GPTs are scheduled to be retired on 11 December 2026 and new ones can't be created on personal accounts at all now, Free, Go, Plus or Pro. Use a ChatGPT Project instead, paired with Memory and Scheduled tasks.

Which assistant should I use: ChatGPT, Claude or Gemini?

It doesn't much matter which, use the account you already use most days. Claude is a bit more generous, with Projects on every plan and memory on by default, while Gemini's version is Gems and ChatGPT uses Projects. Pick one platform and turn memory on.

What should I never put into an AI assistant's memory or instructions?

Never put a password, an API key or someone else's private data into an instruction, a memory setting or a memory file, because it sits there in plain text. At stage three, keep your API key in an environment variable or a proper secret store, never in a chat, document or repository.

How do I test that my AI assistant actually works?

Run four tests: ask three questions only your own files or instructions could answer, watch a scheduled message arrive at the time you set, try an action that should need approval and confirm it stops and asks first, then read your usage or billing page after a day of use.

Keep exploring

If you want your assistant to hold on to more about you, start with “How to get AI to remember context”. For an assistant that writes its own plans and notes and reads them back next session, see “How to get AI to update itself”. For handing the weekly chores to AI with you still in charge, there’s “How to get AI to automate repetitive tasks”. And if running everything on your own machine appeals, “How to get AI to run on my own computer” covers that properly.

Sources and review notes

https://help.openai.com/en/articles/20001519-custom-gpt-retirement-and-migration-faq https://help.openai.com/en/articles/8554397-creating-and-editing-gpts https://help.openai.com/en/articles/20001256-plugins-in-chatgpt-and-codex https://help.openai.com/en/articles/10169521-projects-in-chatgpt https://help.openai.com/en/articles/8590148-memory-in-chatgpt https://help.openai.com/en/articles/10291617-scheduled-tasks-in-chatgpt https://help.openai.com/en/articles/11487775-connectors-in-chatgpt https://help.openai.com/en/articles/12584461-developer-mode-and-mcp-apps-in-chatgpt https://help.openai.com/en/articles/9039756-billing-settings-in-chatgpt-vs-platform https://help.openai.com/en/articles/5112595-best-practices-for-api-key-safety https://support.claude.com/en/articles/9517075-what-are-projects https://support.claude.com/en/articles/10185728-understanding-claude-s-personalization-features https://support.claude.com/en/articles/11817273-use-claude-s-chat-search-and-memory-to-build-on-previous-context https://support.claude.com/en/articles/11176164-use-connectors-to-extend-claude-s-capabilities https://support.claude.com/en/articles/11175166-get-started-with-custom-connectors-using-remote-mcp https://support.claude.com/en/articles/9876003-i-have-a-paid-claude-subscription-pro-max-team-or-enterprise-plans-why-do-i-have-to-pay-separately-to-use-the-claude-api-and-console https://support.claude.com/en/articles/15036540-use-the-claude-agent-sdk-with-your-claude-plan https://support.claude.com/en/articles/9767949-api-key-best-practices-keeping-your-keys-safe-and-secure https://support.google.com/gemini/answer/15146780 https://support.google.com/gemini/answer/16598469 https://support.google.com/gemini/answer/16316416 https://support.google.com/gemini/answer/13695044 https://support.google.com/gemini/answer/17209137 https://modelcontextprotocol.io/docs/getting-started/intro https://modelcontextprotocol.io/docs/develop/connect-local-servers https://zapier.com/agents https://www.make.com/en/ai-agents https://docs.n8n.io/build/integrate-ai https://code.claude.com/docs/en/agent-sdk/overview https://code.claude.com/docs/en/agent-sdk/permissions https://code.claude.com/docs/en/agent-sdk/subagents https://openai.github.io/openai-agents-python/ https://openai.github.io/openai-agents-python/human_in_the_loop/ https://openai.github.io/openai-agents-python/handoffs/ https://developers.openai.com/api/docs/guides/realtime https://elevenlabs.io/docs/eleven-agents/overview https://ollama.com/ https://a2a-protocol.org/latest/ https://www.anthropic.com/engineering/multi-agent-research-system https://developers.openai.com/api/docs/pricing https://claude.com/pricing

Review date: 26 September 2026. Every source above was opened and checked against the text on that date. Custom GPT retirement dates, Gemini’s US-only custom apps and Anthropic’s Agent SDK billing were all changing at the time of writing, so check those three first.