Model or dataset
L-a-r-t/chatgpt-to-notion avatar
L-a-r-t/chatgpt-to-notion

Chat to Notion: a Chrome extension for saving LLM answers into Notion databases

ChatGPT to Notion brings the cleverness of ChatGPT right into your Notion workspace!

394 stars74 forksTypeScriptLicense varies

At a glance

What is it?
Chat to Notion (formerly ChatGPT to Notion) is a Plasmo and TypeScript browser extension that pins individual LLM replies or whole conversations into a Notion database you choose. It is narrow on purpose, and the README admits unfixed bugs, especially on Edge.
Who is it for?
Adopt Chat to Notion if you already keep notes in Notion and want per-answer pinning rather than a generic web clipper, and if you accept a third-party server holding your Notion token. Do not adopt it if you need a documented, stable build for Edge or a formal support commitment; the README itself flags unfixed bugs there and the repository has no releases to pin.
Can I use it commercially?
Not without permission. GitHub finds no licence file in the repository, and without a licence all rights are reserved by default: you may read the code but not reuse it. Check the README, or ask the authors, before using it.
Is it still maintained?
Yes. The repository last received commits 10 days ago.
What is it written in?
Mainly TypeScript, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

The gap Chat to Notion fills between a chat transcript and a Notion database

Generic web clippers save a page. A ChatGPT conversation is not a page in that sense: it is a scrolling list of prompts and answers, each answer rendered as markdown with code blocks, tables and formulas. The README states the motive directly, saying that existing save-to-Notion tools "fall short when trying to save a conversation with ChatGPT." That is the problem statement, and it is a fair one. The unit people want to keep is usually a single answer, not the whole thread.

The audience is narrow and identifiable. You need a Notion account, a database you are willing to write into through an integration, and a habit of reading LLM output in the browser rather than in an API client. If you copy answers into Notion by hand today, this is aimed at you. If your notes live in Obsidian, or you already script the OpenAI API into your own store, the extension adds a browser dependency you do not need. The README also frames the scope expansion: the tool started on ChatGPT and now covers DeepSeek, Claude and Mistral, with Perplexity and Grok listed on the roadmap as not yet done.

How the pin icon, the popup and the Express token server fit together

The mechanism is visible in two places: the README's usage section and the manifest inside package.json. On a supported chat site, the extension injects a pin icon under each answer. Clicking it sends that answer plus the related prompt to Notion. The popup handles the other case, saving the whole discussion. You can link several databases and pick one at save time.

The manifest tells you what the extension is allowed to touch. Host permissions cover api.notion.com, chatgpt-to-notion.onrender.com, chat.openai.com, chatgpt.com, chat.deepseek.com, chat.mistral.ai and claude.ai. Runtime permissions are tabs, webRequest and scripting. Note the second host: a Render-hosted Express server that the README says lives on the "server" branch and exists for "the secure long-term storage of Notion's access tokens." That is an architectural choice worth naming plainly. Your Notion token is not only in your browser profile; it passes through someone else's hosted service. The README does not document the server's storage, retention or revocation behaviour.

The conversion path is also inferable from dependencies rather than prose. @notionhq/client talks to the Notion API, @tryfabric/martian converts markdown to Notion blocks, and node-html-markdown runs the other direction. That stack explains why markdown fidelity matters here, and why the README's roadmap item about "ready math markdown" is a real open question rather than a cosmetic one: martian has to translate formulas into Notion's block format, and the README does not claim that works for every expression.

Installing and saving your first answer

The primary install path is the Chrome Web Store listing linked from the README, listed as Chat to Notion. There is no published release on the repository, so there is no tagged artifact to download and pin. If you want to run the source, the package.json scripts are the entry points, and the project uses pnpm (pnpm-lock.yaml and pnpm-workspace.yaml are both at the top level).

The package.json scripts block declares three commands, named dev, build and package. The dev script runs plasmo dev and the build script runs plasmo build, which is the sequence a source checkout follows: install the dependencies, then start the Plasmo dev build.

The README does not describe the load-unpacked step or the output directory, so treat the dev server's own console output as the source of truth for where the unpacked build lands before you point the browser at it. The third script, package, runs plasmo package and produces the distributable artifact.

Once the extension is loaded, the flow is the one the README describes. Open a conversation on ChatGPT, DeepSeek, Claude or Mistral. A pin icon appears under each answer. Click it to save that answer and its prompt. To save the entire thread instead, open the extension popup. If you have linked more than one database, you choose the destination at save time. If a page with the same title already exists in that database, the README states the new content is appended to the end of that page rather than creating a duplicate.

The append-on-same-title rule is the sharpest edge here

Most reviews of this extension stop at "it saves chats." The behaviour that actually decides whether it fits your workflow is the title collision rule. The README says that when a page with the same title already exists in the database, the newly saved content is appended to the end of that page. There is no documented merge prompt, no diff, and no rollback described in the README. If two different conversations produce the same generated title, their contents end up in one page, in save order.

