Integration details
Description
NoveLandは、物語を書くためのエディタと、書いた小説を公開して読める投稿サイトを兼ねたサービスです。本アプリを繋ぐと、NoveLandに置いてある作品のデータをChatGPTの会話から直接読み書きできます。 扱えるのは、作品・章・エピソード・キャラクター・用語・ドキュメント・相関図・伏線です。ユーザーは自分の非公開ワークスペースにて、キャラクターや用語の設定を整理しながら物語構造を作品内で一貫して管理できます。 登録済みのキャラクター・用語・エピソードから、その場で図を組み立てることもできます。関係性のグラフ、時間軸の図、棒グラフ・折れ線グラフ、家系図の4種類です。描いた図は会話の中で見るためのもので、作品には保存されません。
- Integration type
- Plugin
- Verification status
- Not applicable
- Platform
- ChatGPT
- Primary Subcategory
- Writing & Copy Assistance
- Secondary Subcategories
- None listed
- Brand
- NoveLand
- Access
- Account required
- First tracked
- 2026-08-13
- Tool count
- 58
- Geography
- US
The Primary Subcategory used for this profile’s headline score.
Other Subcategories where the Integration is listed.
Get alerts for NoveLand
Get updates when NoveLand’s Discoverability Score or category rank changes.
ChatGPT Plugin Discovery Score
ChatGPT Plugin discovery is coming soon
ChatGPT can surface a Plugin when it matches a user's request.Your Plugin Discovery Score measures how often yours appears.
No spam. Unsubscribe any time.
What discovery looks like

