DAVID34 downloadsCreate Markdown notes through a paired relay, Lite links or an advanced GitHub inbox.
Create new Markdown notes in your current Obsidian vault from ChatGPT or another compatible MCP client. Choose which folders may receive notes, and check delivery receipts instead of assuming a queued note has arrived.
An independent MIT-licensed project by David Segade. It is not an official Obsidian or OpenAI product.
Start here: Install ChatGPT Inbox Community in Obsidian and choose the mode that matches your needs. Installing the plugin does not automatically create a hosted relay or a custom ChatGPT connector.
obsidian://new link and confirm it in Obsidian. No hosted server or database is required; delivery is user-initiated and there is no remote receipt.On iPhone: Leave Obsidian open and active when receiving notes, or use Recibir ahora in Relay mode. The Mac can be off. iOS does not deliver relay notes while Obsidian is suspended in the background. A queued receipt is not proof of a saved note; only delivered confirms that Obsidian verified the write.
Existing installations: Upgrading the plugin does not migrate credentials from a different plugin ID. Avoid changing a working relay origin, device secret or OAuth registration unless you intend to reconnect.
Obsidian 1.14.5 or later. The plugin is built for desktop and mobile, without Node.js or Electron dependencies in its installable bundle. Obsidian must be open and active to receive notes; iOS background delivery is not supported. The Mac does not need to be on when the receiving plugin is running on the iPhone.
| Mode | Requirements | Delivery |
|---|---|---|
| Relay | A trusted HTTPS relay, and a ChatGPT account/client allowed to use custom MCP write tools | Queue and verified delivery receipts |
| Lite | An obsidian://new link opened by the user |
One tap; no remote delivery receipt |
| Advanced GitHub | A repository and a fine-grained, read-only Contents token in Obsidian; a separate writer able to create requests in that repository | Receive JSON requests while Obsidian is active |
No public relay is included or configured. For Relay mode, use an operator you trust or host the included server yourself. Hosting and database services may cost money. Your ChatGPT plan, client and workspace policies determine whether custom MCP write tools are available; paying for a plan alone does not prove access. No OpenAI API key is required. Custom MCP setup documentation.
The plugin is listed in the Obsidian Community directory. Search for ChatGPT Inbox Community in Community plugins, or open https://community.obsidian.md/plugins/chatgpt-inbox-community . It has not been manually reviewed by Obsidian staff.
For a candidate build, install it manually in a disposable test vault:
main.js, manifest.json and styles.css assets from the GitHub release. Source archives alone are not installable assets..obsidian/plugins/chatgpt-inbox-community/ in that vault (or the corresponding folder under its custom configuration directory).This plugin has its own ID and settings. It does not import credentials or replace another ChatGPT Inbox installation. On iPhone, install or sync the plugin files using your normal vault setup, then configure its secret on the iPhone itself. Copying data.json from another device does not transfer its secret.
An operator prepares the server once: see relay setup. Use a dedicated database and a relay privacy policy you can inspect.
ChatGPT Inbox, and use that as the default destination.https://relay.example. Use a distinct secret identifier on each device.https://relay.example/mcp, with OAuth. Select Connect / Conectar, and paste the code only into the authorization page of the relay you selected, not into the chat. An existing connection such as OB-ChatGPT is just the name chosen by its owner; other users create their own connection.queued, open Obsidian and select Recibir ahora, then check again. Only delivered confirms a verified write.The relay exposes listar_carpetas, crear_nota and consultar_estado. Notes are create-only; an existing unrelated file produces a conflict instead of being overwritten. Reusing the same retry key with the same content returns the same receipt. A revoked folder blocks the queued note until permission is restored or it expires.
Access tokens last up to one hour. The 0.4.1 relay issues rotating refresh tokens so a compatible OAuth client can renew access without another pairing every hour. Each refresh credential can be used once; replay revokes that client grant. A connection expires after seven days without refreshing, after thirty days in total, or at the rotation safety limit. Revoking the device in Obsidian invalidates its access and refresh credentials immediately.
Connections created by an older relay do not gain a refresh token automatically: authorize once again after upgrading. Automatic renewal also depends on the client; it has been exercised through protocol tests, not by waiting for every supported ChatGPT app to renew on a real device. Registered OAuth clients are retained so reconnecting does not require creating a new ChatGPT connector.
Reception checks at most once per configured interval (minimum 60 seconds; default 120), while Obsidian is active. Open Recibir ahora for an immediate check. Vault synchronization is a separate service and is not supplied by this plugin.
The setup assistant checks both the authorized default destination and the device connection before activating reception. A current relay also reports whether client authorization is complete. Choosing a folder does not grant access to another folder merely because it is the default destination.
The inbox distinguishes a verified local note waiting for its relay receipt from a confirmed delivery, a conflict and a blocked request. A failed receipt is retried with the existing identity; it does not create another note. Connection status and the last successful check do not by themselves confirm that a particular note arrived.
While Obsidian is active, transient failures retry after 1, 2, 4, 8 and at most 15 minutes. A manual receive can retry sooner, but must respect server rate limits. Requests have a 20-second deadline. Moving into the background releases outstanding waits; a late response cannot resume an obsolete receiver. Returning to Obsidian checks again when appropriate. These controls do not enable iOS background delivery.
After activating Relay mode, Crear nota de prueba y verificar creates a synthetic note inside the authorized default folder and queries its receipt. Its retry key is saved before contacting the relay, so interruptions or restarts reuse the same request. A delivered test also requires the expected local note and its identity. The test checks relay → Obsidian; send a note from your actual client to check that client's MCP tool access too. Running another test after confirmation deliberately creates another synthetic note. A new pairing also starts a new test sequence because the previous device grant has been revoked.
The test button requires the operator to update the separate relay to 0.4.4. Older relays continue normal reception and show an explanatory message for this optional feature. Updating the Obsidian plugin does not deploy or update a hosted relay.
Ver diagnóstico shows a report for review and optional native copy. It contains versions, transport, status, check timestamps and aggregate counts; it omits notes, paths, folder/vault names, server/repository addresses, request IDs, pairing codes and credentials. It is never uploaded automatically. See mobile acceptance for the distinction between automated, desktop and physical-iPhone evidence.
Lite produces an obsidian://new link locally. Open the link deliberately; it does not provide a remote receipt. Anyone who sees the link can read its encoded content. Long links or title conflicts should be checked before use.
Advanced GitHub mode reads request JSON files using GET requests to the repository you configure. Obsidian uses a fine-grained Contents read-only token. A separate writer must create those requests: do not assume that a ChatGPT GitHub connection can write. The wizard supplies the required request format and allowed folders. Paths are relative to the vault, without its name. Do not put private content in a public repository.
Relay mode sends authorized folder names, connection activity and delivery states to the chosen operator. The new note's title and content pass through the relay. HTTPS protects transport; the operator can see the plaintext. Existing vault notes are not uploaded by the receiver. Identity lookup and content verification stay local and respect current folder permissions. Hidden/configuration paths are blocked.
Pending content expires after 24 hours and is removed from the active store at delivery, conflict or expiry. Receipts and retry keys last up to 48 hours from creation. Backups and infrastructure logs have a separate retention policy, supplied by the operator. Credentials use SecretStorage locally and hashes on the relay; note paths, deduplication hashes and the latest 100 history entries are stored locally. No ads, client telemetry, analytics, remote code loading or self-updater are included. See privacy and permissions.
Version 0.4.3 is published in the Community directory and its automated review passed. Version 0.4.4 is the reliability candidate in this source tree until its release is published and scanned. Directory listing does not imply manual approval. Desktop acceptance was performed on Obsidian 1.14.5. A user reported the configured iPhone flow working; the exact iOS/Obsidian version and the full physical-device acceptance matrix remain to be recorded. See acceptance evidence and the submission checklist.
Build from source with Node.js 24:
npm ci
npm run verify
npm run package:community -- /absolute/new/staging-folder
npm run test:postgres additionally needs a new disposable local database and a restricted test role, as described in relay setup. Node.js is required for building and operating the separate relay, not for running the Obsidian plugin.
MIT.