That is a design trade-off, not a bug, and for a personal archive it is often the right call: you get one growing page per topic instead of dozens of near-duplicates. But it means the database's title property is load-bearing. If your Notion database has no title property the extension can match, or if titles are generated in a way that collides often, the append path fires when you did not intend it to. The README does not document rollback, so undoing a bad append is a manual Notion edit.

The second limitation is stated by the maintainer, not inferred. The README opens with a note that there are unfixed bugs, "especially on Edge browser," and that fixes are planned over the following weeks after a period away for internships and studies. The repository is not archived and the last push was on 2026-09-06. That is recent, but a recent push is not the same as a shipped release, and the repository shows no retrieved releases. If you need a browser other than Chrome, or you need a version number you can hold fixed across a team, this is the wrong tool today.

Chat to Notion versus a general-purpose web clipper

The obvious alternative is a general web clipper pointed at the chat page. The difference is structural rather than cosmetic. A clipper reads the rendered DOM of the page and captures what it sees, which for a long ChatGPT thread means either the visible viewport or a scroll-and-stitch pass, and the result is usually one page per capture with the conversation as flat text. Chat to Notion works at the level of the answer: the pin icon is attached to a specific response, so the saved unit is one prompt plus one reply, and the popup is a separate path for the whole thread.

The formatting path differs too. A clipper typically hands Notion HTML or plain text. This extension runs markdown through @tryfabric/martian, which targets Notion's block model, so code blocks and tables have a chance of arriving as native blocks rather than as preformatted text. That is the real reason to choose it over a clipper, and it is also where the README leaves the most unsaid: it does not promise that every markdown construct survives, and math conversion is listed as roadmap work rather than a finished feature.

The cost of the specialised approach is coverage. A clipper works on any page. Chat to Notion works on the six hosts named in the manifest, and its roadmap lists Perplexity and Grok as still unsupported. If your LLM usage is spread across tools, you would be running two systems.

Maintenance, licence and upgrade cost

The repository is not archived and the last push was on 2026-09-06. The README's own note about being away for internships and studies, followed by a commitment to fix bugs, is the honest picture: this is a single-maintainer project with a stated intent to catch up, not a funded product with a release cadence. Version 2.0.1 in package.json is the only version number visible, and no releases were retrieved, so there is no changelog-driven upgrade path to plan around even though CHANGELOG.md exists at the top level.

The licence is the bigger gap. The repository metadata does not identify one, and the README does not state one. That matters more than usual here because the extension ships a hosted server component on the "server" branch that handles Notion access tokens. Without a declared licence, you have no stated grant to redistribute, fork or run that server yourself. That is not a legal opinion, just the absence of a fact you would want before depending on the code. If you only install the published extension from the store, the licence question is about the code, not about your use of the extension.

The upgrade cost is low in the normal case: Chrome extensions update themselves. The cost that is not low is the browser matrix. The README flags Edge bugs specifically, so a team standardising on Edge should treat this as unverified until the maintainer's stated fixes land.

Editorial conclusion

Adopt Chat to Notion if you already keep notes in Notion and want per-answer pinning rather than a generic web clipper, and if you accept a third-party server holding your Notion token. Do not adopt it if you need a documented, stable build for Edge or a formal support commitment; the README itself flags unfixed bugs there and the repository has no releases to pin. Verify first that your target Notion database has a title property the extension can match on, because the append-on-same-title behaviour depends on it.

Frequently asked questions

How do I add ChatGPT to Notion with Chat to Notion?

Install the extension from the Chrome Web Store listing, open a conversation on a supported site, and click the pin icon that appears under an answer to save that answer and its prompt. To save the whole discussion instead, use the extension popup. You can link several Notion databases and choose the destination at save time.

Is it possible to connect ChatGPT to Notion with Chat to Notion?

Yes, through the extension rather than through a native integration. It writes into a Notion database you link, and if a page with the same title already exists there, the README says the new content is appended to that page instead of creating a duplicate.

Which LLMs does the Chat to Notion Chrome extension support?

The README names ChatGPT, DeepSeek, Claude and Mistral, and the manifest lists their host permissions. Perplexity and Grok are listed on the roadmap as not yet supported.

Does Chat to Notion work in Edge?

The README states there are unfixed bugs, especially on Edge browser, and that the maintainer plans to fix them. Until those fixes land, Edge should be treated as unverified.

Where does Chat to Notion store my Notion access token?

The README says a simple Express server hosted on a free Render webservice, found on the server branch, allows the secure long-term storage of Notion's access tokens. The README does not document that server's retention or revocation behaviour.

Official sources

  1. Issues
  2. L-a-r-t/chatgpt-to-notion on GitHub
  3. Project website
  4. README
Community notes

Community notes