Competing in ChatGPT Writing & Copy Assistance
View Category58 tools agents can invoke
Assigns or removes speakers of paragraphs in an episode, in a batch. A single change is also passed as one entry in assignments. Paragraph text is not modified. Paragraphs are identified only by paragraphId, which is the blockId returned by get_episode(contentFormat="blocks"). **all-or-nothing**: if any paragraphId is unknown, the whole call fails and nothing is changed. Repeating the same paragraphId is an error. updated_paragraphs is returned in input order.
noveland_assign_speaker
Gets which characters and objects (worldbuilding terms) use an attribute key, to check the impact before deleting or renaming it. usingBaseObjects is sorted by name in ascending order. type is character or object. usageCount is the number of distinct characters and objects.
noveland_get_attribute_key_usage
Creates characters in a novel. Pass an array, even for a single character. memo is NoveLand Markdown (supports `:code:` embeds and `[[doc:id|label]]` links, where id is a UUID returned by list_documents). attributes sets values for attribute keys, which must already exist (created with `create_attribute_key`). **all-or-nothing**: if any item fails, the whole batch is rolled back. On error, the response includes `failedIndex` (0-based) and `totalCount`; `failedIndex` is the position of the failed item.
noveland_create_character
Creates an attribute key (custom field). options is required when valueType is `select` and not allowed for other value types.
noveland_create_attribute_key
Creates a relationship diagram.
noveland_create_diagram
Creates a document (author's notes not included in the body text) in a novel. The content is NoveLand Markdown (supports `:code:` embeds of characters and objects (worldbuilding terms), and `[[doc:id|label]]` links to documents, where id is a UUID returned by list_documents).
noveland_create_document
Creates a new episode in a novel. content is NoveLand Markdown. Required: every body-text paragraph starts with `[p]` (narration) or `[speaker:code]` (dialogue). A new paragraph starts only at a paragraph marker; blank lines make no difference. Other block syntax (`[scene-marker:...]` / `[illust ...]`) is also allowed. Details: resource `noveland://docs/scene-editor-syntax`. Required: to write `|` `《` `》` `:` as literal characters, escape them with a backslash, as in `\:`. ASCII letters, digits, `_` and `-` between two colons are read as a reference, so the time `12:30:00` is written `12\:30\:00` (unescaped, it fails with `Unknown code(s): 30`). Body text returned by get_episode is already escaped, and the backslashes must be kept when writing it back. Format example: [speaker:taro]"Hello." [p]:taro: said. AI-usage record: each call counts immediately toward the "AI used to generate body text" (text_generated) AI-usage classification, whether or not content is provided. Details: resource `noveland://docs/ai-usage-classification`.
noveland_create_episode
Creates a foreshadowing entry. Setup and payoff episodes are linked afterwards with `noveland_link_foreshadowing_episode`.
noveland_create_foreshadowing
Creates a new novel.
noveland_create_novel
Creates a section (chapter) in a novel. detail is NoveLand Markdown (supports `:code:` embeds of characters and objects (worldbuilding terms), and `[[doc:id|label]]` links to documents, where id is a UUID returned by list_documents).
noveland_create_section
Creates objects (worldbuilding terms: proper nouns such as places, items and organizations) in a novel. Pass an array, even for a single object. memo is NoveLand Markdown (supports `:code:` embeds and `[[doc:id|label]]` links, where id is a UUID returned by list_documents). attributes sets values for attribute keys, which must already exist (created with `create_attribute_key`). For an object with an object type, only the keys of that object type are accepted. **all-or-nothing**: if any item fails, the whole batch is rolled back. On error, the response includes `failedIndex` (0-based) and `totalCount`; `failedIndex` is the position of the failed item.
noveland_create_object
Creates an object type (term category) in a novel. It is added at the end of the display order.
noveland_create_object_type
Deletes a character. A character cannot be deleted while it is published, or while episode body text uses it as a speaker, a reference, or through a nickname.
noveland_delete_character
Deletes an attribute key. All values entered for it and all its options are deleted as well.
noveland_delete_attribute_key
Deletes a diagram along with its nodes and edges. A published diagram cannot be deleted.
noveland_delete_diagram
Deletes a document. A published document cannot be deleted.
noveland_delete_document
Deletes an episode. A published episode cannot be deleted.
noveland_delete_episode
Deletes a foreshadowing entry along with its links to episodes. The body text of the episodes is not affected.
noveland_delete_foreshadowing
Deletes a section (chapter). stashEpisodes=true (default): the episodes in the section are moved to the stock before the section is deleted. stashEpisodes=false: the section and all its episodes are deleted. A section that contains published episodes cannot be deleted. Those episodes are the ones with `isPublished: true` in `noveland_list_episodes(sectionId=...)`; the deletion succeeds after they are unpublished.
noveland_delete_section
Deletes an object. An object cannot be deleted while it is published, or while episode body text references it directly or through a nickname.
noveland_delete_object
Deletes an object type. Objects in it are kept without an object type. The attribute keys defined for this object type, and the values entered for them on every object, are deleted and cannot be restored.
noveland_delete_object_type
Draws elements of a novel as a bar or line chart: length per episode, appearances per character, and anything else compared by numbers. The drawing is not saved. Important: up to 100 categories, 8 series, and 300 points across all series together (exceeding a limit is an error; nothing is omitted automatically). kind is bar (side-by-side comparison) or line (a trend along the order of categories). Important: the horizontal axis is categories, and the points of each series refer to them by categoryId. An unknown categoryId, or the same categoryId twice within a series, is an error. A categoryId missing from a series is treated as missing data, not as 0 (the bar is left empty and the line breaks). Important: the server does not compute the values; the caller supplies them. Text length and the number of characters (people) appearing per episode are available in one call from noveland_list_episodes (plainTextLength / speakerCharacterCount / referencedCharacterCount). Important: real characters, objects (worldbuilding terms) and episodes are given by ID in the ref of categories; the server resolves their official names (avatars appear on the axis only for characters and objects; episodes show the official name only). Elements written with label are shown distinctly, as elements placed by the AI.
noveland_draw_chart
Draws the characters of a novel as a family tree: each generation is aligned in a row, and children descend from between their parents. Suited to an overview of blood relations and marriages. The drawing is not saved. Important: up to 60 people and 60 unions. Exceeding a limit is an error (nothing is omitted automatically). Important: a union has 1 or 2 partners (1 means a single parent). A person with several partners appears in separate unions. A person can be a child in one union only; listing them in two is an error. Important: real characters and objects (worldbuilding terms) are given by ID in ref; the server resolves their official names and avatars. Elements written with label instead of an ID are shown distinctly, as elements placed by the AI.
noveland_draw_family_tree
Draws elements of a novel as a relationship graph: relationships between characters or factions, chains of cause and effect, and anything else expressed with names and arrows. The drawing is not saved. Important: up to 60 nodes and 150 edges. Exceeding a limit is an error (nothing is omitted automatically). Important: real characters, objects (worldbuilding terms) and episodes are given by ID in ref; the server resolves their official names and avatars. Elements written with label instead of an ID are shown distinctly, as elements placed by the AI.
noveland_draw_graph
Draws elements of a novel as a timeline (Gantt style). Each band stands for a character, faction or matter, and its segments show what state it was in from one episode to another. The drawing is not saved. Important: a band lists its segments in segments. A change of state is a new segment with its own label (e.g. episodes 1-5 "doubt" / 6-12 "wavering" / 13-20 "acceptance"). A period of absence is a gap between segments. Labels are optional; a band that only shows where something appears has a single segment. Labels fit inside the bar only when short (about 4-8 CJK characters, or roughly twice that in Latin letters); longer ones are readable only on hover. Important: up to 10 bands, 60 segments in total, and 30 arrows. Exceeding a limit is an error (nothing is omitted automatically). Important: the horizontal axis is story order (section order, then episode order within a section), not in-story dates. Episodes in the stock (not in any section) cannot be placed on the axis and cause an error. A segment's fromEpisodeId must not come after its toEpisodeId (both may be the same episode), and segments in the same band must not overlap. An arrow whose atEpisodeId falls outside the axis range derived from the segments is not an error, but its point in time is not drawn. Important: a band is named by its ref. Real characters, objects (worldbuilding terms) and episodes are given by ID in ref; the server resolves their official names and avatars. Elements written with label instead of an ID are shown distinctly, as elements placed by the AI.
noveland_draw_timeline
Adds or removes a link between a foreshadowing entry and an episode. add requires type (`setup` or `payoff`). Linking an episode that is already linked is an error. remove does not require type (it is ignored). Removing a link that does not exist is an error. An episode cannot be linked as both setup and payoff. Changing the type is a remove followed by an add.
noveland_link_foreshadowing_episode
Adds, updates or deletes the relationship between two characters or objects (worldbuilding terms) in a diagram. forward (fromId -> toId) and reverse (toId -> fromId) are set independently. An empty description deletes that direction. Missing nodes are created when a relationship is added. Deleting a relationship keeps the nodes. strokeWidth / strokeStyle keep their current values when omitted.
noveland_upsert_relationship
Converts plain text in the body text into references to characters or objects (worldbuilding terms). The displayed text stays the same. Text that already has a reference, ruby or emphasis dots is skipped, so nothing is applied twice. **items takes the conversions as a batch.** They are saved at once, which is faster than one call per item and less likely to hit rate limits. The single form (targetText + objectCode) exists for backward compatibility. Passing both forms, or neither, is an error. items are applied in array order (up to 200). Placing longer text first avoids matching a substring of it by mistake. **all-or-nothing**: if any item is not found in the body text, the whole call fails and nothing is changed. The error message lists the items that were not found (up to 50), so they can be fixed in one retry. With items, **also placing targetText / objectCode / nicknameId / paragraphId / match / speakerScope at the top level is an error**. paragraphId and match go inside each item. speakerScope (filtering by speaker) exists only in the single form. Text that differs from the name of the character or object and is not yet a registered nickname is registered as a nickname and then referenced. paragraphId limits the search to one paragraph (blockId from get_episode(contentFormat="blocks")). paragraphId and speakerScope are combined with AND. matched_paragraph_ids is returned in paragraph order without duplicates, and can be reused as paragraphId in later calls.
noveland_embed_object_ref
Gets the signed-in user, the default AI-feature level applied to new novels, and the operations that level restricts (blocked). `aiFeatureLevel` is the initial AI setting for novels created from now on, and also determines whether novels can be created. Each existing novel has its own level, returned as aiFeatureLevel by noveland_list_novels. Operations beyond the applicable level return a FORBIDDEN error. FORBIDDEN errors from per-novel operations (tools that take a novelId) include `settingsUrl` (the novel's settings page). Restrictions that come from the default itself carry no `settingsUrl`; `upgradeHint` describes how to change the level. The AI-usage classification based on actual use (the detection axis) is separate from this permission setting. Details: resource `noveland://docs/ai-usage-classification`.
noveland_get_me
Gets the full details of a character, including attribute values, nicknames, first-person pronouns and memo.
noveland_get_character
Used only by NoveLand widgets; not a tool for the model. The result is intermediate data for rendering and is not usable as an answer in the conversation.
noveland_view
Gets the details of a diagram: the characters and objects (worldbuilding terms) on it, including those without any relationship, and the relationships between them with their names.
noveland_get_diagram
Gets the details of a document. The content is returned as NoveLand Markdown (`:code:` references characters and objects (worldbuilding terms), `[[doc:id|label]]` links to documents), together with the list of what it references.
noveland_get_document
Gets an episode's details. contentFormat selects the format of the body text. plain: plain text as readers see it noveland-markdown: NoveLand Markdown including speakers, references, ruby (reading annotations such as furigana or pinyin) and more (lossless round trip) - Paragraph start: [p] (narration) or [speaker:code] / [speaker:code1,code2] (dialogue; several speakers at once) - Paragraph break: a blank line (\n\n). The next paragraph still starts with [p] or [speaker:...] - Character or object reference: :code: or :code[nicknameId]: - Ruby: |base《reading》; emphasis dots: 《《text》》 - Illustration: [illust src="url" alt="description" appearances="code1,code2"] - Scene break: [scene-marker:title] blocks: a structured array of blocks (best for paragraphId-based edits and for finding paragraphs that still lack speakers or references) - Each blocks[] item has blockId / type / index - paragraph: text (plain) / speakerCodes / objectRefs / hasRuby / hasDots - illustration: src / alt / appearanceCodes - scene-marker: title - In blocks mode, no content string is returned (the blocks array replaces it) Every contentFormat adds paragraph stats at the top level (same keys as includeParagraphStats in list_episodes).
noveland_get_episode
Gets a novel's details, including the total text length in characters across all its episodes, stock included (plainTextLength excludes whitespace; plainTextLengthIncludingWhitespace does not).
noveland_get_novel
Gets the details of a section (chapter). detail is returned as NoveLand Markdown.
noveland_get_section
Gets the full details of an object, including attribute values, nicknames and memo.
noveland_get_object
Lists the characters in a novel. Attribute values and memos are not included. Supports cursor pagination.
noveland_list_characters
Lists the attribute keys (custom fields) of a novel. usageCount is the number of distinct characters or objects (worldbuilding terms) that have a value for the key; 0 means the key is unused. Details: noveland_get_attribute_key_usage.
noveland_list_attribute_keys
Lists the relationship diagrams of a novel. Supports cursor pagination.
noveland_list_diagrams
Lists the documents of a novel (content is not included). Supports cursor pagination.
noveland_list_documents
Lists the episodes of a novel. Filter with sectionId or stockOnly. Supports cursor pagination. Order: by section, then by position within the section. Episodes in the stock (not in any section) come last. Each episode always includes counts that help decide which episodes to work on first: - speakerCharacterCount: distinct characters who speak (have dialogue) - referencedCharacterCount: distinct characters referenced with :code: in the body text (passing mentions included) - referencedObjectCount: distinct objects (worldbuilding terms other than characters) referenced with :code: in the body text - totalObjectRefCount: total number of :code: references to characters and objects, nicknames included. Counts occurrences, not distinct entries - isPublished: whether the episode is published (false for unpublished drafts) includeParagraphStats=true adds the following (costs more, because each episode's Lexical content is parsed): - totalParagraphCount: number of paragraphs (ParagraphBlock) - paragraphsWithSpeakerCount: number of paragraphs with at least one speaker
noveland_list_episodes
Lists the foreshadowing entries of a novel. episodes[].type is `setup` or `payoff`. A foreshadowing entry without a payoff is unresolved. episodes[].id matches the episode id.
noveland_list_foreshadowings
Lists the novels the user can access, including each novel's aiFeatureLevel (the level of AI features permitted for that novel). Supports cursor pagination.
noveland_list_novels
Lists the sections (chapters) of a novel. Supports cursor pagination.
noveland_list_sections
Lists the object types (term categories) of a novel in display order.
noveland_list_object_types
Lists the objects (worldbuilding terms: proper nouns such as places, items and organizations) in a novel. Attribute values and memos are not included. Supports cursor pagination.
noveland_list_objects
Removes references to characters or objects (worldbuilding terms) embedded in the body text, in a batch. The displayed text stays the same; only the reference is dropped. Without paragraphId, the whole episode is searched. targetText narrows the removal to references embedded with that text. **all-or-nothing**: if any item matches no reference, the whole call fails and nothing is changed. Items that match the same reference are also an error. **A character or object that is still embedded cannot be deleted.** Deleting it requires removing its references with this tool in every episode first, and removing its speaker assignments with assign_speaker.
noveland_remove_object_ref
Searches episodes by keyword or narrows them down with filters (PGroonga full-text search). Takes a keyword (query), filters (sectionIds / characterIds / objectIds), or both; at least one is required. Search syntax: space-separated words are combined with AND, the OR keyword combines with OR, and "quoted words" match as a phrase. Without query, it can list, for example, every episode a character appears in, in story order. Default sort: relevance (descending) with query; story order without. sortField=relevance requires query and sorts in descending order only. Each hit always includes speakers / referenced_characters / referenced_objects.
noveland_search_episodes
Updates characters. Pass an array, even for a single character. memo is NoveLand Markdown (supports `:code:` embeds and `[[doc:id|label]]` links, where id is a UUID returned by list_documents). attributes sets values for attribute keys, which must already exist (created with `create_attribute_key`). In nicknames / firstPersonNames, an entry with id updates it and an entry without id creates one. Deletion uses delete*Ids. **all-or-nothing**: if any item fails, the whole batch is rolled back. On error, the response includes `failedIndex` (0-based) and `totalCount`; `failedIndex` is the position of the failed item.
noveland_update_character
How do I improve a ChatGPT Plugin's discoverability?
The levers are the listing surface agents actually read: names, descriptions, keywords, tool metadata, and registry health. Which lever matters depends on where discovery breaks, which is what continuous measurement shows.
What are NoveLand alternatives on ChatGPT?
As of 2026-09-28, NoveLand competes with BluTranslate, Change.org: Start a Petition, Content Lab, CorretorIA, DeepL, Dramatica, IHate.ai Humanaizer, Jessie Script Director, LinkedIn Headline Rewriter, Nashville Real Estate AI, Proposal.Biz, RewriteLy Humanizer, Scriber Studio, ShotClick, Teleprompter.com, TextExpander, Wordy- Highlight+Annotate Text, Writing Blocks, Yipai in ChatGPT Writing & Copy Assistance, ranked by public Discoverability Score.
Where is this profile measured?
This profile uses the geography attached to the latest public registry snapshot: US. Locale tags are intentionally omitted.