xtiles_create_notification
ChatGPTCreate an in-app notification for the owner of the account you are working in, so they learn the work is done when they come back to it. It appears in their own notification feed inside xTiles: there is no recipient parameter and nothing is sent to anyone else. Call this AFTER you have finished all the work for the request, not before or mid-way. Call it once per place you touched (a project, or the Daily page), with one combined summary covering everything you did there — do not call it once per individual task/tile. If you touched two separate places, call this twice, once per place, each with its own url and summary.
xtiles_create_page_group
ChatGPTGroup existing pages together in the tab bar. Provide the view_ids of the pages to group (from xtiles_get_project_structure) and an optional title and color. Each page must currently be at the top level of the tab bar — to move a page already inside a different group, use xtiles_move_pages first (or after creating this group). Omit color to use the app default; the group can be recoloured later with xtiles_update_page_group. Returns the created group with its new id.
xtiles_create_project_from_markdown
ChatGPTCreate a new xTiles project from Markdown. The first # heading becomes the project title; ## headings become views; ### headings become tiles. At least one ## heading is required — a project with no views cannot be created. Returns the new project_id and view_id. If workspaceId is omitted, the first available workspace is used automatically.
xtiles_create_tasks
ChatGPTCreate one or more tasks. Provide projectId to create in a project, or omit for your personal tasks. If no assignees are explicitly specified, always call xtiles_get_current_user first to get the current user's id, then include them as an assignee by default.
xtiles_create_tiles_from_markdown_by_view
ChatGPTAppend tiles generated from Markdown into an existing xTiles view (page) by viewId alone. Preferred over xtiles_create_tiles_from_markdown_in_view — no projectId needed. Returns the affected view_id and IDs of the newly created tiles.
xtiles_create_tiles_from_markdown_in_my_planner
ChatGPTAppend tiles generated from Markdown into your personal planner for the period containing the given date. Returns the affected view_id and IDs of the newly created tiles.
xtiles_create_tiles_from_markdown_in_project_planner
ChatGPTAppend tiles generated from Markdown into a project planner for the period containing the given date. Returns the affected view_id and IDs of the newly created tiles.
xtiles_create_tiles_from_markdown_in_view
ChatGPTDEPRECATED — use xtiles_create_tiles_from_markdown_by_view instead (no projectId required). Append tiles generated from Markdown into an existing xTiles view (page). Returns the affected view_id and IDs of the newly created tiles.
xtiles_create_view_from_markdown
ChatGPTCreate a new view (page) inside an existing xTiles project from Markdown. The first ## heading becomes the view title; ### headings become tiles. Returns the new view_id. Use xtiles_list_projects to find the projectId.
xtiles_delete_page
ChatGPTDelete a page from the project's tab bar. Get viewId from xtiles_get_project_structure. Only pages listed by xtiles_get_project_structure are valid here. A planner day is not one of them: the API answers 404 for a page in another project and 409 for one inside this project’s planner. Read a planner day with xtiles_get_planner_content and write to it with xtiles_create_tiles_from_markdown_in_project_planner. THIS IS PERMANENT — there is no undo through this API. If the goal is just to get the page out of the way rather than gone for good, use xtiles_update_page with is_archived: true instead — reversible, unlike this. Approval is handled outside this call (the client asks the user before it runs), so once the user has named which page to delete, delete it rather than asking again in chat; ask only when you cannot tell which page they meant.
xtiles_delete_page_group
ChatGPTDelete a page group from the tab bar. Get groupId from xtiles_get_project_structure. DELETING A GROUP DOES NOT DELETE ITS PAGES — they are not removed, only ungrouped: they return to the top level of the tab bar. This is a safe, everyday tidy-up operation; there is no need to warn the user their pages will be lost, because they will not be. If the goal is to get the group and its pages out of the tab bar while keeping them grouped, use xtiles_update_page_group with is_archived: true instead — reversible, and keeps the grouping, unlike this. Never target a group whose system flag is true (the planner) — the API refuses it with a 409, and it should not be attempted.
xtiles_delete_tasks
ChatGPTDelete one or more tasks by IDs. Provide projectId for project tasks, or omit for personal tasks. Deletion is permanent and cannot be undone — confirm with the user before invoking.
xtiles_get_collection_content
ChatGPTFetch rows from an xTiles collection (database) view as CSV with pagination. Prerequisite: call xtiles_get_view_content for the collection page to learn its collection.views[] and pick a collection_view_id. The CSV header reflects the columns visible in that collection view; column types and IDs come from the collection schema. Note: server-side filtering is not yet exposed via this endpoint — apply any required filters client-side after fetching, or page through results until the desired rows are found.
xtiles_get_content_by_link
ChatGPTResolve any xTiles link to the content it points at. Use this whenever the user pastes an xTiles URL instead of guessing which id it contains — the same URL can address a whole page or a single tile depending on its query string. Handles page links (/{viewId}, /doc/{viewId}, /embed/{viewId} — any xTiles domain, public or custom), tile links (?nvi=, ?wfm=, ?scrollTo=) and "copy link" links (/links/{linkId}). The URL is parsed and resolved against your own xTiles content by our API — it is never fetched from the host it names, so this only ever reaches the caller's own xTiles resources. Returns resource_type (what the link turned out to be), the ids it resolved to, and the content of THAT resource — for a tile link, the tile's own markdown, not the whole page. To read the full page a tile belongs to, follow up with xtiles_get_view_content using the returned view_id. A link to a collection card resolves to that card and returns ITS content — a card and a tile are the same item wearing two hats, so the type is TILE. The response states what you may do with the resource; respect it before offering to edit. Leftover tracking parameters (utm_*, im_ref, …) are ignored — paste the link as-is. Errors: 400 the string is not an xTiles link; 422 the link is a recognised shape we cannot resolve yet (public forms, task screens, workspace links); 404 the page or link no longer exists; 403 no access — which is also the answer for an unknown collection row, since telling those two apart would leak whether a private id exists. Report a 403 as "no access, or it no longer exists", not as a definite refusal.
xtiles_get_current_user
ChatGPTGet the profile of the currently authenticated user (id, name, email). Call this when you need to assign tasks to the current user and no explicit assignee was specified.
xtiles_get_docs
ChatGPTFetch an xTiles guide/documentation document by its xtiles://guide/... URI. The same documents are also exposed as MCP resources — use this tool when your client cannot read resources directly. Before generating Markdown for any *_from_markdown tool, read xtiles://guide/markdown/overview (and /canvas, /collections, /blocks) to get the syntax. xtiles://guide/markdown/design holds the colours, styles, layout and tab colours created content takes.
xtiles_get_page_layout
ChatGPTRead the grid layout of an xTiles page (view) by viewId: every tile with its title and grid position (x, y, w, h), plus the grid bounds (max width/height) and minimum tile size. Coordinates use the xTiles grid — (x, y) is the tile’s top-left corner and (w, h) is its size, in grid cells. Use this to inspect tile placement and valid bounds before repositioning with xtiles_set_page_layout.
xtiles_get_planner_content
ChatGPTRead planner content for a given period (day/week/month) anchored on a date. Provide projectId for a project planner, or omit for your personal planner.
xtiles_get_project_content
ChatGPTRead the combined content of a project (concatenated views) with cursor-based pagination. Use start_view_id + limit to page through a large project. Response includes view_ids covered in this page, any inaccessible_view_ids, and next_view_id (pass as start_view_id to fetch the next page; absent when done).
xtiles_get_project_structure
ChatGPTRead the structure of a project's tab bar: every page and group, top to bottom, with their ids. Call this FIRST — every other tool in this group (xtiles_update_page, xtiles_delete_page, xtiles_create_page_group, xtiles_update_page_group, xtiles_delete_page_group, xtiles_move_pages) needs a viewId and/or groupId that only this call gives you. Each entry has kind: "PAGE" (a bare page, with id, title, view_type, color, is_archived) or kind: "GROUP" (a group of pages, with id, title, color, group_type, system, is_archived, and pages). Archived pages/groups (is_archived: true) are listed here too, not filtered out — this is the only way to find one again to unarchive it with xtiles_update_page/xtiles_update_page_group. A group with system: true is product-managed (the planner) — its pages field is OMITTED entirely, not an empty list, and you must never rename it, delete it, or move pages into or out of it. The API refuses such an attempt with a 409, but do not even try: treat every system: true group as read-only and invisible to the write tools in this group. Those omitted pages are planner days, addressed by date instead of by id: read one with xtiles_get_planner_content (period + date + this projectId), write to it with xtiles_create_tiles_from_markdown_in_project_planner.
xtiles_get_task
ChatGPTGet a single task by ID. Provide projectId for project tasks, or omit for personal tasks.
xtiles_get_tile_styles
ChatGPTRead the color styling of every tile on an xTiles page (view) by viewId: each tile with its title, color (palette background color) and color_size (color variant / border style). Both are null when the tile has no palette color. Use this to inspect current colors before recoloring with xtiles_set_tile_styles. It is also where the palette of an existing page is read before adding tiles to it, so the new tiles continue those colours — see xtiles://guide/markdown/design.
xtiles_get_user_timezone
ChatGPTGet the current user's timezone and local datetime. Call this before creating, updating, or filtering tasks by due date — it provides the timezone context needed to interpret relative expressions like "tomorrow", "next Monday", or "end of day" correctly. When resolving future dates use the timezone IANA string, not utc_offset_minutes — the offset may differ for future dates due to DST transitions.
xtiles_get_view_content
ChatGPTRead the content of a specific xTiles view (page) by viewId. For a regular page: returns the title plus markdown body. For a collection (database) page: returns the collection schema — its attributes (columns) with id, title, and type, plus the list of collection views (id, type, title). To fetch the actual rows of a collection, follow up with xtiles_get_collection_content using one of the listed collection view IDs.
xtiles_get_view_content_with_project
ChatGPTDEPRECATED — use xtiles_get_view_content instead (no projectId required). Read the content of a specific xTiles view (page) as a formatted body.
xtiles_get_workflow
ChatGPTFetch the full step-by-step instructions for a pre-built xTiles workflow by id. Discover ids with xtiles_list_workflows first. The returned Markdown is an instruction you MUST follow: execute its steps by calling the relevant xtiles_* tools. If the workflow is recurring (e.g. a daily brief), set up the schedule using your own scheduling capability as the instructions describe — this server does not run schedules itself.
xtiles_list_calendar_events
ChatGPTList events from the Google and Outlook calendars connected to the user's xTiles account. Read-only — events cannot be created, edited or deleted here. With no dates, returns today. An event is returned when ANY part of it falls inside the window, so a meeting running from 23:30 to 00:30 appears on both days — unlike xtiles_list_tasks, where the same parameters match a single due date. An empty list means no events in that window; it does NOT mean the user has no calendar connected, and this tool cannot tell the two apart. Tasks live in xtiles_list_tasks — call both to see a whole day.
xtiles_list_projects
ChatGPTList all workspaces with their projects. Returns workspace names/IDs and the projects inside each. Use this to discover available projectId values for other tools.
xtiles_list_tasks
ChatGPTList tasks with optional filters. Provide projectId to list project tasks, or omit for your personal tasks.
xtiles_list_workflows
ChatGPTList the pre-built xTiles workflows — curated, step-by-step recipes the team has prepared (recurring digests, weekly reviews, briefs, planner/space setup, onboarding, etc.). Call this FIRST — before you start assembling any multi-step process in xTiles by hand — whenever the user wants to set up, automate, schedule, recurring-ly produce, onboard, or "have xTiles do something for them", or asks what xTiles can do automatically. If there is any chance a prepared workflow already covers the request, check here before improvising with individual xtiles_* tools. Returns each workflow id, title, and when to use it — match the request to the closest entry, then call xtiles_get_workflow with that id to get the exact step-by-step instructions to follow. If nothing matches, proceed normally with the other tools.
xtiles_move_pages
ChatGPTMove and/or reorder pages in the tab bar: into a group, out to the top level, or to a new position within their current context. Get view_ids and group_id from xtiles_get_project_structure. Set group_id to a group id to move the pages into that group, or to null to move them to the top level of the tab bar (out of any group). Never target a group whose system flag is true (the planner) — the API refuses it with a 409. Pages already inside a system group cannot be moved at all — the API answers 409. position is OPTIONAL: omit it and the moved pages are appended to the end of the target (the group, or the tab bar when group_id is null) — this is almost always what "add this page to that group" or "move this page out" means, so do not invent a position for those requests. Pass position only when precise placement matters: relative_to_id must be an existing PAGE id (never a group id) and direction is BEFORE or AFTER it. The API answers with no body on success — call xtiles_get_project_structure afterwards if you need to see the resulting tab bar.
xtiles_patch_view_content
ChatGPTEdit a view (page) content via search-and-replace over its markdown representation. Workflow: (1) read the page with xtiles_get_view_content, (2) find the substrings to change, (3) send replacements. All replacements are applied atomically against the original markdown. old_str must match exactly once — if ambiguous, include more surrounding context to make it unique. Supports: editing block text, renaming tiles, deleting blocks/tiles, adding blocks before/after an anchor, compound diffs, and replacing a whole table with a whole table. Tables: to edit a table, put its ENTIRE current markdown in old_str and ONE entire new markdown table in new_str. Partial-table edits, table→paragraph, or table→multiple tables are not supported (409). Returns the updated markdown on success. Errors: 409 patch_match_not_found (old_str not in page), 409 patch_match_not_unique (add more context), 409 patch_unsupported_target (e.g. changing heading level, cross-tile span).
xtiles_reset_tile_styles
ChatGPTClear the palette color (color and color_size) of the listed tiles on an xTiles page (view). Structural style (icon) and any custom workspace color are left unchanged — this manages only the palette color. Returns the resulting full tile-style state.
xtiles_search_projects
ChatGPTFull-text search across projects. Returns matching projects with their views (pages) and highlighted snippets. Use this when the user references a project by name or topic rather than ID.
xtiles_search_users
ChatGPTSearch for users by name or email. Useful for finding user IDs to assign tasks.
xtiles_set_page_description
ChatGPTSet (or clear) the description of an xTiles view (page) by viewId. The description is inline Markdown shown under the page title and may span multiple lines. Provide description text to set and show it; pass an empty string to clear and hide it. Returns the resulting description and whether it is shown.
xtiles_set_page_layout
ChatGPTReposition tiles on an xTiles page (view). Provide viewId and a list of tiles with their new grid positions (x, y, w, h). Only the listed tiles move; the rest keep their current position. Coordinates use the xTiles grid — (x, y) is the top-left corner and (w, h) the size, in grid cells. Out-of-bounds or overlapping positions are rejected. Returns the resulting full layout. Tip: call xtiles_get_page_layout first to get tile IDs and current positions.
xtiles_set_tile_styles
ChatGPTSet the color and/or color_size of one or more tiles on an xTiles page (view). Merges into each tile’s existing style — the tile’s icon and any custom workspace color are preserved. Provide at least one of color/color_size per tile; an omitted field is left unchanged. Returns the resulting full tile-style state. Tip: call xtiles_get_tile_styles first for tile IDs. Which colours, styles, sizes and positions to use: xtiles://guide/markdown/design.
xtiles_structure_information
ChatGPTCreate a virtual xTiles project from unstructured information. The input is processed by the internal AI, which structures it into a visual project layout, and a shareable URL to that project is returned. Use this when the user has loose content (notes, ideas, a topic, pasted text) and wants it organised into an xTiles project they can open and share, without picking a workspace or creating views manually.
xtiles_update_page
ChatGPTUpdate a page in the project's tab bar — rename it, recolour it and/or archive it: provide title, color, is_archived, or any combination. Get viewId from xtiles_get_project_structure. Only pages listed by xtiles_get_project_structure are valid here. A planner day is not one of them: the API answers 404 for a page in another project and 409 for one inside this project’s planner. Read a planner day with xtiles_get_planner_content and write to it with xtiles_create_tiles_from_markdown_in_project_planner. The API answers with no body on success, so there is nothing to return beyond confirmation.
xtiles_update_page_group
ChatGPTUpdate a page group in the tab bar — rename it, recolour it and/or archive it: provide title, color, is_archived, or any combination. Archiving a group archives it and its pages together. Get groupId from xtiles_get_project_structure. Never target a group whose system flag is true (the planner) — the API refuses it with a 409, and it should not be attempted. The API answers with no body on success, so there is nothing to return beyond confirmation.
xtiles_update_task
ChatGPTUpdate an existing task. Provide projectId for project tasks, or omit for personal tasks. Only specified fields will be updated.
xtiles_create_project_from_markdown
Claudextiles_create_tasks
Claudextiles_create_tiles_from_markdown_by_view
Claudextiles_create_tiles_from_markdown_in_my_planner
Claudextiles_create_tiles_from_markdown_in_project_planner
Claudextiles_create_tiles_from_markdown_in_view
Claudextiles_create_view_from_markdown
Claudextiles_delete_tasks
Claudextiles_get_collection_content
Claudextiles_get_current_user
Claudextiles_get_docs
Claudextiles_get_page_layout
Claudextiles_get_planner_content
Claudextiles_get_project_content
Claudextiles_get_task
Claudextiles_get_tile_styles
Claudextiles_get_user_timezone
Claudextiles_get_view_content
Claudextiles_get_view_content_with_project
Claudextiles_get_workflow
Claudextiles_list_projects
Claudextiles_list_tasks
Claudextiles_list_workflows
Claudextiles_reset_tile_styles
Claudextiles_search_projects
Claudextiles_search_users
Claudextiles_set_tile_styles
Claudextiles_update_task
Claude